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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2010, 20:27   #1
DEMUT
 
Регистрация: 07.11.2010
Сообщений: 3
По умолчанию Динамический массив

Люди, вот это прога находит координаты всехе седловых точек матрицы, если они есть.
А должна ещё находить номер первой из строк, содержащей хотя бы один нуль.
Вот как это сделать в моей программе???
Плз помогите)




Код:
#include <iostream>
#include <iomanip>
using namespace std;

int ** matr;
int M, N, i, j, n, a, k;

int main() {
setlocale (LC_ALL, ".1251");
// ввод M, N
cout << "Введите количество строк" << endl;
while (true) {
cin >> M;
if ((M>0) && (M<50))
break;
cout << "Количество строк должно быть в интервале от 1 до 50!" << endl;
}
cout << "Введите количество столбцов" << endl;
while (true) {
cin >> N;
if ((N>0) && (N<50))
break;
cout << "Количество столбцов должно быть в интервале от 1 до 50!" << endl;
}

matr = new int*[M];
for (i=0; i<M; i++) 
matr[i] = new int[N];

cout << "Введите элементы матрицы по строкам" << endl;
for (i=0; i<M; i++)
for (j=0; j<N; j++)
cin >> matr[i][j];
for (i=0; i<M; i++) {
for (j=0; j<N; j++)
cout << setw(8) << matr[i][j];
cout << endl;
}
// работа с матрицей
// координаты всех ее седловых точек, если таковые имеются
int min,max,indexmin;
for(i=0;i<n;i++)
{
max=matr[i][0];
for(j=1;j<n;j++)
{
if(matr[i][j]>=max){
max=matr[i][j];
}
}
for(j=0;j<n;j++)
{
if(matr[i][j]==max)
{
min=matr[0][j];
indexmin=0;
for(k=0;k<n;k++)
{
if(matr[k][j]<=min)
{
if(indexmin==i)
k=indexmin;
indexmin=k;
min=matr[k][j];
}
}
if(indexmin==i)
{
printf("%d %d",i,j);
printf("\n");
}
}
}
}
for (i=0; i<M; i++)
delete [] matr[i];
delete [] matr;
return 0;
}

Последний раз редактировалось Carbon; 07.11.2010 в 20:34.
DEMUT вне форума Ответить с цитированием
Старый 07.11.2010, 20:40   #2
DEMUT
 
Регистрация: 07.11.2010
Сообщений: 3
По умолчанию

Помогите срочняк как, плз)
DEMUT вне форума Ответить с цитированием
Старый 07.11.2010, 21:10   #3
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Суньте это куда-нибудь в конец:
Код:
int i = 0;
for(i=0; i<M; i++)
{
      for(int j=0; j<N; j++)
            if(!matr[i][j])
                  break;
      if(i == M-1)
      {
            i = -1;
            break;
      }
}
if(i == -1)
      cout << "Не найдено нулевых элементов." << endl;
else
      cout << "Первый нулевой элемент находится в строке " << i << "." << endl;
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический массив в С# Денис89 Общие вопросы .NET 7 09.09.2010 22:42
Динамический массив Ueshua Общие вопросы C/C++ 7 28.12.2009 09:45
Динамический массив Ueshua Общие вопросы C/C++ 3 19.12.2009 22:12
Динамический массив Kiragaz Общие вопросы C/C++ 8 29.09.2009 22:30
динамический массив Cpluser Общие вопросы C/C++ 1 20.09.2009 18:17