Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Козырева И., лабораторные работы.doc
Скачиваний:
4
Добавлен:
16.04.2019
Размер:
2.95 Mб
Скачать

Void main()

{

setlocale(LC_ALL,"Russian");

const int n=4;//объявление переменных и констант

int a[n][n]={5,1,3,1,0,5,1,1,0,0,5,1,0,0,0,5};//основной массив

int b;//временная переменная

cout<<"Исходный массив: "<<endl<<endl;

for (int i=0;i<n;i++){//вывод исходного массива

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

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

cout<<endl;

}

for (int i=0;i<n;i++)//перестановка

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

if (i<j){

b=a[i][j];

a[i][j]=a[j][i];

a[j][i]=b;

}

cout<<endl<<"Исправленный массив: "<<endl<<endl;//вывод исправленного массива

for (int i=0;i<n;i++){

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

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

cout<<endl;

}

}

Вариант №6

Рассчитать «след» квадратной матрицы заданного размера.

#include "stdafx.h"//директивы

#include <iostream>

#include <locale>

using namespace std;

Void main()

{

setlocale(LC_ALL,"Russian");

const int n=3;//объявление переменных и констант

int a[n][n];//основной массив

int sum=0;

for (int i=0;i<n;i++)//диалог с пользователем

for (int j=0; j<n;j++){

cout<<"Введите "<<" "<<i+1<<" "<<j+1<<" элемент массива"<<endl;

cin>>a[i][j];

}

for (int i=0;i<n;i++){//вывод исходного массива

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

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

cout<<endl;

}

for (int i=0;i<n;i++)//проверка и подсчет

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

if (i==j)

sum+=a[i][j];

cout<<"След матрицы = "<<sum<<endl;//вывод

}

Вариант №7

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

#include "stdafx.h"//директивы

#include <iostream>

#include <locale>

using namespace std;

#include <time.h>

Void main()

{

setlocale(LC_ALL,"Russian");

srand((unsigned)time(NULL));//использование времени

const int n=4;//объявление переменных и констант

int a[n][n];//основной массив

int max[n]={0,0,0,0};//массив для максимальных в строке

int a1;//вспом. переменная для перестановки

int b[n];//массивы индексов

int c[n];

cout<<"Исходный массив: "<<endl<<endl;

for (int i=0;i<n;i++)//заполнение массива

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

a[i][j]=rand()%150;

for (int i=0;i<n;i++){//вывод исходного массива

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

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

cout<<endl;

}

for (int i=0;i<n;i++)//нахождение макс. в строках и их индексов

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

if (a[i][j]>max[i]){

max[i]=a[i][j];

b[i]=i;

c[i]=j;

}

cout<<endl;

for (int i=0;i<n;i++){//перестановки

a1=a[i][i];

a[i][i]=a[b[i]][c[i]];

a[b[i]][c[i]]=a1;

}

cout<<"Измененный массив: "<<endl<<endl;

for (int i=0;i<n;i++){//вывод измененного массива

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

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

cout<<endl;

}

}

Вариант №8

Дана целочисленная матрица заданного размера. Определить, является ли она "латинским" квадратом.

#include "stdafx.h"//директивы

#include <iostream>

#include <locale>

using namespace std;

#include <time.h>