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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2009, 23:46   #1
maziLa
Пользователь
 
Регистрация: 08.12.2008
Сообщений: 30
По умолчанию Ошибки при работе с матрицей

мне нужно обнулить часть матрицы левее и ниже максимального элемента
впринципе всё есть , всё рабочее кроме 2 функций
нахождение макс елемента
Код:
//нахождение максимального элемента
void m_el(int m, int n,int a[12][12])
{
	int max ;
	int p, q ;
	max=a[1][1];
	int i,j;
	for (i=1; i<=m;i++)
	{
		for (j=1; j<=n;j++)
		{
			if (a[i][j]>max)
			{
				max=a[i][j];
				i=p; j=q ;
				cout << "Max element :" <<endl<<"a["<<p<<"]["<<q<<"]="<<max ;
			}

		}
	}

}
строку эта функция выводит но никак не с макс элеметом...на этом мой билдер выдаёт ошибку и всё программа прекращает работу...
Есть процедура ещё обнуления части матрици ,тоже не знаю рабочая или нет:
Код:
//обнуление части матрици
void half_zero (int m, int n, int a[12][12] )
{
	 int i,j;
	 int p,q;
	 int max;
	 for (i=m; i<p;++i)
	 {
		for (j=n; j<q;++j)
		{
			a[i][j]=0;
		}
	 }
}
подскажите пожалуйста что надо исправить.Большое спасибо..
maziLa вне форума Ответить с цитированием
Старый 10.04.2009, 22:30   #2
Svetlag
Пользователь
 
Аватар для Svetlag
 
Регистрация: 24.02.2009
Сообщений: 85
По умолчанию

Это первая функция. Только я бы нумерацию сделала c нуля, например (i=0; i<m; i++)
Код:
//нахождение максимального элемента
void m_el(int m, int n,int a[12][12], int& p, int& q)
{
	int max ;
	p=1, q=1 ;
	max=a[1][1];
	int i,j;
	for (i=1; i<=m;i++)
	{
		for (j=1; j<=n;j++)
		{
			if (a[i][j]>max)
			{
				max=a[i][j];
				p=i; q=j ;
			}

		}
	}
	cout << "Max element :" <<endl<<"a["<<p<<"]["<<q<<"]="<<max ;
}

Последний раз редактировалось Svetlag; 10.04.2009 в 22:39.
Svetlag вне форума Ответить с цитированием
Старый 10.04.2009, 22:45   #3
Svetlag
Пользователь
 
Аватар для Svetlag
 
Регистрация: 24.02.2009
Сообщений: 85
По умолчанию

Вторая
Код:
//обнуление части матрици
void half_zero (const int p, const int q,
	int m, int n,int a[12][12])
{
	 int i,j;
	 if(p<0||p>m||q<0||q>n) return;

	 for (i=p+1; i<=m;++i)
	 {
		for (j=1; j<q;++j)
		{
			a[i][j]=0;
		}
	 }
}
Svetlag вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибки при работе с графикой. ReM Общие вопросы C/C++ 0 26.03.2009 13:41
Ошибки при работе запросов с параметрами Customer Microsoft Office Access 4 14.07.2008 20:35
Проблема при работе с БД HAMMAN БД в Delphi 3 29.03.2008 14:42
Ошибка при работе с структурой Nullator Общие вопросы C/C++ 11 07.03.2008 23:52
Ошибка при работе с БД malevich БД в Delphi 8 25.11.2007 15:10