одномерные массивы. Лаб одномерные массивы. Отчет по лабораторной работе 3 Одномерные массивы
Скачать 356.57 Kb.
|
Цель работы: Приобрести практический опыт работы при использовании однотипных данных или массивов. Задание 1 : Написать программу: Ввести массив вещественных чисел размером п, п вводиться с клавиатуры. Найти его наибольший и наименьший элементы и поменять их местами. Найти сумму и произведение всех элементов массива. Код программы: #include #include #include int main() { setlocale(LC_ALL, "Rus"); int n, k, l = 0, r = 0; float* mas, sum = 0, proizv = 1, t; float max, min; printf("Введите размер массива\n"); scanf_s("%d", &n); mas = (float*)malloc(n * sizeof(float)); for (k = 0; k < n; k++) { printf("Число %d: ", k + 1); scanf_s("%f", &mas[k]); sum += mas[k]; proizv *= mas[k]; } printf("Сумма n чисел равна %f\n", sum); printf("Произведение n чисел равно %f\n", proizv); max = mas[0]; min = mas[0]; for (k = 0; k < n; k++) { if (max < mas[k]) { max = mas[k]; l = k; } if (min > mas[k]) { min = mas[k]; r = k; } } t = mas[l]; mas[l] = mas[r]; mas[r] = t; printf("Минимальный элемент массива = %f\n", min); printf("Максимальный элемент массива = %f\n", max); for (k = 0; k < n; k++) printf("%f\n", mas[k]); free(mas); return 0; } Блок-схема: Результат программы: Задание 2: Написать программу в соответствии с вариантом. В одномерном массиве, состоящем из n вещественных элементов, вычислить: - номер максимального по модулю элемента массива; - сумму элементов массива, расположенных после первого положительного элемента. Код программы: #include #include #include #include int main() { setlocale(LC_ALL, "Rus"); int n, k; float *mas, sum=0, neg; float max, max_k = 1; printf("Введите размер массива\n"); scanf_s("%d", &n); mas = (float*)malloc(n * sizeof(float)); for (k = 0; k < n; k++) { printf("Число %d: ", k + 1); scanf_s("%f", &mas[k]); } max = mas[0]; for (k = 1; k < n; k++) { if (fabs(max) < fabs(mas[k])) { max = mas[k]; max_k = k; } } printf("Номер максимального по модулю элемента : %0.3f он находится в позиции %0.3f\n", max, max_k + 1); neg = 1; for (k = 0; k < n; k++) { if (mas[k] > 0) { neg = k; break; } } if (neg == 1) printf("нет положительных\n"); else { printf("номер I-го положительного элемента: %0.3f\n", neg + 1); for (k = neg + 1; k < n; k++) sum += mas[k]; printf("Сумма равна %0.3f\n", sum); } free(mas); return 0; } Блок-схема: Результат программы: Задание 3: Написать программу в соответствии с вариантом. Даны массивы A и B, состоящие из n элементов. Постройте массив S, каждый элемент которого равен сумме соответствующих элементов массивов A и B. Код программы: #include #include int main() { const int n = 5; int A[n] = { 1, 2, 3, 4, 5 }; int B[n] = { 6, 7, 8, 9, 10 }; int S[n]; printf("Array S:\n"); for (int i = 0; i < n; ++i) { S[i] = A[i] + B[i]; printf("S[%u] = %d \n", i, S[i]); } return 0; } Блок-схема: Результат программы: Вывод: В ходе лабораторной работы я приобрела практический опыт работы при использовании однотипных данных или массивов. |