Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Otchyot_OOPro_Laba_3

.docx
Скачиваний:
25
Добавлен:
19.01.2015
Размер:
26.56 Кб
Скачать

Лабораторная работа №2

По дисциплине «Обьектно-ориентированное программирование»

Ст. гр. ИНФ-10-1 Михайловой Александры

Создать программу, которая вводит c клавиатуры (с обработкой ошибок) двумерный массив целых чисел, заносит в одномерный массив суммы неотрицательных элементов по строкам, выводит этот массив на экран до первого нулевого элемента и отображает число оставшихся элементов.

Код программы:

#include<iostream>

#include<vector>

using namespace std;

bool isDigit(char*mas);

void main()

{

char temp[20];

int rows=3,columns=3;

vector<vector<int>> mas(rows);

vector<int> sum(mas.size(),0);

for(int i=0;i < mas.size();++i)

{

for(int j=0;j < columns;++j)

{

cout<<"Input ["<<i<<"]["<<j<<"] element: ";

try

{

cin.getline(temp,20);

if(!isDigit(temp))

throw(exception("Error number!"));

else

mas[i].push_back(atoi(temp));

cout<<endl;

}

catch(const exception &e)

{

cout<<"Exception!"<<e.what()<<endl;

--j;

}

}

}

system("cls");

cout<<"Matrix:"<<endl;

for(int i=0;i < mas.size();++i)

{

for(int j=0;j < mas[i].size();++j)

{

cout<<mas[i][j]<<"\t";

}

cout<<endl;

}

for(int i=0;i<mas.size();++i)

{

for(int j=0;j<mas[i].size();++j)

{

if(mas[i][j]>=0)

sum[i]+=mas[i][j];

}

}

cout<<"\nSum of the rows elements which >=0"<<endl;

for(int i=0;i<sum.size();++i)

{

if(sum[i]!=0)

cout<<sum[i]<<" ";

else

{

cout<<sum[i]<<"\n"<<sum.size()-i-1<<" elements left"<<endl;

break;

}

}

cout<<endl;

}

bool isDigit(char*mas)

{

int i=0;

bool flag = true;

while(mas[i]!='\0')

{

if(atoi(&mas[i])==0 && mas[i]!='0')

{

flag=false;

break;

}

++i;

}

return flag;

}

Соседние файлы в предмете Объектно ориентированное программирование