М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
alishertursunov
alishertursunov
17.07.2020 10:12 •  Информатика

Программа нужна на C++, без использования string. Если получится написать код максимально кратко, буду благодарен вдвойне.

Дано предложение. Напечатать все его слова, предварительно преобразовав каждое из них по следующему правилу:

в самом длинном слове удалить среднюю (средние) буквы. Принять, что такое слово — единственное.
В задаче принять, что: в рассматриваемом предложении нет начальных и конечных пробелов и символов "-"; количество слов в предложении не превышает 10.

👇
Ответ:
Babetta51
Babetta51
17.07.2020

#include <iostream>

#include <cstring>

#include <list>

using namespace std;

char* delItem(char* str, size_t n)

{

 int len = strlen(str)-n;

 if(len>0)

   memmove(str+n, str+n+1, len);

 return str;

}

int main()

{  

   list <char*> words;

   int maxL = 0;

   char st[] = "fdfd hgf jhgf.jhgf,jytf juyhg1fhgft jhgf hgfhgfh hgfhgf";

   char razd[] = " ,.";

   for (char *p = strtok(st, razd); p != NULL; p = strtok(NULL, razd))

   {

     words.push_back(p);

     if(maxL < strlen(p))

       maxL = strlen(p);

   }

   

   for (char* n : words)

   {

       if(strlen(n) == maxL)

       {

           if(strlen(n)%2 == 0)

           {

               int delIndex = strlen(n)/2-1;

               for(int i=0; i<2; i++)

                   n = delItem(n,delIndex);

           }

           else

           {

               n=delItem(n,int(strlen(n)/2));

           }

       }

       cout<<n<<endl;

   }

   system("PAUSE");

}

Объяснение:


Программа нужна на C++, без использования string. Если получится написать код максимально кратко, бу
4,5(9 оценок)
Открыть все ответы
Ответ:
Alexkusaiko
Alexkusaiko
17.07.2020

Первое задание:

1) 3

2) 6

3) 5

Второе задание:

1) 1

2) 3

Третие:

//Язык программирования java

package com.niksonbinsk;

import java.util.ArrayList;

import java.util.Scanner;

public class Main {

   public static void main(String[] args) {

       int space_left = 0;

       int count = 0;

       Scanner s = new Scanner(System.in);

       ArrayList<Integer> str = new ArrayList<>();

       while(space_left != 30){

           System.out.println("Enter next num:");

           str.add(s.nextInt());

           space_left++;

       }

       for(int i =0;i<30;i++){

           if(str.get(i) % 2 == 0){

               count++;

           }

       }

       System.out.println(count);

   }

}

Объяснение:

4,6(86 оценок)
Ответ:
dimar3256
dimar3256
17.07.2020

// Программы на писаны на PascalABC.NET

// 7.6:

var

 number: integer;

Begin

 For number := 1000 to 9999 do

   if ((number mod 133 = 125) and (number mod 134 = 111)) then

     WriteLn(number);

End.

// Нашлось одно единственное число: 1987

___________________________

// 7.7

var

 Sum, a, b, c, count: integer;

Begin

 count := 0;

 

 // Число 500 не проверяется, т.к. очевидно, что 5 + 0 + 0 != 15

 For a := 1 to 4 do

    For b := 0 to 9 do

      For c := 0 to 9 do

      begin

        Sum := a + b + c;

       

        if (15 = Sum) then

          count := count + 1;

      end;

 

  WriteLn('Кол-во искомых чисел: ', count);

End.

// Кол-во искомых чисел: 26


Сделайте 7.6, 7,7 блок схемой
Сделайте 7.6, 7,7 блок схемой
4,6(42 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ