![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Помогите пожалуйста решить задачи, а то я не понимаю=(
1 задача: В одномерном массиве состоящем из целочисленных элементов вычислить?: 1) Номер максимального элемента массива 2) Произведение элементов массива, расположенных между первым и вторым нулевыми элементами. 3) Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в нечётных позициях, а во втрой половине элементы стоявшие в чётных позициях. Первые два пункта работают, не знаю что делать с третьим. Вот код: Код:
program Project1; {$APPTYPE CONSOLE} uses SysUtils; var a:array[1..10] of integer; {Массив} b:array[1..10] of integer; left, right, rez: integer; i,j,max:integer; begin { TODO -oUser -cConsole Main : Insert code here } for i:=1 to 10 do begin write('a[',i,']='); readln(a[i]); end; max:=a[1]; for i:=2 to 10 do if a[i]>max then max:=a[i]; write('maximalnii element=',max); readln; begin rez := 1; Write('Proizvedenie mezdu nuliami='); Write; for i:= 1 to 10 do if a[i]=0 then begin left:=i; Break; end; for i:= left+1 to 10 do if a[i]=0 then begin right:= i; Break; end; for i:=left+1 to right-1 do rez:= rez*a[i]; end; Write(rez); Readln; begin for j:=1 to 10 do begin write('b[',j,']='); readln(b[j]); end; if (j mod 2)=0 then begin right:=j; if (j mod 2)<>0 then begin left:=j; end; readln; end; end; end. 1)Для заданной матрицы размером 8x8 найти такие k, что k-ая строка матрицы совпадает с k-ым столбцом(Оформить ввиде процедуры) 2)Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент(оформить ввиде функции) Мой код: Код:
program Project2; {$APPTYPE CONSOLE} uses SysUtils; var a:array[1..8,1..8] of integer; i,j:integer; procedure sravnenie; var si,sj:string; begin si:=''; sj:=''; for i:=1 to 3 do begin for j:=1 to 3 do begin sj:=sj+IntToStr(a[i,j]); si:=si+IntToStr(a[i,j]); end; end; end; function summa:integer; var h:integer; begin result:=0; h:=0; for i:=1 to 3 do begin for j:=1 to 3 do begin if a[i,j]<0 then h:=1; end; if h=1 then begin for j:=1 to 3 do begin h:=a[i,j]; result:=result+h; end; h:=0; end; end; end; begin for i:=1 to 3 do for j:=1 to 3 do begin write('a[',i,',',j,']='); readln(a[i,j]); end; end. Заранее спасибо. Последний раз редактировалось Admin, 02.06.2010 в 11:46. |