Консультация № 161198
23.02.2009, 16:00
0.00 руб.
0 5 1
Доброе время суток, Уважаемые Эксперты!
Помогите пожалуйста решить задачку. Есть много идей, но не могу собрать всё воедино. Надеюсь, вы поможете.
Задача: Сгенерировать 2 целочисленные матрицы, размерностью mxn. Сложить их и в полученной матрице нечётные значения записать с минусом, а чётные с плюсом.

Обсуждение

давно
Профессор
401888
1232
23.02.2009, 16:18
общий
это ответ
Здравствуйте, Ekaterina!
Если првильно понял условие, то так. См. приложение.

Приложение:
uses crt;
const m=5;{размер матриц}
n=6;
var a,b,c:array[1..m,1..n] of integer;{тип матриц}
i,j:integer;
begin
clrscr;
randomize;
writeln('Matrica A:');
for i:=1 to m do {сгенерируем и выведем матрису А}
begin
for j:=1 to n do
begin
a[i,j]:=random(20)-9;
write(a[i,j]:4);
end;
writeln;
end;
writeln('Matrica B:');
for i:=1 to m do{сгенерируем и выведем матрису В}
begin
for j:=1 to n do
begin
b[i,j]:=random(20)-9;
write(b[i,j]:4);
end;
writeln;
end;
writeln('Matrica C=A+B:');
for i:=1 to m do
begin
for j:=1 to n do
begin
c[i,j]:=a[i,j]+b[i,j];{сложим матрицы}
write(c[i,j]:4);
end;
writeln;
end;
writeln('Izmenennaya matrica C:');
for i:=1 to m do
begin
for j:=1 to n do
begin
{нечетные положительные превратим в отрицательные, а четные отрицательные-в положительные}
if (c[i,j]>0)and(c[i,j] mod 2<>0) then c[i,j]:=-c[i,j]
else if (c[i,j]<0)and(c[i,j] mod 2=0) then c[i,j]:=-c[i,j];
write(c[i,j]:4);
end;
writeln;
end;
readln
end.
давно
Профессор
401888
1232
23.02.2009, 16:53
общий
Если Вам нужно с процедурами, нет проблем, переделаем.
Неизвестный
23.02.2009, 17:27
общий
Я думаю не обязательно...Единственное что, размерность матриц произвольная - вводится пользователем с клавиатуры)
давно
Старший Модератор
31795
6196
23.02.2009, 20:49
общий
Ekaterina:
Единственное что, размерность матриц произвольная - вводится пользователем с клавиатуры

Тогда в код, который предложил Вам Юрий Борисович нужно дополнить такими строками:
repeat
write('Enter M:');
readln(m0);
until (m0>0)and(m0<=m));

Это позволяет Вам контролировать ввод пользователя и корректную работу программы, для константы n нужно всё делать аналогично и сам рамер констант нужно увеличить.

Цитата: из комметария к оценке
Я, например, мучила процедуры и в конец запуталась))

Жаль Вы не показали Ваш код, там где Вы запутались. Вам бы точно подсказали где Вы запутались и как выплутатся.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
25.02.2009, 19:51
общий
мне новое задание дали)теперь его мучать буду...
спасибо всем за помощь)
Форма ответа