C++ поиск нулевой строки в матрице

Здесь вы можете скачать парочку интересных андроид приложений

Поиск первой строки, в которой все элементы отрицательны

void stra(double** a,int n,int m,int& c,int& k)
{int i,j;
 k=0;
 for (i=0;i< n;i++)
   for(j=0;j< m;j++)
     if(a[i][j]>=0)break;
     else if(j==m-1) {c=i;
		      k=1;
		      goto z;
		     }
z:;
}

Здесь нужно добавить некоторые пояснения. Функция имеет тип void, т.к. в главную функцию мы возвращаем не только индекс строки, в которой все элементы отрицательны, но еще и переменную k. Она нужна для того, чтобы, если в матрице нет искомой строки, то нам бы вывелось соответствующее сообщение. Т.е., если в ходе работы функции переменная k не изменяется (остается равной 0), то искомой строки нет. Поэтому в главной функции обратиться к нашей следует так (для удобства имена фактических параметров совпадают с формальными):

stra(a,n,m,c,k);
if(k==0)cout<<"\n Нет строки, в которой все элементы отрицательны\n";
else cout<<"\n Индекс первой строки, в которой все элементы отрицательны:"
								    << c;

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

Результат работы функции:

На главную
C++ новичку     Алфавит и лексемы     Операции в C++     Библиотеки     Потоки ввода- вывода     Разветвляющийся вычислительный процесс
     Циклы    Указатели     Основы работы с динамической памятью     Работа с файлами     Некоторые типичные функции

Разработчик сайта: Филатов Максим

Hosted by uCoz