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

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

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

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

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

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

Привет всем помогите мне пожалуйста дорешать задачу
Код:
program dash5;
uses crt;
type
mas=array [1..10,1..10] of real;
var
b:mas;
a:array [1..50] of 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;
clrscr;
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
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.

Только пожалуйста измините эту задачу а не пишите новую. она всё делает единственное что нужно чтобы задача искала в матрице max число max элемента вставляла столбик с нулями и ниже строчку вставляла с нулями (размерность матрицы увеличивается) тут уж всё сделано просто нужно вставить вообще не знаю как сделать.

Последний раз редактировалось Alex21; 15.12.2008 в 17:55.
Romer9999 вне форума Ответить с цитированием
Старый 07.12.2008, 22:59   #2
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Может ночь на дворе, может еще что, только я так и не понял, куда именно тебе нужно вставить столбик и строчку с нолями... Имеется ввиду так:

1 3 5 2
8 7 9 3
2 4 2 7
1 4 6 8
=>
1 3 5 0 2
8 7 9 0 3
0 0 0 0 0
2 4 2 0 7
1 4 6 0 8

Если да - пиши, если нет, тоже пиши, будем разбирать.
З.Ы. Ставь знаки препинания - для чтения неудобоваримо...
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 08.12.2008, 18:31   #3
Romer9999
Пользователь
 
Регистрация: 19.11.2008
Сообщений: 42
По умолчанию да!

да именно так. Не знаю как нули вставить
Romer9999 вне форума Ответить с цитированием
Старый 09.12.2008, 11:04   #4
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

ТО?

Код:
program dash5;
uses crt;
type
mas=array [1..10,1..10] of real;
var  b:mas;
     i,j,m,n,k,kk:integer;

begin
clrscr;
randomize;
textcolor (2);
writeln ('Vvedite razmernost MxN');
readln (n);
readln (m);
clrscr;
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    b[i,j]:=random(50)*1.7-8;
    writeln;
    gotoxy(8,1);
    writeln ('ucxoDHa9l MaTpuua');
    gotoxy(1+5*j,1+2*i);
    write (b[i,j]:5:1,' ');
   end;
  writeln;
 end;
k:=1;kk:=1;
For i:=1 to n do
 for j:=1 to m do
   If b[i,j]>b[k,kk] then
    begin
     k:=i;
     kk:=j;
    end;
writeln;
TextColor(4);
writeln ('max ',b[k,kk]:4:2);
writeln;
TextColor(2);

for i:=n+1 downto k+1 do
for j:=1 to m+1 do
 b[i,j]:=b[i-1,j];

 for j:=m+1 downto kk+1 do
  for i:=1 to n+1 do
   b[i,j]:=b[i,j-1];


 for j:=1 to m+1 do
  b[k+1,j]:=0;

 for i:=1 to n+1 do
  b[i,kk+1]:=0;

 for i:=1 to n+1 do
  begin
   for j:=1 to m+1 do
    begin
     if (i=k) and (j=kk)  then TextColor(4)
        else TextColor(2);
      write(b[i,j]:6:1);
    end;
   writeln;
  end;
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.

Последний раз редактировалось alex_fcsm; 09.12.2008 в 12:16. Причина: Удалил лишнее
alex_fcsm вне форума Ответить с цитированием
Старый 09.12.2008, 12:14   #5
Romer9999
Пользователь
 
Регистрация: 19.11.2008
Сообщений: 42
Радость Спасибо.

Спасибо огромное за помощь!!!!!!!
Romer9999 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка пустых строк в FastReport'е Boatswain БД в Delphi 1 13.11.2008 14:41
добавление строк StringGrid Alex_76 Помощь студентам 7 10.06.2008 15:17
Добавление Holodok БД в Delphi 1 09.05.2008 18:01
Excel max 256 строк VS user надо 300 строк Exo Microsoft Office Excel 3 10.01.2008 17:14
Добавление строк в массив boks Microsoft Office Excel 2 28.09.2007 10:08