Другие языки программирования и технологии

Помогите с паскалем

помогите пожалуйста написать 2 проги 1) В одномерном массиве, состоящем из n целых элементов, вычислить сумму модулей всех элементов, расположенных после первого элемента, равного нулю. Преобразовать массив так, чтобы в первой его половине располагались элементы, стоявшие в нечетных позициях, а во второй - элементы, стоявшие в четных позициях. Вывести на экран исходный и преобразованный массивы, а также результаты расчета. 2) Дана вещественная матрица A (m,n). Составьте программу для подсчета количество “особых” элементов массива A, считая его элемент особым, если он больше суммы остальных элементов столбца. заранее спасибо)))
Shukhrat Khaitbaev
Shukhrat Khaitbaev
230
1)
var
n, i, k, s : integer;
a:array [ 1..100 ] of integer;
b,c: array[ 1..50 ] of integer;
begin
write(' n= ');
readln ( n );
randomize;
writeln (' massiv A ');
for i := 1 to n do
begin
a [ i ]:= random (10)-5;
write ( a [ i ] : 3,' ');
end;
writeln;
k : = n;
i : = 1;
while (i < = n) do
begin
if a [ i ]=0 then
begin
k : = i + 1; i : = n;
end;
i := i +1;
end;
s : =0;

if k < n then
begin
for i := k to n do
s:= s + abs(a[ i ]);
end;
k := n div 2;
writeln ('massiv b');
for i := 1 to k do
begin
b[ i ]:= a[ 2*i - 1];
write (b [ i ] :3,' ');
end;
writeln;
writeln (' massiv c ');
for i :=1 to k do
begin
c [ i ]:= a[ 2*i ];
write( c[ i ] : 3,' ');
end;
writeln;
writeln (' s= ', s :5);
readln;
end.
Мурат Султаналиев
Мурат Султаналиев
9 027
Лучший ответ
2) var Count: word = 0;
i,j,sum: integer;
...
for j := 1 to n do begin
sum := 0; for i := 1 to m do inc(sum,A[i,j]);
for i := 1 to m do if 2*A[i,j] > sum then inc(Count);
end;

1) var Sum: cardinal = 0;
flag: boolean = false;
i: integer;
B: ^(тип массива) ;
...
for i := 1 to n do begin
write(A,' ');
if A = 0 then flag := true;
if flag then inc(Sum,abs(A));
end;
write('Sum resulted ',Sum);
new(B);
for i := 1 to n do
if i mod 2 = 0 then B^[(n+i) div 2] := A else B^[i div 2 + 1] := A;
A := B^; Dispose(B);
for i := 1 to n do write(A, ' ');
Решение 1), скорее всего, не лучшее -- не обошлись без дополнительного массива. 2) сойдёт.
P. S. Идиотский HTML, исправляет код как захочет.