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

Пожалуйста помогите по паскалю!!!

В одномерном массиве определить количество ненулевых элементов uses crt; var a:array[1..100,1..100] of integer; i,j,m,n,k:integer; b:array[1..100] of integer; begin clrscr; write('Введите количество строк='); readln(n); write('Введите количество столбцов='); readln(m); writeln('Исходная матрица'); randomize; for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(51)-10; if (a[i,j]<>0) then k:=k+1; write(a[i,j]:3); end; writeln; end; writeln('Массив из количества ненулевых'); for i:=1 to k do begin b:=random(51)-10; write(b:3); end; readln end. Что я неправильно сделал????
Алгоритм - 2 минуты, реализация - 5 минут)) ) Такие легкие задачи и не уметь решать. .

Условие: В одномерном массиве найти сумму положительных элементов с четными индексами

Решение:

uses
crt;

const
size = 10;

type
a = array[1.. size] of byte;

var
m: a;
t, q: byte;

procedure generation(var b: a; n: byte);

var
i: byte;
begin
randomize;
for i := 1 to n do
b := random(20) + 1;
end;

procedure print(var b: a; n: byte);

var
i: integer;
begin
for i := 1 to n do
write(b:4);
writeln;
end;

function sum(var b: a; n: byte): byte;
var
i, s: byte;
begin
for i := 1 to n do
if (i mod 2 = 0) and (b > 0) then
s := s + b;
sum := s;
end;

begin
textbackground(blue);
textcolor(white);
clrscr;
writeln('*** Введите размер массива ***');
readln(t);
generation(m, t);
writeln('*** Массив сгенерирован ***');
print(m, t);
writeln('*** Сумма элементов > 0 с четными индексами ***');
q := sum(m, t);
writeln('*** Сумма = ', q, ' ***');
readln;
end.
Алексей А
Алексей А
387
Лучший ответ
Ты в разделе
VAR a:array[1..100,1..100] of integer;
объявил двумерный массив и работаешь с двумерным массивом.
Прежде чем считать количество, переменную k обнули, т. е. k :=0;
у переменной k нет начального значения
MA
Miras Ashen
8 393
Ну во первых сотрю на начало, и Вы вводите двумерый масив