Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2014, 10:36   #1
Воробушек
 
Аватар для Воробушек
 
Регистрация: 13.11.2014
Сообщений: 9
По умолчанию Двумерный массив

Дана матрица 3*3. Найти в каждом столбце произведение отрицательных элементов. Если произведение меньше 10, то последний элемент каждого столбца заменить на минимум, найденной в каждом столбце.

помогите пожалуйста

Последний раз редактировалось Воробушек; 13.11.2014 в 10:46.
Воробушек вне форума Ответить с цитированием
Старый 13.11.2014, 11:35   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ввод матрицы написать сможешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.11.2014, 13:45   #3
Воробушек
 
Аватар для Воробушек
 
Регистрация: 13.11.2014
Сообщений: 9
По умолчанию

Код:
Program pr 1;
uses crt;
const n=3;m=3;
var a:array[1..n,1..m] of integer;
i,j,P,min,inomer:integer;
begin writeln('введи матрицу');
for j:= 1 to m do
for i:=1 to n do readln(a[i,j]);
writeln('исходная матрица:');
for j:= 1 to m do begin
for i:=1 to n do write(a[i,j]);
writeln;
end;
for j:=1 to m do begin
P:=1;min:=a[i,1];
inomer:=1;
for i:=1 to n do begin
if a[i,j]<0 then
P:=P*a[i,j]
if a[i,j]>min then begin
min:=a[i,j];
inomer:=j;end;
end;
if P<10 then
a[i,n]:=a[j,inomer];
end;
writeln('измененная матрица');
for i:=1 to n do begin
for j:=1 to m do write(a[i,j]);
writeln;
end;
end.
я вот сделала, но в некоторых местах есть ошибки.только где я не знаю, точнее не могу найти.

Последний раз редактировалось Stilet; 13.11.2014 в 13:58.
Воробушек вне форума Ответить с цитированием
Старый 13.11.2014, 14:09   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ясненько. Вот мое видение:
Код:
Program pr 1;
uses crt;
const n=3;m=3;
var a:array[1..n+2,1..m] of integer;
i,j,P,min,inomer:integer;
begin writeln('введи матрицу');
for i:= 1 to n-2 do begin
 for j:=1 to m do begin
   readln(a[i,j]); 
{Находим сразу минимумы и произведения из столбцов и запоминаем их}
   if j=1 then a[n,j]=a[i,j] else   a[n,j]:=a[n,j]*a[i,j];
   if(a[n-1,j]<a[i,j]) then a[n-1,j]:=a[i,j] ;
 end;
end;

writeln('исходная матрица:');
for i:= 1 to n-2 do begin for j:=1 to m do write(a[i,j]);writeln;end;

{Если произведения более 10 производим замену}
for i:=1 to m do if a[n,i]>10 then a[n-2,j]:=a[n-1,i];

writeln('измененная матрица');
for i:= 1 to n-2 do begin for j:=1 to m do write(a[i,j]);writeln;end;

readln;
end.
Идея надеюсь понятна?
Писал не проверяя.
I'm learning to live...

Последний раз редактировалось Stilet; 13.11.2014 в 14:13.
Stilet вне форума Ответить с цитированием
Старый 13.11.2014, 14:32   #5
Воробушек
 
Аватар для Воробушек
 
Регистрация: 13.11.2014
Сообщений: 9
По умолчанию

идея понятна.спасибо большое=))
for i:= 1 to n-2 do begin только вот здесь почему n-2, а не просто n???
Воробушек вне форума Ответить с цитированием
Старый 13.11.2014, 15:09   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да. Потому что я добавил к матрице еще две строки. предпоследняя для произведений столбцов, последняя для минимумов.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.11.2014, 15:17   #7
Воробушек
 
Аватар для Воробушек
 
Регистрация: 13.11.2014
Сообщений: 9
По умолчанию

понятненько=)
Воробушек вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование в VBA: двумерный массив M на N, нужно создать новый одномерный массив TheAnnihilyator Помощь студентам 1 04.06.2014 09:16
Java: Дан двумерный массив чисел А размером 6х6 и одномерный массив Х из 6-ти чисел. Заменить первые три строки массива A vikysha55 Помощь студентам 1 16.04.2014 10:50
Двумерный массив развернуть в одномерный массив по строкам[QBASIC] TrueStyle777 Помощь студентам 3 29.05.2013 21:56
Одномерный массив и Двумерный массив eugene1437 Общие вопросы C/C++ 15 25.05.2011 19:17
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40