a:=20 - в переменную a записывается значение 20 b:=а/4-2 в переменную b записывается значение 20/4-2=5-2=3 а:=а-b*3 в переменную а записывается значение 20-3*3=20-9=11 ответ: 11
var a: array[1..n1, 1..m1] of integer; b: array[1..m1] of integer; i, j, m, n: integer;
begin Write('Введите через пробел число строк и столбцов массива: '); Readln(n, m); Randomize; Writeln('Исходный массив'); for i := 1 to n do begin for j := 1 to m do begin a[i, j] := Random(101) - 50; Write(a[i, j]:4) end; Writeln end; Writeln('Сформированный массив'); for j := 1 to m do begin i := 1; while (i <= n) and (a[i, j] >= 0) do i := i + 1; if i <= n then b[j] := a[i, j] else b[j] := -99; Write(b[j]:4) end; Writeln end.
В Вашем варианте после while необходимо писать begin, а после Writeln - end. Но само по себе решение некрасивое. Вот Вам еще два на выбор.
1. Без массива
var s,n:integer; begin Write('Введите сумму: '); Read(s); n:=s div 5000; if n>0 then begin Writeln('Банкнот "5000" всего: ',n); s:=s mod 5000 end; n:=s div 1000; if n>0 then begin Writeln('Банкнот "1000" всего: ',n); s:=s mod 1000 end; n:=s div 500; if n>0 then begin Writeln('Банкнот "500" всего: ',n); s:=s mod 500 end; n:=s div 100; if n>0 then begin Writeln('Банкнот "100" всего: ',n); s:=s mod 100 end; n:=s div 50; if n>0 then begin Writeln('Банкнот "50" всего: ',n); s:=s mod 50 end; n:=s div 10; if n>0 then begin Writeln('Банкнот "10" всего: ',n); s:=s mod 10 end; if s>0 then Writeln('Недоплачено: ',s) end.
const k:array[1..6] of integer=(5000,1000,500,100,50,10); var s,n,i:integer; begin Write('Введите сумму: '); Read(s); for i:=1 to 6 do begin n:=s div k[i]; if n>0 then begin Writeln('Банкнот "',k[i],'" всего: ',n); s:=s mod k[i] end end; if s>0 then Writeln('Недоплачено: ',s) end.
b:=а/4-2 в переменную b записывается значение 20/4-2=5-2=3
а:=а-b*3 в переменную а записывается значение 20-3*3=20-9=11
ответ: 11