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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск max элемента в строке двумерного массива 
V
    Опции темы
g1pn0z
Дата 12.5.2007, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



как можно осуществить поиск максимального элемента в строке...
кое-что я просмотрел и исправил, но результат (
вообщем получилось так
Код

        Uses crt;
var a:array[1..10,1..10] of integer;
      k,i,j,n,max:integer;
BEGIN
clrscr;
randomize;
n:=10;
max := -5555555;
for i:=1 to n do
 for j:=1 to n do
  begin
   a[i,j]:=random(99);
   if a[i,j]>max then
   begin
      max:=a[i,j];
       k:=i;
   end;
  end;
max:=0;
for i:=1 to n do 
    max:=max+a[k,i];
a[k,j]:=a[i,j];
writeln(a[i;j]:2,' ');
readln;
end.


Это сообщение отредактировал(а) volvo877 - 12.5.2007, 15:21
PM MAIL ICQ   Вверх
Rodman
Дата 12.5.2007, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



не понятно задание...
Код

Uses crt;
var a:array[1..10,1..10] of integer;
      b: array[1..10] of integer;
      k,i,j,n,max:integer;
BEGIN
clrscr;
randomize;
n:=10;
for i:=1 to n do
begin
b[i] := -5555555;
 for j:=1 to n do
  begin
   a[i,j]:=random(99);
   if a[i,j]>b[i] then
      b[i]:=a[i,j];
  end;
end;
for i:=1 to n do 
    max:=max+b[i];
a[k,j]:=a[i,j];{зачем это не пойму}
writeln(a[i;j]:2,' ');
readln;
end.

PM MAIL WWW Skype GTalk YIM MSN   Вверх
g1pn0z
Дата 12.5.2007, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ладно объясню снова,.. Дан двумерный массив, нужно найти мах элемент в строке , хотя его найти можно, но потом еще нужно поменять местами найденный max элемент с первым элементом строки.


Код

var a:array[1..n,1..m]of integer;
k,j,i,max:integer;
begin
clrscr;
randomize;
for i:=1 to n do
begin
for j:=1 to m do
begin 
a[i,j]:=random(99)-5;
writeln(a[i,j]:2,' ');
end;
writeln;
end;
max:=a[i,1];
k:=1;
for j:=2 to m do
if a[i,j]>max then {Ищем максимальный элемент}
max:=a[i,j];
k:=j;
end;
{А вот как поменять их местами}


Это сообщение отредактировал(а) g1pn0z - 12.5.2007, 11:53
PM MAIL ICQ   Вверх
Rodman
Дата 12.5.2007, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



Код

Uses crt;
var a:array[1..10,1..10] of integer;
      b: array[1..10] of integer;
      k,i,j,n,max:integer;
BEGIN
clrscr;
randomize;
n:=10;
for i:=1 to n do
begin
max := -5555555;
 for j:=1 to n do
  begin
   a[i,j]:=random(99);
   if a[i,j]>max then
   begin
      max:=a[i,j];
      b[i]:=j;
   end;
  end;
end;
for i:=1 to n do 
begin
   max:=max+a[i,b[i]];{суммируют все максимальные}
   k:=a[i,1]; {идет замена}
   a[i,1]:=a[i,b[i]]; 
   a[i,b[i]]:=k;
end;
writeln(a[i;j]:2,' ');
readln;
end.


Это сообщение отредактировал(а) Rodman - 12.5.2007, 12:09
PM MAIL WWW Skype GTalk YIM MSN   Вверх
g1pn0z
Дата 12.5.2007, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вроде уже все как нормально, но тока вот не выводит сам массив
даже вот это не идет 
writeln(a[i;j]:2,' '); 
Выходит тока одно число


Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  ___________.JPG 104,61 Kb
PM MAIL ICQ   Вверх
Rodman
Дата 12.5.2007, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



Цитата(g1pn0z @  12.5.2007,  11:44 Найти цитируемый пост)
writeln(a[i;j]:2,' '); 
Выходит тока одно число

не сомненно... массив используется почти всегда с цыклом for
Код

Uses crt;
var a:array[1..10,1..10] of integer;
      b: array[1..10] of integer;
      k,i,j,n,max:integer;
BEGIN
clrscr;
randomize;
n:=10;
for i:=1 to n do
begin
max := -5555555;
 for j:=1 to n do
  begin
   a[i,j]:=random(99);
   if a[i,j]>max then
   begin
      max:=a[i,j];
      b[i]:=j;
   end;
  end;
end;
for i:=1 to n do 
begin
   max:=max+a[i,b[i]];{суммируют все максимальные}
   k:=a[i,1]; {идет замена}
   a[i,1]:=a[i,b[i]]; 
   a[i,b[i]]:=k;
end;
for i:=1 to n do
begin
 for j:=1 to n do
   write (a[i;j]:2,' ');
 writeln(' '); 
end;
readln;
end.

PM MAIL WWW Skype GTalk YIM MSN   Вверх
g1pn0z
Дата 12.5.2007, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Все работает!!! пасибки...  smile 
PM MAIL ICQ   Вверх
g1pn0z
Дата 17.5.2007, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



как изменить прогу чтобы массив задавался вещественными числами?
менял на реал не компилиться(
Код

Uses crt;
var a:array[1..10,1..10] of integer;
      b: array[1..10] of integer;
      k,i,j,n,max:integer;
BEGIN
clrscr;
randomize;
n:=10;
for i:=1 to n do
begin
max := -5555555;
 for j:=1 to n do
  begin
   a[i,j]:=random(99);
   if a[i,j]>max then
   begin
      max:=a[i,j];
      b[i]:=j;
   end;
  end;
end;
for i:=1 to n do 
begin
   max:=max+a[i,b[i]];{суммируют все максимальные}
   k:=a[i,1]; {идет замена}
   a[i,1]:=a[i,b[i]]; 
   a[i,b[i]]:=k;
end;
for i:=1 to n do
begin
 for j:=1 to n do
   write (a[i;j]:2,' ');
 writeln(' '); 
end;
readln;
end.

PM MAIL ICQ   Вверх
Rodman
Дата 17.5.2007, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



Код

Uses crt;
var a:array[1..10,1..10] of real;
      b: array[1..10] of real;
      k,i,j,n,max:integer;
BEGIN
clrscr;
randomize;
n:=10;
for i:=1 to n do
begin
max := -5555555;
 for j:=1 to n do
  begin
   a[i,j]:=random(99)/3;
   if a[i,j]>max then
   begin
      max:=a[i,j];
      b[i]:=j;
   end;
  end;
end;
for i:=1 to n do 
begin
   max:=max+a[i,b[i]];{суммируют все максимальные}
   k:=a[i,1]; {идет замена}
   a[i,1]:=a[i,b[i]]; 
   a[i,b[i]]:=k;
end;
for i:=1 to n do
begin
 for j:=1 to n do
   write (a[i;j]:2,' ');
 writeln(' '); 
end;
readln;
end.

PM MAIL WWW Skype GTalk YIM MSN   Вверх
g1pn0z
Дата 17.5.2007, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вот здесь она зависает

Это сообщение отредактировал(а) g1pn0z - 17.5.2007, 15:36

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  ____.JPG 97,55 Kb
PM MAIL ICQ   Вверх
Rodman
Дата 17.5.2007, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



Код

Uses crt;
var a:array[1..10,1..10] of real;
      b: array[1..10] of real;
      k,i,j,n:integer;
      max:real;{                       может из-за этого?!}
BEGIN
clrscr;
randomize;
n:=10;
for i:=1 to n do
begin
max := -5555555;
 for j:=1 to n do
  begin
   a[i,j]:=random(99)/3;
   if a[i,j]>max then
   begin
      max:=a[i,j];
      b[i]:=j;
   end;
  end;
end;
for i:=1 to n do 
begin
   max:=max+a[i,b[i]];{суммируют все максимальные}
   k:=a[i,1]; {идет замена}
   a[i,1]:=a[i,b[i]]; 
   a[i,b[i]]:=k;
end;
for i:=1 to n do
begin
 for j:=1 to n do
   write (a[i;j]:2,' ');
 writeln(' '); 
end;
readln;
end.

PM MAIL WWW Skype GTalk YIM MSN   Вверх
g1pn0z
Дата 17.5.2007, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



дальше она снова виснет smile ((((
не могу понять эти типы....
PM MAIL ICQ   Вверх
Rodman
Дата 17.5.2007, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



номер строки?
PM MAIL WWW Skype GTalk YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

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

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

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

3. Оффтопить

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

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

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


 




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


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

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