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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2012, 10:03   #1
Kate23
Пользователь
 
Аватар для Kate23
 
Регистрация: 16.01.2012
Сообщений: 15
По умолчанию Задача на двумерный массив Delphi!

Дан двумерный массив размером n*m, заполненный случайным образом.
-Заменить максимальный элемент каждой строки нулем
-Вставить после каждого столбца, содержащего максимальный элемент массива, столбец из нулей.
Kate23 вне форума Ответить с цитированием
Старый 23.01.2012, 10:05   #2
arrowsf1
Пользователь
 
Аватар для arrowsf1
 
Регистрация: 22.01.2012
Сообщений: 97
По умолчанию

воображения на пункт 2 не хватает. Есть подробное описание

сказка детская 100рублей
Модераторам: не баньте, у мя такие полезные советы, они стоющие
arrowsf1 вне форума Ответить с цитированием
Старый 23.01.2012, 10:07   #3
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
-Заменить максимальный элемент каждой строки нулем
Код:
for i := 1 to n do
begin
    max := 1;
    for j := 2 to m do
        if m[max] < m[j] then max := j;
    m[max] := 0;
end;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 23.01.2012, 10:38   #4
Kate23
Пользователь
 
Аватар для Kate23
 
Регистрация: 16.01.2012
Сообщений: 15
По умолчанию

PHP код:
var
  
Form4TForm4;

implementation

{$R *.dfm}

procedure TForm4.Button1Click(SenderTObject);
var
i,j,n,m,max:integer;
a,b:array[0..30,0..30]of integer;
begin
Randomize
;
n:=strtoint(Edit1.Text);
m:=strtoint(Edit1.Text);
for 
i:=0 to n-do
  for 
:= 0 to m-do
    
a[i,j]:=Round(sin(Random(100))*100);
 
StringGrid1.RowCount:=n+1;
 
StringGrid1.ColCount:=m+1;
StringGrid2.ColCount:=n+1;
StringGrid2.RowCount:=m+1;
 
with stringGrid1 do
Begin
  i
:=0;
  for 
:= 1 to RowCount do
    
Cells[i,j]:=InttoStr(j);
    
j:=0;
    for 
:= 1 to ColCount do
      
Cells[i,j]:=IntToStr(i);
      
end;
      
with StringGrid1 do
    for 
:= 1 to n do
    for 
:= 1 to m do
    
Cells[j,i]:=Inttostr(a[i-1,j-1]);

begin
 
for := 1 to n do
begin
    max 
:= 1;
    for 
:= 2 to m do
        if 
m[max] < m[jthen max := ;
    
m[max] := 0;
Cells[j,i]:=Inttostr(b[i-1,j-1]);
end;
end
проверите...
Kate23 вне форума Ответить с цитированием
Старый 23.01.2012, 10:46   #5
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Код:
-Заменить максимальный элемент каждой строки нулем
Код привели выше
Код:
-Вставить после каждого столбца, содержащего максимальный элемент массива, столбец из нулей.
Для того, чтобы все было "ровно", нужно предусмотреть худший вариант, при котором в каждом из столбцов исходной матрицы содержится макс. элемент, тогда объявлять нужно матрицу с количеством столбцов 2*n. Количество "открытых" столбцов хранить в отдельной переменной.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на двумерный динамический массив Delphi molodoy95 Помощь студентам 3 26.12.2011 22:05
Задача на двумерный массив netiv Паскаль, Turbo Pascal, PascalABC.NET 2 18.11.2011 23:16
Задача в Delphi на двумерный массив Ann_Sh Общие вопросы Delphi 1 05.11.2010 18:38
Задача на двумерный массив в Delphi Alena-kursk Помощь студентам 4 30.11.2009 15:43
Задача на двумерный массив DELPHI 7 Max0306 Помощь студентам 1 22.09.2009 11:09