Практические / Отчеты студентов 2011-2012 / ВТ-12 ЛР / Стариков / 5 laba
.docxМосковский Государственный Университет Леса
Лабораторная работа №5.
Программирование на языках высокого уровня
Вариант № 19
Выполнил Стариков В.Н
Проверил: Ларионов Н.В.
Москва 2011.
Задание:
Дана целочисленная квадратная матрица. Определить:
-
Сумму элементов в тех строках, которые не содержать отрицательных элементов.
-
Минимум среди сумм элементов диагоналей, параллельной главной диагонали матрицы.
Листинг:
#include <iostream.h>
#include <conio.h>
int summa(int n)
{
int mass[100][100];
int i,j,summa;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
cout<<endl<<"Vvedite element ["<<i<<"]["<<j<<"] =";
cin>>mass[i][j];
}
}
summa=0;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(mass[i][j]>0){
summa=summa+mass[i][j];
}
else
{
summa=0;
break;
}
}
if(summa>0){
cout<<endl<<"Summa "<<i<<" stroki ="<<summa;
summa=0;
}
}
return 0;
}
//MINIMUM <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
minimum(int n){
int i,j;
int min=0,sum=0,k;
int mas[100][100];
for(i=0;i<n;i++){
for(j=0;j<n;j++){
cout<<endl<<"Vvedite element ["<<i<<"]["<<j<<"]";
cin>>mas[i][j];
}
}
//Konec ciklov zapolneniya
min=10000;
for(i=0;i<n;i++){
sum=0;
for(j=0;j<i+1;j++){
sum=sum+mas[j][j+n-1-i];
cout<<"mas["<<j<<"]["<<j+n-1-i<<"]"<<endl;
}
if(sum<min)
min=sum;
cout<<endl;
}
for(i=0;i<n-1;i++){
for(j=0;j<i+1;j++){
sum+=mas[j+n-1-i][j];//Raznica mejdu stolbcom i strokoi menyaetsa ot n-1 do 1
cout<<"mas["<<j+n-1-i<<"]["<<j<<"]"<<endl;
}
if(sum<min)
min=sum;
cout<<endl;
}
cout<<endl<<"Otvet ="<<min;
return 0;
}
//Main <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
main(){
int i,j,n,m,sum;
int mas[100][100];
int nomer=0;
clrscr();
cout<<"Vvedite kolichestvo elementov matricu =";
cin>>n;
cout<<"Vvedite nomer zadachi :";
cin>>nomer;
if(nomer==1)
summa(n);
if(nomer==2)
minimum(n);
else
cout<<endl<<"Est tolko 1 i 2 zadacha";
getch();
return 0;
}