Формирование и обработка одномерных массивов
Автор: anna_s_11 • Март 17, 2022 • Лабораторная работа • 1,346 Слов (6 Страниц) • 379 Просмотры
Лабораторная работа №1
ФОРМИРОВАНИЕ И ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ
Цель работы: Приобретение навыков разработки алгоритмов формирования и обработки одномерного массива. Закрепление понятий базовых структур цикл, разветвление.
Задание к лабораторной работе
В соответствии с вариантом (таблица 1) разработайте алгоритм обработки элементов массива.
Напишите программу на алгоритмическом языке в соответствии со схемой алгоритма.
Проведите тестирование программы в среде программирования.
Таблица 1.
№ вар. | Исходные данные | Действия по обработке массива |
5 | Массив Z[15] нецелых элементов вводят с клавиатуры. | Найти сумму положительных элементов и количество отрицательных элементов массива Z. Сформировать новый массив, переписав в него отрицательные числа исходного массива. |
Схема алгоритма обработки элементов массива
Программа на заданном языке программирования
[pic 1]
Программа на заданном языке программирования
- #include <stdio.h>
- #include <conio.h>
- #include <locale.h>
- #define MAX 15 // количество элементов массива
- int main(void)
- {
- float Z[MAX]; // исходный массив дробных чисел
- int i; // счетчик циклов
- float s = 0; // сумма положительных элементов
- int k = 0; // количество отрицательных элементов
- float NEW_Z[MAX]; // сформированный массив, состоящий из отр.чисел
- int iminus; // позиция отр.элемента при формировании нового массива
- // руссификация всех диалогов в программе
- setlocale(LC_ALL, "");
- printf("Массив Z[15] нецелых элементов вводят с клавиатуры.\n");
- printf("\t- найти сумму положительных элементов массива;\n");
- printf("\t- найти количество отрицательных элементов массива;\n");
- printf("\t- сформировать новый массив, переписав в него отрицательные числа исходного массива.\n\n");
- // запрашиваем элементы массива вводом с клавиатуры
- printf("Сейчас вам предстоит ввести %d вещественных чисел с клавиатуры: \n", MAX);
- for(i = 0; i < MAX; i++)
- {
- printf("\t- введите Z[%d] элемент: ", (i + 1));
- scanf("%f", &Z[i]);
- }
- // выводим элементы исходного массива на экран
- printf("\nИсходный массив Z имеет вид:\n");
- for(i = 0; i < MAX; i++)
- printf("%9.3f", Z[i]);
- // начинается обработка элементов массива
- iminus = -1;
- for(i = 0; i < MAX; i++)
- {
- if(Z[i] > 0)
- s += Z[i];
- if(Z[i] < 0)
- {
- k++;
- iminus++;
- NEW_Z[iminus] = Z[i];
- }
- }
- // выводим результаты на экран
- printf("\n\nПолученные результаты:\n");
- printf("\tсумма положительных элементов: %0.3f\n", s);
- printf("\tколичество отрицательных элементов: %d\n", k);
- printf("\tмассив, состоящий из отрицательных элементов: ");
- for(i = 0; i < k; i++)
- printf("%10.3f", NEW_Z[i]);
- printf("\n\для завершения работы программы нажмите клавишу ENTER...");
- getch();
- return 0;
- }
Работа программы (скрины экранов с результатами работы программы)
[pic 2]
Рис. 1. Исходный массив содержит как положительные, так и отрицательные значения
[pic 3]
Рис. 2. Исходный массив содержит только положительные элементы
Контрольные вопросы
1.Какие ограничения накладываются на индексы элементов массивов?
...