Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Задание 2





       
       
       
       

Блок-схема

 

 

 
 

 

 


 

 

 


 

#include "stdafx.h"

#include<iostream>//подключение к библиотеке ввода/вывода в стиле С++

using namespace std;//подключение стандартного пространства имён

 

int main()//главная функция

{ //Создание матрицы

int i, j, N, **A;//А-матрица, N- размерность матрицы, i-номер строки, j-номер столбца;

cout << "N= ";

cin >> N;//ввод размерности матрицы

//Создание двумерного динамического массива матрицы при помощи двойных указателей

//Выделение памяти для массива А, каждый элемент массива - указатель на int

A = new int *[N];

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

{ //Выделение памяти для каждого элемента А[i], A[i] адресует N элементов типа int

A[i] = new int [N];

}

cout << "Input matrix A" << endl;

//цикл по переменной i, в котором перебирием строки матрицы

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

{ //цикл по переменной j, в котором перебираем элементы внутри строки

for (j = 0; j < N; j++)

{

cin >> A[i][j];//ввод очередного элемента матрицы

}

}

cout << "matrix A" << endl;//вывод на экран всей матрицы

//цикл по переменной i, в котором перебираем строки матрицы

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

{

for (j = 0; j < N; j++)

cout << A[i][j] << "\t";//вывод очередного элемента матрицы

cout << endl;//переход на новую строку после вывода всех элементов строки

}

 

int kol1, kol2;//kol1- количество нулей в i строке, kol2- количество нулей в j столбце;

//создание одномерных динамических массивов

int *zRow = new int [N];

int *zColumn = new int [N];

//найдём кол-во нудей в каждой строке

cout << "zRow" << endl;

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

{

kol1 = 0;

for (j = 0; j < N; j++)

{

if (A[i][j] == 0)

{

kol1 = kol1 + 1;

}//if

}//for

zRow[i] = kol1;

cout << zRow[i] << "\t";//вывод на экран кол-ва нулей в i строке

}//for

cout << endl;

 

//найдём кол-во нулей в каждом столбце

cout << "zColumn" << endl;

for (j = 0; j < N; j++)

{

kol2 = 0;

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

{

if (A[i][j] == 0)

{

kol2 = kol2 + 1;

}//if

}//for

zColumn[j] = kol2;

cout << zColumn[j] << "\t";//вывод на экран кол-ва нулей в j столбце

}//for

cout << endl;

// найти пары на главной и побочной диагоналях

cout << "Pairs"<<endl;

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

{

for (j = 0; j < N; j++)

{

if (zColumn[j] == zRow[i] && zColumn[j]!= 0)

{ //вывод на экран строки элемента главной диагонали и столбца элемента побочной диагонали

cout << "Coordinate of elements: " << i << " " << j << endl;

//вывод на экран элемента главной диагонали и элемента побочной диагонали

cout << "Element of main diagonal: " << A[i][i];

cout << "Element of secondary diagonal: "<<A[N - j - 1][j]<< endl;

}//if

}//for

}//for

 

//освобождение памяти для одномерных массивов

delete[] zRow;

delete[] zColumn;

//освобождение памяти для каждого элемента A[i]

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

delete [] A[i];

//освобождение памяти для А

delete []A;

 

system("pause");

return 0;

}







Дата добавления: 2015-06-15; просмотров: 331. Нарушение авторских прав; Мы поможем в написании вашей работы!




Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Принципы и методы управления в таможенных органах Под принципами управления понимаются идеи, правила, основные положения и нормы поведения, которыми руководствуются общие, частные и организационно-технологические принципы...

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

Эффективность управления. Общие понятия о сущности и критериях эффективности. Эффективность управления – это экономическая категория, отражающая вклад управленческой деятельности в конечный результат работы организации...

Предпосылки, условия и движущие силы психического развития Предпосылки –это факторы. Факторы психического развития –это ведущие детерминанты развития чел. К ним относят: среду...

Анализ микросреды предприятия Анализ микросреды направлен на анализ состояния тех со­ставляющих внешней среды, с которыми предприятие нахо­дится в непосредственном взаимодействии...

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

Studopedia.info - Студопедия - 2014-2026 год . (0.01 сек.) русская версия | украинская версия