Другие языки программирования и технологии
Пожалуйста помогите по паскалю!!!
В одномерном массиве определить количество ненулевых элементов 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.
Условие: В одномерном массиве найти сумму положительных элементов с четными индексами
Решение:
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.
Ты в разделе
VAR a:array[1..100,1..100] of integer;
объявил двумерный массив и работаешь с двумерным массивом.
Прежде чем считать количество, переменную k обнули, т. е. k :=0;
VAR a:array[1..100,1..100] of integer;
объявил двумерный массив и работаешь с двумерным массивом.
Прежде чем считать количество, переменную k обнули, т. е. k :=0;
у переменной k нет начального значения
Ну во первых сотрю на начало, и Вы вводите двумерый масив
Похожие вопросы
- Пожалуйста! Помогите с Паскалем! Обещаю 10 баллов!
- пожалуйста помогите с паскалем)))
- Помогите с паскалем пожалуйста!!!!
- Помогите с паскалем
- Сделайте пожалуйста программу на Паскале. Заранее спасибо!!!!
- Ааааа....помогите с Паскалем (Pascal)!!!!Срочно!!!!
- помогите с паскалем!!! ужас а не задание!!
- Помогите с Паскалем
- Помогите с паскалем. Помогите написать программу переводящую из 10-ой в 16-ую систему счисления на паскале
- Помогите с паскалем!