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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2010, 19:07   #1
StudentFIU
 
Регистрация: 04.05.2010
Сообщений: 6
По умолчанию двумерные массивы

Дан двумерный массив размером n*m, заполненный случайным образом.

1. Заменить нулевой элемент каждого столбца максимальным по модулю элементом массива

2. Вставить после каждой строки, содержащей максимальный по модулю элемент, последнюю строку.

3. Удалить из него каждую строку, содержащую нулевой элемент

4. Поменять местами два средних столбца.
StudentFIU вне форума Ответить с цитированием
Старый 04.05.2010, 20:24   #2
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

твои наработки в студию
NiCola999 вне форума Ответить с цитированием
Старый 04.05.2010, 20:36   #3
Namolem
Oo
Форумчанин
 
Аватар для Namolem
 
Регистрация: 10.10.2009
Сообщений: 350
По умолчанию

если с нуля, пиши в асю - за вознаграждения
если не с нуля - показывай свой код

Если хочешь помочь голодающему-не давай ему рыбу,дай ему удочку!А как по-вашему?
Namolem вне форума Ответить с цитированием
Старый 04.05.2010, 21:32   #4
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

хорошо бы еще язык указывать
NiCola999 вне форума Ответить с цитированием
Старый 05.05.2010, 10:08   #5
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию Вот так как-то

Первые два пункта на Delphi. Остальное в мыло.

Код:
uses Math;
type TwoDimentionalArray = array of array of Integer ;
procedure HandlingArray;
var
 myAr : TwoDimentionalArray ;
 maxElem : Integer ;
 i,j,k : integer ;
 n, m : integer ;
 maxflag : Integer ;
begin
n := 10;
m := 10;
// создание и заполнение массива
SetLength ( myAr, n );
for i := 0 to n-1 do
 SetLength ( myAr[i], m );
Randomize;
for i := 0 to n-1 do
 for j := 0 to m-1 do
  myAr[i][j] := RandomRange(-2147483648 ,2147483647);
//  myAr[i][j] := RandomRange(-128 ,127);
  // Введем для наглядности пару нулей
  myAr[Random(High(myAr)+1), Random(High(myAr[0]) + 1)] := 0;
  myAr[Random(High(myAr)+1), Random(High(myAr[0]) + 1)] := 0;

// идем максимальный по модулю элемент
maxElem := 0;
for i := 0 to n-1 do
 for j := 0 to m-1 do
  begin
   if abs(myAr[i][j]) > abs (maxElem) then maxElem := myAr[i][j];
  end ;

// Заменить нулевой элемент каждого столбца максимальным по модулю элементом массива
for i := 0 to n-1 do
 for j := 0 to m-1 do
  begin
  if myAr[j][i] = 0 then myAr[j][i] := maxElem;
  end ;
// Вставить после каждой строки, содержащей максимальный по модулю элемент, последнюю строку.
i := 0;
while ( i < Length(myAr) ) do
 begin
 maxflag := 0;
 for j := 0 to m-1 do
  if myAr[i][j] = maxElem then begin maxflag := 1; break; end ;
 if maxflag = 1 then
  begin
  SetLength ( myAr, Length(myAr) + 1 ) ;
  SetLength ( myAr[High(myAr)], m );
  for k := High(myAr) downto i+2 do
   begin
   myAr[k] := myAr[k-1];
   end ;
  myAr[i+1] := myAr[high(myAr)];
  i := i + 2;
  continue;
  end ;
 i := i + 1 ;
 end ;
end;
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948

Последний раз редактировалось Stilet; 05.05.2010 в 10:42.
Z1000000 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
двумерные массивы student2009 Паскаль, Turbo Pascal, PascalABC.NET 3 02.06.2009 09:47
Двумерные массивы Linker88 Паскаль, Turbo Pascal, PascalABC.NET 3 19.04.2009 22:31
Массивы двумерные Nika_D Помощь студентам 3 19.01.2008 23:45