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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2010, 21:25   #1
Egorka_93
Новичок
Джуниор
 
Регистрация: 11.12.2010
Сообщений: 5
Печаль Матрицы, Паскаль, написать прогу.

Задача такова (написать в Паскале):
Дана матрица А порядка N (заполненная случайными числами). Получить матрицу B, проделав над всеми элементами исходной матрицы следующие преобразования:
B(i,j) = A(i,j) - minA(i,j)(i), если A(i,j)>minA(i,j)(i)
B(i,j) = A(i,j), если A(i,j) = minA(i,j)(i).
(То есть из каждого элемента исходной матрицы строки i вычесть минимальный элемент этой строки, сам минимальный элемент оставить без изменения).
Вывести исходную и полученную матрицы. Оформить подпрограммами.

В принципе я понимаю, что от меня хотят и как это должно работать, но нормально написать не получается((( Помогите, пожалуйста.
Egorka_93 вне форума Ответить с цитированием
Старый 11.12.2010, 21:34   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Выкладывайте, не стесняйтесь,мы подкорректируем
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 11.12.2010, 21:37   #3
Novi4ok_11
Форумчанин
 
Регистрация: 11.12.2010
Сообщений: 110
По умолчанию

Цитата:
minA(i,j)(i)
Эта запись означает минимальный элемент в строке?
Novi4ok_11 вне форума Ответить с цитированием
Старый 11.12.2010, 21:38   #4
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Цитата:
Сообщение от Novi4ok_11 Посмотреть сообщение
Эта запись означает минимальный элемент в строке?
Я знаю, что это означает. Выкладывайте что вы уже сделали
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 11.12.2010, 21:44   #5
Novi4ok_11
Форумчанин
 
Регистрация: 11.12.2010
Сообщений: 110
По умолчанию

Тогда для начала нужно найти этот минимальный в строке, заполнить строку новой матрици по формуле
Код:
for i:=1 to n do
begin 
min:=a[i,1];
    for j:=1 to n do 
      begin  
        if (a[i,j]<min) then min=a[i,j];
      end; 
    for j:=1 to n do 
      begin  
      if (A(i,j)>minA(i,j)(i)) B(i,j) = A(i,j) - minA(i,j)(i);
      if (A(i,j) = minA(i,j)(i)) B(i,j) = A(i,j);
      end; 
end;
Код:
if (A(i,j)>minA(i,j)(i)) B(i,j) = A(i,j) - minA(i,j)(i);
if (A(i,j) = minA(i,j)(i)) B(i,j) = A(i,j);
Тут Ваш текст взял что бы не писать

alex_fcsm это не моя задача я у автора спрашую, просто не понял запись

Последний раз редактировалось Stilet; 12.12.2010 в 13:29.
Novi4ok_11 вне форума Ответить с цитированием
Старый 11.12.2010, 21:47   #6
iBuTTHead
Пользователь
 
Регистрация: 05.11.2010
Сообщений: 35
По умолчанию

Начало Цикла1(от 1 до n)

Поиск Минимального значения в строке.

Начало Цикла2(от 1 до m)

Условный оператор
Присваивание значений.(матрица б)


Конец Цикла 2

Конец Цикла 1


Ну а тут думайте сами как что,
iBuTTHead вне форума Ответить с цитированием
Старый 11.12.2010, 21:48   #7
Egorka_93
Новичок
Джуниор
 
Регистрация: 11.12.2010
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Novi4ok_11 Посмотреть сообщение
Эта запись означает минимальный элемент в строке?
Да. это минимальный элемент в строке
Egorka_93 вне форума Ответить с цитированием
Старый 11.12.2010, 21:49   #8
Novi4ok_11
Форумчанин
 
Регистрация: 11.12.2010
Сообщений: 110
По умолчанию

Тогда я код основной части я написал, ввод-вывод думаю напишите
Novi4ok_11 вне форума Ответить с цитированием
Старый 11.12.2010, 21:57   #9
Egorka_93
Новичок
Джуниор
 
Регистрация: 11.12.2010
Сообщений: 5
По умолчанию

Есть программа на нахождение минимального элемента в каждой строке и вывода его на экран:

Код:
Prorgam DZ;
var n,m,min:integer;
 a:array[1..20,1..20] of integer;
 b:array[1..20] of integer;

procedure vvod;
var i,j: integer;
begin
 writeln ('Введите количество строк массива');
 readln (n);
 writeln ('Введите количество столбцов массива');
 readln (m);
  begin
  randomize;
  for i:=1 to n do
  for j:=1 to m do
   begin
   a[i,j]:=random(100);
   end;
  end;
end;

procedre vivod;
var i,j: ineger;
begin
for i:=1 to n do write (b[i]:4);
end;

procedure poisk;
var j1,n1,min: integer;
begin
min:=100;
for j1:=1 to m do if min>a[n1,j1] then min:=a[n1,j1];
end;

procedure resh;
var i,j,min:integer;
begin
for i:=1 to n do begin
 poisk;
 b[i]:=min;
 end;
end;

begin
 vvod;
 resh;
 vivod;
end.
Код оформляйте правильно!!!

Последний раз редактировалось alex_fcsm; 11.12.2010 в 23:38.
Egorka_93 вне форума Ответить с цитированием
Старый 11.12.2010, 22:03   #10
Egorka_93
Новичок
Джуниор
 
Регистрация: 11.12.2010
Сообщений: 5
По умолчанию

При компилировании он мне даёт ошибку 201 (Free Pascal IDE). Но мне ещё надо дописать вычитание минимальных элементов из строк матрицы, вот с этим у меня проблема...
Egorka_93 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно доработь прогу паскаль матрицы Nubik Помощь студентам 9 23.01.2010 16:34
Матрицы. Срочно к завтрашнему дню надо прогу написать Scarykid Паскаль, Turbo Pascal, PascalABC.NET 0 03.06.2009 11:32
Написать прогу Ддмитрий Помощь студентам 4 08.01.2009 19:06
Нужно написать прогу на С++ Михаил Борисович Помощь студентам 2 06.01.2009 10:39
Помогите написать прогу!Среди заданных целых чисел k, l, m найти пары кратных.Написать по проще чемЭесть vdv08 Паскаль, Turbo Pascal, PascalABC.NET 4 04.04.2008 16:56