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.
Ошибок тут больше одной. Во-первых, в операторе вывода стоит вызов функции 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
Оформи подписку