alpengold1310
31.05.2020 13:28

Составить программу, которая в последовательности натуральных чисел будет подсчитывать количество двузначных чисел. Количество чисел в последовательности заранее неизвестно. Последовательность заканчивается,если введено число 0. Использовать операторы repeat-until.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
petechkapeshko
30.05.2022 21:00
Const
  n = 5;

var
  a: array[1..n, 1..n] of integer;
  i, j, m, nmax, nmin, jmax, jmin: integer;

begin
  Randomize;
  writeln('Исходный массив');
  for i := 1 to n do
  begin
    nmax := -100;
    nmin := 100;
    for j := 1 to n do
    begin
      a[i, j] := Random(24) - 8;
      if nmax < a[i, j] then
      begin
        nmax := a[i, j];
        jmax := j
      end;
      if nmin > a[i, j] then
      begin
        nmin := a[i, j];
        jmin := j
      end;
      write(a[i, j]:4)
    end;
    writeln;
    a[i, jmax] := nmin;
    a[i, jmin] := nmax
  end;
  writeln(#13#10, 'Результирующий массив');
  for i := 1 to n do
  begin
    for j := 1 to n do write(a[i, j]:4);
    writeln
  end
end.

Тестовое решение:

Исходный массив
  -4   8   3   7   5
  -7  -7   1   8   0
  14   0   0   1  -1
  14   7  -5  -1  14
   7   6   1  -6  14

Результирующий массив
   8  -4   3   7   5
   8  -7   1  -7   0
  -1   0   0   1  14
  -5   7  14  -1  14
   7   6   1  14  -6
0,0(0 оценок)
Ответ:
madishalabaev
20.02.2023 20:47
Ошибок тут больше одной.
Во-первых, в операторе вывода стоит вызов функции ups, которой в качестве второго аргумента передается неизвестная переменная a. Если имелся в виду символ "а", его надо было заключить в одинарные кавычки.
Во-вторых, в теле функции ups определяется значение n в цикле. Даже, если искомый символ найден и n получит значение позиции этого символа в слове, то если слово просмотрено не полностью, следующий же проход по циклу снова сбросит n в ноль. Следовательно, эта функция будет выдавать верный результат только если искомая буква - последняя в слове.

var
  slovo: string;
  i: integer;

function ups(var s: string; ch: char): integer;
var
  i, n: integer;
begin
  i:=1;
  n:=0;
  while (i<=length(s)) and (n=0) do
    begin
    if s[i] = ch then n := i;
    i:=i+1
    end;
  ups:=n
end;

begin
  writeln('vvedite slovo');
  readln(slovo); writeln('N = ', ups(slovo, 'a'));
end.

Замечание: в языке Паскаль имеется функция Pos, производящая поиск подстроки в строке...
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота