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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2008, 22:45   #1
Romer9999
Пользователь
 
Регистрация: 19.11.2008
Сообщений: 42
Восклицание Нужно чтобы в матрице находило максимальный элимент и справо от него вставляло колонку с нулями в столбик

Помогите пожалуйста срочно!!!! я уже просил помощи по этой задаче здесь мне помогли но я ничего не понял. Вообще не знаю как делать.
Нужно чтобы в матрице находило максимальный элимент и справо от него вставляло колонку с нулями в столбик и снизу тоже (создавало ещё одну строчку) и выделяло этот элемент красным цветом
я уже всё зделал только не знаю как его выделить и эти строчки вставить
Вот код что я наделал
Код:
program dash5;
uses crt;
type
mas=array [1..50,1..50] of real;
var
b:mas;
a:array [1..50] of real;

i,j,m,n,lo,no,k,kk:integer;
s,summstr,min,max:real;

begin
clrscr;
randomize;     {ochishaem}
textcolor (2);
writeln ('Vvedite razmernost MxN');  {vuvodim soobshenie o vvode}
readln (n);                         {chitaem n}
readln (m);

for i:=1 to n do begin        {ot i do m}
for j:=1 to m do begin
b[i,j]:=random(10)*1.7-8;
writeln;                         {matricu vuvodim}
 gotoxy(10,1);
 writeln ('ucxoDHa9l MaTpuua');
{ gotoxy(40,1);}


gotoxy(1+5*j,1+2*i);
textcolor (2);

write (b[i,j]:5:2,' ');   end;
writeln;
end;
writeln;
{**************************}                      {luboe chislo}

writeln;writeln;
for i:=1 to n do begin
 gotoxy(20+4*j,1+2*i);
  writeln (' ',a[i]:4:2);
  end;
{naxodim max i min znachenie} {
    min:=a[1];
    max:=a[1];
    lo:=1;
    no:=1;
for i:=1 to n do begin
for j:=1 to n do begin

if a[i,j]>max then   begin max:=a[i,j];
lo:=i;
no:=j;
end;   }
max:=-10000;
lo:=1;
no:=1;
For i:=1 to n do
for j:=1 to m do
If a[i]>max then begin
max:=a[i];
k:=i;
kk:=j;
writeln;
writeln ('element   ',i);
writeln (j);

readln;
end;
end.
не знаю что там где правильно.
Помогите пожалуйста!!!!

Последний раз редактировалось Alex21; 02.12.2008 в 08:40.
Romer9999 вне форума Ответить с цитированием
Старый 02.12.2008, 14:30   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Чем Вам Здесь не нравится http://programmersforum.ru/showthread.php?t=30956
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 02.12.2008, 22:03   #3
Romer9999
Пользователь
 
Регистрация: 19.11.2008
Сообщений: 42
Стрелка alex

ну не так там нужно чтоб вид был:
Например:
****************************
5 7 0 8 9
4 * 0 3 2
0 0 0 0 0
6 4 0 2 0
****************************
(*- max элемент )
(справа от * вставился столбик с нулями и ниже этого элемента строка с нулями вставилась размерность мартрицы увеличилась
что собственно я и не могу сделать.
Я сегодня пытался делать но всё равно ничего не получилось.
PHP код:
program dash5;
uses crt;
type
mas
=array [1..10,1..10of real;
var
b:mas;
a:array [1..50of real;

i,j,m,n,lo,no,k,kk,q:integer;
s,summstr,min,max:real;

begin
clrscr
;
randomize;     {ochishaem}
textcolor (2);
writeln ('Vvedite razmernost MxN');  {vuvodim soobshenie o vvode}
readln (n);                         {chitaem n}
readln (m);

for 
i:=1 to n do begin        {ot i do m}
for 
j:=1 to m do begin
b
[i,j]:=random(50)*1.7-8;
writeln;                         {matricu vuvodim}
 
gotoxy(10,1);
 
writeln ('ucxoDHa9l MaTpuua');
gotoxy(40,1);}


gotoxy(1+5*j,1+2*i);


write (b[i,j]:5:1,' ');   end;
writeln;
end;
writeln;
{**************************}                      {
luboe chislo}

writeln;writeln;
for 
i:=1 to n do begin
 gotoxy
(20+4*j,1+2*i);
  
writeln (' ',a[i]:4:2);
  
end;
{
naxodim max i min znachenie} {
    
min:=a[1];
    
max:=a[1];
    
lo:=1;
    
no:=1;
for 
i:=1 to n do begin
for j:=1 to n do begin

if a[i,j]>max then   begin max:=a[i,j];
lo:=i;
no:=j;
end;   }
max:=-10000;
lo:=1;
no:=1;
For 
i:=1 to n do
for 
j:=1 to m do
If 
b[i,j]>max then begin
max
:=b[i,j];
k:=i;
kk:=j;
writeln;
writeln ('str ',i);
writeln ('el  ',j);
end;
writeln ('max',max:4:2);

if 
b[i,j]=max then
textcolor
(4);
for 
i:=1 to n do begin
for j:=1 to m do begin
if b[i,j]=max then
textcolor
(4);
if 
b[i,j]<>max then
textcolor
(2);
write (b[i,j]:4:1,' ');
end;
writeln;
end;
readln;
end

Последний раз редактировалось Romer9999; 02.12.2008 в 22:05. Причина: пример
Romer9999 вне форума Ответить с цитированием
Старый 03.12.2008, 08:46   #4
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Запустите что Вам предлагают и посмотрите
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти максимальный элемент матрицы и вставить правее него столбец из нулей и ниже него строку из нулей. Romer9999 Паскаль, Turbo Pascal, PascalABC.NET 3 28.11.2008 11:28
Нужно чтобы каждый номер (аси) отправил по 1 сообщению zotox Помощь студентам 1 17.11.2008 19:56
что нужно чтобы написать вирус? JOFRIF Свободное общение 24 21.10.2008 01:38
В прямоугольной матрице переставить столбцы так, чтобы сумма элементов столбца росла от первого столбца Aleo13 Помощь студентам 5 15.10.2008 18:34
Нужно чтобы Form2 открывался по середине Form1 diznt Помощь студентам 1 31.08.2008 03:37