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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2009, 20:36   #1
Ueshua
 
Регистрация: 19.12.2009
Сообщений: 9
По умолчанию Переделать для динамического массива.

Задача.
Поиск седловой точки в матрице.

Решил так.
Код:
#include <iostream>
#include <iomanip.h>
int main()
{
	int a[20][20],i,j,n,m;
	int max=0,min=32565,jmin,imax; 
		cout<<"vvedi n:=";
	                 cin>>n;
		cout<<"vvedi m:=";
		  cin>>m;
		for(i=0; i<n; i++)
		  for(j=0; j<m; j++)
		  {
		  cout<<"a["<<i<<"]["<< j<<"]->";
		   cin>>a[i][j];
                         }
		  for (i=0; i<n; i++){
			  cout<<endl;
			  for (int j=0; j<m; j++){
				  cout<<setw(4)<<a[i][j]<<" ";
			  }
		  }

		 for(i=0; i<n; i++)
		  for(j=0; j<m; j++)
		   {
		      if(a[i][j]<min)
		      {
			min=a[i][j];
			jmin=j;
		      }
		      if(j==m-1)
		      {
		      for(int k=0; k<m; k++)
			if(a[k][jmin]>max)
			{
		            max=a[k][jmin];
                                   imax=k;
			}
			if(max==min)
                                 cout<<"i="<< imax <<"j:="<< jmin <<endl;
                                 cout<<"sedl.tochka="<<a[imax][jmin]<<endl;
			min=32565;
			max=0;
			}
		      }
return 0;
}
Все работает, однако появилась необходимость сделать тоже самое для динамического массива. Опыта работы с двумерными динамическими массивами нет, посоветуйте, как действовать. Заранее спасибо
Ueshua вне форума Ответить с цитированием
Старый 20.12.2009, 21:33   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Не уверен но может примет (пишу просто прямо тут)
Код:
int *a;
a = new int[20][20];
// или
a = (int*)malloc(20 * 20 * sizeof(int));
ну а обращатся к элементам так
Код:
a[2][4] equal a[2 * 20 + 4]
вроде так

Последний раз редактировалось BOBAH13; 20.12.2009 в 21:35.
BOBAH13 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
операция NEW для динамического массива -ushёl- Общие вопросы C/C++ 0 14.11.2009 22:00
очистка динамического массива BattleMage Общие вопросы C/C++ 1 19.09.2009 09:03
Освобождение динамического массива? VintProg Общие вопросы Delphi 15 28.08.2009 10:41
Сохранение динамического массива Horus92 Помощь студентам 3 07.05.2009 12:36
Удаление динамического массива Сергей089 Общие вопросы C/C++ 3 08.03.2009 13:13