
Зачетная книжка № 120700270
Выполнил: студент группы КТ-21
Фомин Андрей Алексеевич
Принял: ст. преподаватель АиС
Кочетова Ирина Валентиновна
Хабаровск 2012
Цель работы: Приобретение навыков использования динамической
памяти, обработки двумерных массивов, составления алгоритмов и
программ, использующих сложные циклы.
Задание: В квадратной матрице A[N][N] определить среди элементов, располо-женных
ниже побочной диагонали, количество положительных элемен-тов, а среди элементов
выше главной диагонали - количество отрицательных элементов
Блок-схема:
Код программы:
//---------------------------------------------------------------------------
#include <iostream.h>
#pragma hdrstop
#include <iomanip.h>
#include <windows.h>
#include <conio.h>
//---------------------------------------------------------------------------
#pragma argsused
char bufRus[256];
char* Rus(const char* text){ //Подключаем кириллицу
CharToOem(text, bufRus);
return bufRus;
}
int main(int argc, char* argv[])
{
int i, j, N, a[10][10];
cout<<Rus("В квадратной матрице A[N][N] определить среди элементов, располо-женных
ниже побочной диагонали, количество положительных элемен-тов, а среди элементов
выше главной диагонали - количество отрицательных элементов. ")<<endl<<endl;
cout<<Rus("Введите N: ");
cin>>N;
cout<<endl;
if(N > 0){
N=N-1;
for(i=0; i<=N; i++){
for(j=0; j<=N; j++){
cout<<"a["<<i+1<<"]["<<j+1<<"]= ";
cin>>a[i][j];
}
}
cout<<endl;
for(i=0; i<=N; i++){
for(j=0; j<=N; j++)
cout<<setw(3)<<a[i][j]<<" ";
cout<<"\n";
}
cout<<endl;
int s=0;
int c=0;
for(i=N; i>=0; i--){
c++;
if(i==N){
c=0;
for(j=c+1; j<=N; j++){
if(a[i][j]>0) s++;
}
}
else{
for(j=c+1; j<=N; j++){
if(a[i][j]>0) s++;
}
}
}
int s1=0;
int d=0;
for(i=0; i<=N; i++){
d++;
if(i==0){
d=0;
for(j=d+1; j<=N; j++){
if(a[i][j]<0) s1++;
}
}
else{
for(j=d+1; j<=N; j++){
if(a[i][j]<0) s1++;
}
}
}
cout<<endl;
cout<<Rus("Элементов >0 расположенных ниже побочной диагонали: ")<<s;
cout<<endl;
cout<<Rus("Элементов <0 расположенных выше главной диагонали: ")<<s1;
cout<<endl;
}
else cout<<Rus("Ошибка! Количество строк или столбцов в матрице не может
быть отрицательным! N>0")<<endl;
cout<<endl;
system("pause");
return 0;
}
//---------------------------------------------------------------------------
Вывод: Я приобрёл навыки использования динамической памяти, обработки двумерных массивов, составления алгоритмов и программ, использующих сложные циклы.
Министерство образования и науки РФ.
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования.
Тихоокеанский государственный университет.
Кафедра «Автоматики и системотехники».
ЛАБОРАТОРНАЯ РАБОТА № 7
ФУНКЦИИ