1 семестр / лр 12
.docxУчреждение образования
«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра информационных систем и технологий
ОТЧЕТ
по лабораторной работе №12
Использование указателей
Выполнила: студентка ФИТ группы № 9 Каленик Алина
Проверила: Пустовалова Наталья Николаевна
Минск 2020
Задание №1
Заданы два массива А и В. Подсчитать в них количество элементов, меньших значения t, и первым на печать вывести массив, имеющий наибольшее их количество.
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int n, s1 = 0, s2 = 0, i = 0;
cout << "Введите количество элементов массива ";
cin >> n;
float* a = new float[n];
float* b = new float[n];
float* pa, * pb, t;
cout << "Заполните массив a" << endl;
for (pa = a; pa < a + n; pa++)
{
cout << "a[" << i << "] = "; cin >> *(pa+1);
i++;
}
cout << "Заполните массив b"<< endl;
i = 0;
for (pb = b; pb < b + n; pb++)
{
cout << "b[" << i << "] = "; cin >> *(pb + 1);
i++;
}
cout << "Значения массива должны быть меньше t = ";
cin >> t;
for (pa = a; pa < a+n; pa++)
{
if (*(pa + 1) < t) s1++;
}
for (pb = b; pb < b + n; pb++)
{
if (*(pb + 1) < t) s1++;
}
if (s1 > s2)
{
cout << "a {" << n << "} = [ ";
for (pa = a; pa < a + n; pa++)
cout << *(pa + 1) << " ";
cout << "]" << endl;
cout << "b {" << n << "} = [ ";
for (pb = b; pb < b + n; pb++)
cout << *(pb + 1) << " ";
cout << "]" << endl;
}
else
{
cout << "b {" << n << "} = [ ";
for (pb = b; pb < b + n; pb++)
cout << *(pb + 1) << " ";
cout << "]" << endl;
cout << "a {" << n << "} = [ ";
for (pa = a; pa < a + n; pa++)
cout << *(pa + 1) << " ";
cout << "]" << endl;
}
}
Задание №2
Даны два массива С и В, каждый из m элементов. Подсчитать количество таких чисел k, для которых: C[k] > B[k] и C[k] < B[k], С[k] = B[k].
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int m, s1 = 0, s2 = 0, s3 = 0, i = 0, j = 0;
cout << "Введите количество элементов массива ";
cin >> m;
float* c = new float[m];
float* b = new float[m];
float* pc, * pb, k;
cout << "Заполните массив a" << endl;
for (pc = c; pc < c + m; pc++)
{
cout << "c[" << i << "] = "; cin >> *(pc+1);
i++;
}
cout << "Заполните массив b"<< endl;
i = 0;
for (pb = b; pb < b + m; pb++)
{
cout << "b[" << i << "] = "; cin >> *(pb + 1);
i++;
}
i = 0;
for (pc = c; pc < c + m; pc++)
{
j = 0;
for (pb = b; pb < b + m; pb++)
{
if (i == j)
{
if (*(pc + 1) < (*(pb + 1))) s1++;
if (*(pc + 1) > (*(pb + 1))) s2++;
if (*(pc + 1) == (*(pb + 1))) s3++;
}
j++;
}
i++;
}
cout << "Количество таких чисел k, для которых c[k] < b[k] = "<< s1 << endl;
cout << "Количество таких чисел k, для которых c[k] > b[k] = " << s2 << endl;
cout << "Количество таких чисел k, для которых c[k] = b[k] = " << s3 << endl;
}