Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> двумерный массив, помощь 
:(
    Опции темы
оксаночка
Дата 15.12.2008, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.12.2008

Репутация: нет
Всего: нет



Пусть В-двумерный массив целых числе размерности NxN . Ввести его случайным образом и поменять местами
а)максимальный из нечетных элементов и минимальный из ненулевых элементов
б)2 и 4 строку массива
в)главную и побочную диагонали
не пойму(....помоги те с чем-нибудь,буду очень признательна
PM MAIL   Вверх
volvo877
Дата 16.12.2008, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Раскомментируей нужный вариант:
Код
const
  n = 5;
type
  vec = array[1 .. n] of integer;

var
  b: array[1 .. n] of vec;
  T, i, j: integer;
  V: vec;

  mini, minj, maxi, maxj: integer;
begin
  for i := 1 to n do begin
    for j := 1 to n do begin
      b[i, j] := random(30); write(b[i, j]:4)
    end;
    writeln
  end;
  writeln;

  (*
  { a }
  mini := 0; minj := 0; maxi := 0; maxj := 0;
  for i := 1 to n do
    for j := 1 to n do begin
      if odd(b[i, j]) then begin
        if maxi + maxj = 0 then begin
          maxi := i; maxj := j
        end
        else
          if b[i, j] > b[maxi, maxj] then begin
            maxi := i; maxj := j
          end
      end;

      if b[i, j] <> 0 then begin
        if mini + minj = 0 then begin
          mini := i; minj := j;
        end
        else
          if b[i, j] < b[mini, minj] then begin
            mini := i; minj := j;
          end;
      end;
    end;

  t := b[mini, minj];
  b[mini, minj] := b[maxi, maxj];
  b[maxi, maxj] := T;
  *)

  (*
  { b }
  V := b[2];
  b[2] := b[4];
  b[4] := V;
  *)

  (*
  { c }
  for i := 1 to n do begin
    T := b[i, i];
    b[i, i] := b[i, n - i + 1];
    b[i, n - i + 1] := T;
  end;
  *)


  for i := 1 to n do begin
    for j := 1 to n do write(b[i, j]:4);
    writeln
  end;
end.

PM MAIL   Вверх
оксаночка
Дата 18.12.2008, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 15.12.2008

Репутация: нет
Всего: нет



volvo877, 
чего то она не работает(
можешь пожалйста в мю задачу вставить НЕЧЕТНОСТЬ? тобишь,как я поняла это odd, что он менял максимально НЕЧЕТНЫЙ на мин. не нулевой)

Код

program Vika12; uses crt;
const
n=4;
var
b,b1,b2,b3:array [1..n,1..n] of integer;
i,j,max,imax,jmax,min,imin,jmin,d,f,h,k:integer;
begin
 clrscr;
 max:=0;
 min:=100;
 writeln ('исходня матрица');
 for i:=1 to n do
 begin
 for j:=1 to n do
 begin
 b[i,j]:=random(100);
 write (b[i,j]:5);
 if b[i,j]>max then begin
    max:=b[i,j];
 imax:=i;
 jmax:=j;
 end;
 if (b[i,j]<min) and (b[i,j]<>0) then min:= b[i,j];
 end;
 writeln;
 end;
 readln;
 writeln (max,' ',min);
 readln;
b1:=b;
writeln ('      ПУНКТ "A": Массив после перестановки максимально нечетных элементов и минимальных из ненулевых элементов ');
for i:=1 to n do
begin
for j:=1 to n do
begin
if b1[i,j]=min then
begin
d:=b1[i,j];
b1[i,j]:=max;
b1[imax,jmax]:=d;
end;
write (b1[i,j]:5);
end;
writeln;
end;
 readln;
b2:=b;
writeln ('      ПУНКТ "B":массив после  перестановки 2 и 4 строки');
for i:=1 to n do
begin
for j:=1 to n do
begin
if i=2 then
begin
f:=b2[i,j];
b2[i,j]:=b2[4,j];
b2[4,j]:=f;
end;
write (b2[i,j]:5);
end;
writeln;
end;
 readln;
b3:=b;
k:=0;
writeln ('      ПУНКТ "C": массив после замены главной и побочной диагонали');
for i:=1 to n do
begin
for j:=1 to n do
begin
if j=1+k then
begin
h:=b3[i,j];
b3[i,j]:=b3[i,n-k];
b3[i,n-k]:=h;
end;
end;
k:=k+1;
end;
k:=0;
for i:=1 to n do
begin
for j:=1 to n do
begin
write (b3[i,j]:5);
end;
k:=k+1;
writeln;
end;
readln;
readln;
end.


Это сообщение отредактировал(а) оксаночка - 18.12.2008, 19:36
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0420 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.