Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
11.05.2024
Размер:
169.08 Кб
Скачать

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«ОМСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Кафедра «Информатика и вычислительная техника»

ОТЧЕТ 

по лабораторной работе № 6

«ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ ОБРАБОТКИ ОДНОМЕРНЫХ МАССИВОВ»

Выполнил: 

студент группы ИВТ-234 Кукушкина А.А.

______________________________________

(дата, подпись)

Проверил:

ст. пр. доцент Дорошенко М.С.

_____________________________________________________

(дата, подпись)

Омск 2023

Лабораторная работа №6

Тема: Программирование алгоритмов обработки одномерных массивов

Вариант 9

Задание 1

Условие задачи:

Начертить структурную схему алгоритма, написать и отладить прог­рамму для одной из следующих задач. Исходные массивы задать типизированными константами.

Даны два одномерных массива А и В. Вычислить элементы массива С по правилу: если аi и bi различны, то сi присвоить их сумму, при одинаковых аi, bi в сi переписать соответствующий элемент массива А.

Схема алгоритма:

Текст программы:

#include<iostream>

#include<conio.h>

using namespace std;

int main()

{

int A[]{ 15, 33, 15, 6, 24, 47, 24, 41, 8, 26 };

int B[]{ 3, 4, 15, 43, 35, 34, 15, 41, 39, 26 };

int C[10]{};

for (int i = 0; i < 10; ++i)

{

if (A[i] != B[i])

{

C[i] = A[i] + B[i];

cout << C[i] << endl;

}

else

{

C[i] = A[i];

cout << C[i] << endl;

}

}

_getch();

return 0;

}

Результаты выполнения программы, выводы:

Задание 2

Условие задачи:

Начертить структурную схему алгоритма, написать и отладить прог­рамму для одной из следующих задач. Элементы исходных массивов ввести через оператор ввода.

Даны два одномерных массива А и В. Вычислить элементы массива С по правилу: если аi и bi различны, то сi присвоить их сумму, при одинаковых аi, bi в сi переписать соответствующий элемент массива А.

Схема алгоритма:

Текст программы:

#include<iostream>

#include<conio.h>

#include<locale>

using namespace std;

int main()

{

setlocale(LC_ALL, "ru");

int A[10]{}, B[10]{}, C[10]{}, a, b;

for (int i = 0; i < 10; i++)

{

printf("Введите %d-е элементы массивов A и B.\n", i);

cin >> a >> b;

A[i] = a;

B[i] = b;

}

cout << "Массив A:" << " " << "Массив B:" << endl;

for (int i = 0; i < 10; i++)

{

cout << A[i] << " " << B[i] << endl;

}

cout << "Массив C:" << endl;

for (int i = 0; i < 10; ++i)

{

if (A[i] != B[i])

{

C[i] = A[i] + B[i];

cout << C[i] << endl;

}

else

{

C[i] = A[i];

cout << C[i] << endl;

}

}

_getch();

return 0;

}

Результаты выполнения программы, выводы:

После выполнения программы, нужно ввести с клавиатуры элементы массивов A и B, затем они выводятся на экран. После этого на экран выводится массив C, полученный из массивов A и B.

Задание 3

Условие задачи:

Модифицировать программу 3_2 для функций F1(x) и F2 (x) таким образом, чтобы результаты были сформированы в виде трех одномерных массивов. Выполнить ее и сравнить результаты с полученными в лабора­торных работах 3 и 4.

Схема алгоритма:

Текст программы:

#include <iostream>

#include <conio.h>

#include <math.h>

#include <iomanip>

#define a 1.0

#define b 3.0

#define n 15.0

using namespace std;

int main()

{

int i;

float X[15]{}, F1[15]{}, F2[15]{}, x, s;

s = fabs(b - a) / (n - 1);

x = a;

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

{

F1[i] = sqrt(exp(x) - 1);

F2[i] = x * pow(log(x), 2);

X[i] = x;

x = x + s;

}

cout << fixed << setprecision(6);

cout << " " << "x" << " " << "F1" << " " << "F2" << endl;

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

{

cout << X[i] << " " << F1[i] << " " << F2[i] << endl;

}

_getch();

return 0;

}

Результаты выполнения программы, выводы:

После выполнения программы на экран вывелось три одномерных массива, содержащие значения x, F1 и F2. Результаты полностью совпали со значениями, полученными после выполнения программ 3_2, 4_3 и 5_1.

Соседние файлы в папке Лабораторные работы