
ИТиУвТС / Лабараторная работа №1 вариант 7
.docxМинистерство образования Республики Беларусь
Учреждение образования
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Кафедра систем управления
Лабораторная работа №1
Вариант №7
Название работы «Программирование алгоритмов с использованием динамических массивов»
Проверил Выполнил:
Минск 2012
Задание 1: Заданы два массива – А(5) и В(5). Подсчитать в них количество отрицательных элементов и первым на печать вывести массив, имеющий наименьшее их количество.
Код программы:
#include "stdafx.h"
#include <iostream>
using namespace std;
void main()
{
int sizeA=0, sizeB=0;
cout << "Vvedite razmer massiva A: ";
cin >> sizeA;
cout << "Vvedite razmer massiva B: ";
cin >> sizeB;
int *A = new int[sizeA];
int *B = new int[sizeB];
int i=0;
cout << "\nVvedite massiv A:" << endl;
for(i=0;i<sizeA;i++)
{
cin >> A[i];
}
cout << "\nVvedite massiv B:" << endl;
for(i=0;i<sizeB;i++)
{
cin >> B[i];
}
int quantA=0, quantB=0; //quantity-kolichestvo
cout << "\nKolichestvo otric. elementiv v massive A: ";
for(i=0;i<sizeA;i++)
{
if(A[i]<0) quantA++;
}
cout << quantA << endl;
cout << "Kolichestvo otric. elementiv v massive B: ";
for(i=0;i<sizeB;i++)
{
if(B[i]<0) quantB++;
}
cout << quantB << endl;
if(quantA<quantB)
{
for(i=0;i<sizeA;i++)
{
cout << A[i] << " ";
}
cout << endl;
for(i=0;i<sizeB;i++)
{
cout << B[i] << " ";
}
cout << endl;
}
else
{
for(i=0;i<sizeB;i++)
{
cout << B[i] << " ";
}
cout << endl;
for(i=0;i<sizeA;i++)
{
cout << A[i] << " ";
}
cout << endl;
}
delete[] A;
delete[] B;
}
Результат работы:
Задание 2: Дан массив – A(n,n). Написать программу его поворота на 270° относительно его центра. На печать вывести исходный и повернутый массивы.
Код программы:
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
void main(){
int sizeA=0;
int i=0,j=0;
cout << "Vvedite razmernost` massiva A: ";
cin >> sizeA;
int **A = new int *[sizeA];
cout << "\nVvedite massiv A: " << endl;
for(i=0;i<sizeA;i++)
{
A[i] = new int [sizeA];
}
for(i=0;i<sizeA;i++)
for(j=0;j<sizeA;j++)
{
cin >> A[i][j];
}
////////////////////////////////////////////////////////
//angle - ygol
double angle=0;
cout << "\nVvedite ygol povorota massiva A: ";
cin >> angle;
while(angle>=360)
{
angle-=360;
}
////////////////////////////////////////////////////////
//ygol raven 270 gradysov
if(angle==270)
{
cout << "\nIshodnii massiv A:" << endl;
for(i=0;i<sizeA;i++)
{
for(j=0;j<sizeA;j++)
{
cout << A[i][j] << " ";
}
cout << endl;
}
cout << "\nPovernytii massiv A:" << endl;
for(j=0;j<sizeA;j++)
{
for(i=(sizeA-1);i>=0;i--)
{
cout << A[i][j] << " ";
}
cout << endl;
}
}
cout << endl;
/////////////////////////////////////////////////
for(i=0;i<sizeA;i++)
{
delete[] A[i];
}
delete[] A;
getch();
}
Результат работы: