Программка в Паскале
|
|
Задача: составьте программу нахождения наибольшего среди тех элементов одновременного массива А(N) что лежат в интервале (C,D) var N:byte; A:array[1..10] of integer; C,D,X,y,h: integer; Begin For N:= 1 to 10 do readln(a[N]); writeln('vvedite dva chisla'); readln (C,d); If C<D then x:=c else y:=c; If D<C then x:=D else y:=D; h:=A[1]; for N:= 1 to 10 do If(A[N]>x) or (A[N]<y) and (A[n]>h) then h:=A[N]; writeln ('otvet ', h) end.
В чем ошибка данной программы? Объясните, что делает каждый массив. А другую программку я составить вообще не сумел: Составить программу подсчета отрицательных элементов двухмерного массива A(N,M) кратных 3
|
|
|
Держи)
var i,n,c,d,a,p:integer; begin readln(n); read(c,d); for i:=1 to n do begin read(a); if (a>=c)and(a<=d) then if a>p then p:=a;end; writeln(p); end.
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
А вторую программку: Составить программу подсчета отрицательных элементов двухмерного массива A(N,M) кратных 3
|
|
|
var a:array[1..100,1..100]of integer; i,j,n,m,s,q:integer; begin read(n,m); s:=0;q:=0; for i:=1 to n do for j:=1 to m do begin read(a[i,j]); if a[i,j]<0 then if a[i,j]mod 3=0 then begin s:=s+a[i,j];q:=q+1;end;end; writeln('summa otricatel`nuh 4isel = ',s); write('kol-vo otricatel`nuh 4usel = ',q); end.
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Мне нужно только 10 чисел, значит нужно a:array[1..10,1..10]of integer; или нет?
|
|
|
Проще будет так даже: Если за ранее не известно кол-во строк и столбцов, то нужно добавить переменные n и m. Вот даже немного переделаный мой предыдущий код
var a,i,j,s,q:integer; begin s:=0;q:=0; for i:=1 to 10 do for j:=1 to 10 do begin read(a); if a<0 then if a mod 3=0 then begin s:=s+a;q:=q+1;end;end; writeln('summa otricatel`nuh 4isel = ',s); write('kol-vo otricatel`nuh 4usel = ',q); end.
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
А сколько оно чисел будет запрашивать?
|
|
|
В последнем коде который я написал - числа запрашивать не будет, ты ведь сам сказал, что тебе нужно 10 чисел.. Если нужно что-бы числа запрашиало, то добавь в переменные ещё n,m и поменяй немного цикл:
read(n,m); for i:=1 to n do for j:=1 to m do begin
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|