В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
ІнкСанс
ІнкСанс
25.04.2020 05:48 •  Информатика

Программный код, который сравнивает длины двух встроенных строк написать.​

Показать ответ
Ответ:
fedia24
fedia24
31.03.2023 08:37
Из условия нам известно, что ввод завершается числом ноль. Информация о количестве чисел требуется только если их запоминать в массиве, но у нас однопроходный алгоритм, массив не нужен, поэтому про "1000 чисел" благополучно забываем. Числа целые, и по модулю не превышают 30 000, следовательно им надо отводить двухбайтный тип integer, в в котором диапазон представления чисел [-32 768 ; 32 767].
"Нечетные числа, кратные трем" - это такие, у которых остаток от деления на два ненулевой, а остаток от деления на три нулевой. Поскольку числа целые, то и деление, конечно же, целочисленное.
Длина последовательности n - это просто счетчик количества прохождений цикла за вычетом единицы, потому что последний проход по циклу будет при вводе нуля, а его учитывать не надо. В другом счетчике k мы накапливаем количество чисел, для которых выполнилось рассмотренное выше условие "нечетные числа, кратные трем".

var
  n,k,m: integer;
begin
  Writeln('Вводите целые числа, для окончания введите 0');
  n:=0; k:=0;
  repeat
    Read(m); Inc(n);
    if (m mod 2 <> 0) and (m mod 3 = 0) then Inc(k)
  until m=0;
  Writeln('Введено чисел- ',n-1);
  Writeln('Нечетных, кратных трем- ',k)
end.

Тестовое решение:
Вводите целые числа, для окончания введите 0
-5
12
8
27
-18
14
-33
7
0
Введено чисел- 8
Нечетных, кратных трем- 2
0,0(0 оценок)
Ответ:
Gulya55555
Gulya55555
17.11.2020 16:31
Const
n=5;m=7;
var
a:array[1..n,1..m]of integer;
b:array[1..n*m]of integer;
i,j,buf,k:integer;
     begin     
          for i:=1 to n do         
              begin             
                 for j:=1 to m do                 
                    begin                     
                          a[i,j]:=random(100);                     
                          write(a[i,j]:4);                       
                          k:=k+1;                       
                          b[k]:=a[i,j];                 
                   end;
        writeln;         
     end;
writeln;     
      for i:=1 to n*m-1 do         
         for j:=i+1 to n*m do
             if b[i]>b[j] then               
                begin  
                    buf:=b[i];                   
                    b[i]:=b[j];                   
                    b[j]:=buf;             
                end;               
     for i:=1 to m*n do                   
       write(b[i]:4);
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота