Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Листинг 6.2



#include <iostream.h>

#include <iomanip.h>

int main()

{

int nrow, ncol;

setlocale(LC_ALL, "Russian");

cout << “Введите количество строк и столбцов:”;

cin >> nrow >> ncol; //ввод размерности массива

int i, j;

int **a = new int *[nrow]; /* выделение памяти под массив */

for(i = 0; i < nrow; i++) a[i] = new int[ncol];

cout << “Введите элементы массива:” << endl;

for(i = 0; i < nrow; i++)

for(j = 0; j < ncol; j++) cin >> a[i][j]; // ввод массива

for(i = 0; i < nrow; i++)

{

for(j = 0; j < ncol; j++) cout << setw(4) << a[i][j] << “ ”;

cout << endl;

}

int num = -1;

bool all_posit;

for (j = 0; j< ncol; j++) // просмотр по столбцам

{

all_posit = true;

for (i = 0; i < nrow; i++) /* анализ элементов столбца */

if (a[i][j]<0)

{

all_posit = false;

break;

}

if (all_posit)

{

num = j;

break;

}

}

if (-1 == num) cout << “ Столбцов нет ” << endl;

else cout << “ Номер столбца: ” << num << endl;

return 0;

}

В программе необходимо предусмотреть случай, когда ни один столбец не удов­летворяет условию. Для этого переменной nun, в которой будет храниться номер искомого столбца, присваивается начальное значение, не входящее в множество значений, допустимых для индекса, например -1. Перед выводом результата его значение анализируется. Если оно после просмотра матрицы сохранилось неиз­менным, то есть осталось равным -1, то столбцов, удовлетворяющих заданному условию, в матрице нет.

Можно обойтись без анализа переменной num, да и вообще без этой переменной, если вывести номер столбца сразу после его определения, после чего завершить программу. Этот вариант приведен ниже.

Текстовые файлы очень удобно использовать для отладки программ, требующих ввода хотя бы нескольких величин, - ведь, как правило, программу не удается написать сразу без оши­бок, а многократный ввод одних и тех же значений замедляет процесс отладки и может сильно испортить настроение. Кроме того, при подготовке данных в файле до выполнения про­граммы можно спокойно продумать тестовые примеры для исчерпывающей проверки пра­вильности программы.





Дата публикования: 2015-10-09; Прочитано: 180 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...