Консультация № 136980
15.05.2008, 18:52
0.00 руб.
0 2 2
В одномерном массиве заменить элементы средним арифметическим соседних элементов. Первый и последний элементы оставить без изменения.
Характеристикой строки целочисленной матрицы назовем сумму ее положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик

Обсуждение

Неизвестный
15.05.2008, 20:32
общий
это ответ
Здравствуйте, Raevil!
Задача в приложении.
Удачи!!!

Приложение:
const {Размер массива} N=10;var {Исходный массив} a: array [1..N] of integer; {Результат} b: array [1..N] of real; {Счетчик для For} i: integer;begin Write(‘Исходный массив: ‘); {Включаем генератор случайных чисел} randomize; {проходим по всему массиву для того чтобы заполнить его случайными числами} for i:=1 to N do begin {тек. эл. присваиваем случайное число из диапазона [-10; 9]} a[i]:=random(20)-10; {выводим его} write(a[i]:4); end; {Начинаем новую строку} writeln; write(‘Новый массив: ‘); {Первый эл. без изменений} b[1]:=a[1]; {Выводим его} write(b[1]:0:2, ‘ ‘); {Последний тоже без изменений} b[N]:=a[N]; {Проходим по массиву кроме первого и последнего элемента} for i:=2 to N-1 do begin {присваиваем текущему элементу среднее арифметическое} b[i]:=(a[i-1]+a[i+1])/2; {и выводим его} write(b[i]:0:2, ‘ ‘); end; {Выводим последний} write(b[n]:0:2); readln;end.
давно
Профессор
401888
1232
16.05.2008, 14:46
общий
это ответ
Здравствуйте, Raevil!
Решение второй задачи с пояснениями в приложении.

Приложение:
uses crt;var a:array[1..20,1..20]of integer;{матрица} sum:array[1..20]of integer; {масив сумм} n,m,i,j,k,x:integer;beginclrscr;write(‘Kolichestvo strok= ‘);readln(n);write(‘Kolichestvo stolbcov= ‘);readln(m);randomize;Writeln(‘Matrica:‘);{sozdanie i vyvod }for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(10)-2; write(a[i,j]:4); end; writeln; end;readln;{podschet summ po strokam}for i:=1 to n do begin sum[i]:=0; for j:=1 to m do if(a[i,j]>0)and(a[i,j] mod 2=0) then begin sum[i]:=sum[i]+a[i,j]; end; end;{vstavka summy pervym stolbcom}for i:=1 to n do begin for j:=m downto 1 do {сдвигаем все столбцы на 1 впрво} a[i,j+1]:=a[i,j]; a[i,1]:=sum[i]; {вместо первого столбца вставляем суммы по строкам} end;{sortirovka strok po vozrastaniu v pervom stolbce}for i:=1 to n-1 dofor k:=1 to n-1 doif a[k,1]>a[k+1,1] then {если в первом столбце возрастание} begin for j:=1 to m+1 do begin x:=a[k,j]; a[k,j]:=a[k+1,j]; {то переставляем во всех столбцах} a[k+1,j]:=x; end; end;{vyvod rezultata}writeln(‘Rezultat:‘);for i:=1 to n do begin for j:=2 to m+1 do {выводим со сдвигом на 1 вправо} write(a[i,j]:4); writeln; end;readlnend.
Форма ответа