Помощь - Поиск - Пользователи - Календарь
Полная версия: Операции над двумерным массивом.
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
nadja yak
привет всем!!
дан двумерный массив в нем поменять четные числа на 0.
вот набросила код
код рабочий
однако небольшой косяк. Вместе с исходной матрицей паскаль распечатывает новую матрицу, ОДНАКО в новой матрице только заменившиеся нулями четные числа. КУДА ДЕЛИСЬ НЕЧЕТНЫЕ?? как их вернуть? wink.gif

program ss;
uses crt;
const n=5;m=5;
var a: array[1..n,1..m] of integer;
i,j:integer;
begin
clrscr;
randomize;
for i:=1 to n do
begin
for j:=1 to m do
begin a[i,j]:=random(10);
write(a[i,j]:3);
end;
writeln
end;
writeln;
for i:=1 to n do
begin
for j:=1 to m do
if a[i,j] mod 2=0 then begin
a[i,j]:=0;
write(a[i,j]:3);
end;
writeln;
end;
readln
end.

НИЖЕ ПРЕДСТАВЛЮ СКРИН КОСЯКА!

М
Теги! Првила Форума, п.5, и правила раздела Задачи, п.2
Исправил..


М
Название! Правила Форума, п.4, и правила раздела Задачи, п.1.
Исправил..

Lapp
Цитата(nadja yak @ 11.04.2011 12:56) *
НИЖЕ ПРЕДСТАВЛЮ СКРИН КОСЯКА!
только не надо кричать.. (правила Форума, п.6)

Вынеси печать элементов за пределы оператора if
Вот так:
program ss;
uses crt;
const
n=5;
m=5;

var
a: array[1..n,1..m] of integer;
i,j:integer;

begin
randomize;
for i:=1 to n do begin
for j:=1 to m do begin
a[i,j]:=random(10);
write(a[i,j]:3);
end;
writeln
end;
writeln;
for i:=1 to n do begin
for j:=1 to m do begin
if a[i,j] mod 2=0 then a[i,j]:=0;
write(a[i,j]:3);
end;
writeln;
end;
readln
end.

Обрати внимание, что, если код форматированный, то заметить такую ошибку гораздо проще yes2.gif.
nadja yak
спасибо огромное! yes2.gif очень хороший у вас форум. радует)
Lapp
Цитата(nadja yak @ 11.04.2011 13:40) *
спасибо огромное! yes2.gif очень хороший у вас форум. радует)

вух!! как приятно.. ))
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.