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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2012, 22:35   #1
Ins1De
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 34
По умолчанию Двумерный массив

Найти наибольший и наименьший элементы двумерного массива и поменять их местами.

Код:
{
int a[4][4],i,j,d,e,max,min;
d=CSpinEdit1->Value;
e=CSpinEdit2->Value;
randomize();
for(i=0;i<4;i++)
   for(j=0;j<4;j++)
   {
   a[i][j]=rand()%(d+e+1)-e;
   StringGrid1->Cells[j][i]=a[i][j];
   }
max=a[0][3]; min=a[3][0];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
      if(a[i][j]>max)
           max=a[i][j];
        else
          if(a[i][j]<min)
          min=a[i][j];
      max+=min;
      min=max-min;
      max-=min;

Label1->Caption=max;
Label2->Caption=min;
for(i=0;i<4;i++)
for(j=0;j<4;j++)

 StringGrid2->Cells[j][i]=a[i][j];
}
Народ помогите,задачку сделал,только вот местами не меняются...лабу надо сегодня сдать,как исправить код?
Ins1De вне форума Ответить с цитированием
Старый 13.05.2012, 22:54   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Кроме самих значений максимума и минимума нужно запоминать их место в массиве.
s-andriano вне форума Ответить с цитированием
Старый 13.05.2012, 23:01   #3
Ins1De
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 34
По умолчанию

как это сделать?уже пол дня сижу и нечего не получается
Ins1De вне форума Ответить с цитированием
Старый 13.05.2012, 23:01   #4
tmtm
Пользователь
 
Регистрация: 12.05.2012
Сообщений: 20
По умолчанию

У вас сразу несколько ошибок. Во-первых, как вы можете присваивать ячейкам StringGrid значения целых чисел? Надо преобразовывать значения элементов массива к строковому виду и потом присваивать ячейкам таблицы. Потом, для перестановки минимального и максимального элементов вы должны запомнить не столько их значения, а их позиции в матрице. Вам нужно ввести переменные для индексов каждого из этих двух элементов: и для номера строки минимального/максимального элемента, и для номера столбца минимального/максимального элемента. Потом можно будет сделать перестановку в массиве, а затем массив вывести в StringGrid2.
tmtm вне форума Ответить с цитированием
Старый 13.05.2012, 23:07   #5
Ins1De
Пользователь
 
Регистрация: 26.05.2010
Сообщений: 34
По умолчанию

tmtm
вы сможете сами поправить код?
Ins1De вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный массив LordTor Общие вопросы C/C++ 1 02.06.2011 23:03
Одномерный массив и Двумерный массив eugene1437 Общие вопросы C/C++ 15 25.05.2011 19:17
Двумерный массив Beto4ka Помощь студентам 1 29.04.2010 04:05
Двумерный массив dota-rulit Общие вопросы C/C++ 2 12.01.2010 15:34
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40