- •Лабораторная работа №1 Программирование алгоритмов линейной и разветвляющейся структуры. Организация циклов в программе. Составление выражений
- •Задание №1
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Задание №2
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Лабораторная работа №2 Работа с массивами. Одномерные статические массивы. Многомерные динамические массивы
- •Задание №1
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Задание №2
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Задание №3
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Лабораторная работа №3 Работа со строками. Динамические одномерные массивы
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Лабораторная работа №4 Работа со структурами. Вложенные структуры. Массивы структур Задание 1
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Задание 2
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •6 Лабораторная работа №5 Программирование и использование функций
- •Void main()
- •Void main()
- •Лабораторная работа №6 Работа с файлами
- •Void main()
- •Void main()
- •Void main()
Void main()
{
setlocale(LC_ALL,"Russian");
srand((unsigned)time(NULL));//использование времени
const int n=4;//объявление переменных и констант
int **a=new int*[n];//объявление массива
for (int i=0; i<n;i++)
a[i]= new int[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()%80;
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;
}
delete []a;
}
Вариант №8
Дана целочисленная матрица заданного размера. Определить, является ли она "латинским" квадратом.
#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=new int*[n];//объявление массива
for (int i=0; i<n;i++)
a[i]= new int[n];
int b=0;
cout<<"Исходный массив: "<<endl<<endl;
for (int i=0;i<n;i++)//заполнение массива
for (int j=0; j<n;j++)
*(*(a+i)+j)=rand()%10;
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)>n){
b++;
}
if (b>0)
cout<<endl<<"Не латинский квадрат"<<endl<<endl;
else
cout<<endl<<"Латинский квадрат"<<endl<<endl;
delete []a;
}
Вариант №9
Найти сумму наименьших значений элементов в столбцах действительной матрицы заданного размера.
#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=new int*[n];//объявление массива
for (int i=0; i<n;i++)
a[i]= new int[n];
int b=100;//порядок чисел матрицы
int min[n]={b,b,b,b};//массив минимальных
int sum=0;//сумма
cout<<"Исходный массив: "<<endl<<endl;
for (int i=0;i<n;i++)//заполнение массива
for (int j=0; j<n;j++)
*(*(a+i)+j)=rand()%b;
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)<min[j])
min[j]=a[i][j];
for (int i=0;i<n;i++)//сумма
sum+=min[i];
cout<<endl<<"Сумма наименьших значений в стобцах = ";//вывод
for (int i=0;i<n-1;i++)
cout<<min[i]<<" + ";
cout<<min[n-1]<<" = "<<sum<<endl;
delete []a;
}
Вариант №10
В действительной матрице заданного размера произвести попарную перестановку строк, т.е. поменять местами 1 и 2 строки, 3 и 4 строки и т.д. Напечатать для сравнения обе матрицы.
#include "stdafx.h"//директивы
#include <iostream>
#include <locale>
using namespace std;
#include <time.h>