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

Лабы / Отчёт Лаба 8

.docx
Скачиваний:
0
Добавлен:
31.12.2025
Размер:
232.75 Кб
Скачать

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

Программирование с применением функций

выполнила Бибикова А.А

ИВТ-245

8.1

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

#include <stdio.h>

#include <locale.h>

// Функция для обработки массивов

void pr(int a1[], int a2[], int res[], int size) {

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

if (a1[i] != a2[i]) {

res[i] = a1[i] + a2[i];

}

else {

res[i] = a1[i];

}

}

}

// Функция для вывода массива

void pri(int a[], int size) {

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

printf("%d ", a[i]);

}

printf("\n");

}

int main() {

setlocale(LC_ALL, "RUS");

int a[10] = { 5, 2, 7, 1, 8, 3, 4, 5, 6, 6 };

int b[10] = { 4, 1, 7, 3, 8, 9, 1, 5, 3, 6 };

int c[10];

int d[5] = { 10, 20, 30, 40, 50 };

int e[5] = { 5, 20, 15, 40, 5 };

int f[5];

pr(a, b, c, 10);

printf("Результат обработки массивов a и b:\n");

pri(c, 10);

pr(d, e, f, 5);

printf("Результат обработки массивов d и e:\n");

pri(f, 5);

return 0;

}

8.2

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

#include <stdio.h>

#include <locale.h>

void pr(int a[], int b[], int c[], int size) {

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

if (a[i] != b[i]) {

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

}

else {

c[i] = a[i];

}

}

}

void in(int arr[], int size, const char* name) {

printf("Введите элементы массива %s: ", name);

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

printf("%s[%d]:", name, i);

scanf_s("%d", &arr[i]);

}

}

void out(int arr[], int size) {

printf("Результаты: ");

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

printf("%d ", arr[i]);

}

printf("\n");

}

int main() {

setlocale(LC_ALL, "RUS");

const int SIZE = 10;

int a[SIZE], b[SIZE], c[SIZE];

in(a, SIZE, "A");

in(b, SIZE, "B");

pr(a, b, c, SIZE);

out(c, SIZE);

int d[SIZE], e[SIZE], f[SIZE];

in(d, SIZE, "D");

in(e, SIZE, "E");

pr(d, e, f, SIZE);

out(f, SIZE);

return 0;

}

8.3

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

#include <stdio.h>

#include <math.h>

#include <locale.h>

#define SIZE_A 6

#define SIZE_B 8

#define SIZE_C 7

double geo(double a[], int size) {

setlocale(LC_ALL, "RUS");

double pr = 1.0;

int c = 0;

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

if (a[i] > 0) {

pr *= a[i];

c++;

}

}

if (c > 0) {

return pow(pr, 1.0 / c);

}

else {

return -1;

}

}

int main() {

double A[SIZE_A] = { 1.0, -2.0, 3.0, 4.0, -5.0, 6.0 };

double B[SIZE_B] = { 0.5, 2.5, -1.0, 8.0, 3.0, -3.0, 9.0, 4.0 };

double C[SIZE_C] = { -1.0, -2.0, -3.0, -4.0, -5.0, 10.0, 12.0 };

double mA = geo(A, SIZE_A);

double mB = geo(B, SIZE_B);

double mC = geo(C, SIZE_C);

if (mA >= 0) {

printf("Среднее геометрическое положительных элементов массива A: %.2f \n", mA);

}

else {

printf("В массиве A нет положительных элементов \n");

}

if (mB >= 0) {

printf("Среднее геометрическое положительных элементов массива B: %.2f\n", mB);

}

else {

printf("В массиве B нет положительных элементов \n");

}

if (mC >= 0) {

printf("Среднее геометрическое положительных элементов массива C: %.2f\n", mC);

}

else {

printf("В массиве C нет положительных элементов \n");

}

return 0;

}

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