Лабораторная работа № 4. Массивы
Цель работы: получить навыки работы с массивами
Теоретическая часть
Приступая к решению задач этого раздела, следует вспомнить, что:
- массив — это структура данных, представляющая собой набор, совокупность элементов одного типа;
- в инструкции объявления массива указывается количество элементов массива;
- элементы массива нумеруются с нуля;
- доступ к элементу массива осуществляется путем указания индекса (номера) элемента. В качестве индекса можно использовать выражение целого типа — константу или переменную. Индекс может меняться от 0 до N-1, где N — количество элементов массива;
- дляввода, вывода и обработки массивов удобно использовать инструкции циклов (for, while);
- типичной ошибкой при использовании массивов является обращение к несуществующему элементу, т. е. выход индекса за допустимое значение.
Ниже приведен пример объявления массива из 10 элементов вещественного типа и заполнение их случайными числами в диапазоне от 0 до 49:
#include "stdafx.h"
#include "stdlib.h"
#include "time.h"
#include "iostream"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
float mas[10];
srand(time(NULL));
for (int i=0;i<10;i++)
{
mas[i]=rand()%50;
cout<<"mas["<<i<<"]="<<mas[i]<<"\n";
}
system("pause");
return 0;
}
Пример работы с двумерным массивом:
#include "stdafx.h"
#include "stdlib.h"
#include "time.h"
#include "iostream"
#include <iomanip>
using namespace std;
#define Nx 5
#define Ny 6
int _tmain(int argc, _TCHAR* argv[])
{
float mas[Nx][Ny];
srand(time(NULL));
for (int i=0;i<Nx;i++)
{
for (int j=0;j<Ny;j++)
{
mas[i][j]=rand()%51;
cout<<setw(5)<<mas[i][j];
}
cout<<"\n";
}
system("pause");
return 0;
}
4.3 Задания
4.3.1 Одномерный массив
1. Написать программу, которая вводит с клавиатуры одномерный массив из 5 целых чисел, после чего выводит количество ненулевых элементов. Перед вводом каждого элемента должна выводиться подсказка с номером элемента.
Ввод массива целых чисел.
После ввода каждого числа нажмите <Enter>
а[1]->12
а[2]->0
а[3]->3
а[4]->-1
а[5]->0
В массиве 3 ненулевых элемента
2. Написать программу, которая выводит минимальный элемент введенного с клавиатуры массива целых чисел. Ниже приведен рекомендуемый вид экрана во время работы профаммы (данные, введенные пользователем, выделены полужирным шрифтом).
Поиск минимального элемента массива.
Введите в одной строке элементы массива (5 целых чисел) и нажмите <Enter>
-> 23 0 45 -5 12
Минимальный элемент массива: -5
3. Написать программу, которая вычисляет среднее арифметическое ненулевых элементов введенного с клавиатуры массива целых чисел. Ниже приведен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом).
Введите элементы массива (10 целых чисел) в одной строке и
нажмите <Enter>.
-> 23 0 45 -5 12 0 -2 30 0 64
Сумма элементов массива: 184
Количество ненулевых элементов: 7
Среднее арифметическое ненулевых элементов: 23.86
4. Написать программу, которая вычисляет среднее арифметическое элементов массива без учета минимального и максимального элементов массива. Ниже приведен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом).
среднее арифметическое без учета min и max значений.
Введите массив (10 целых чисел в одной строке)
->12 10 5 7 15 4 10 17 23 7
Минимальный элемент: 4
Максимальный элемент: 23
Среднее арифм. без учета min и max значений: 10.36
5. Написать программу, которая вычисляет среднюю (за неделю) температуру воздуха. Исходные данные должны вводиться во время работы программы. Рекомендуемый вид экрана приведен ниже (данные, введенные пользователем, выделены полужирным шрифтом).
Введите температуру воздуха за неделю.
Понедельник -> 12
Вторник -> 10
Среда -> 16
Четверг -> 18
Пятница -> 17
Суббота -> 16
Воскресенье -> 14
Средняя температура за неделю: 14.71 град.
4.3.2 Двухмерный массив
1. Написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет сумму его элементов по столбцам.
2. Написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет сумму его элементов по строкам.
3. Написать программу, которая обрабатывает результаты экзамена. Для каждой оценки программа должна вычислить процент от общего количества оценок. Рекомендуемый вид экрана во время работы программы приведен ниже. Данные, введенные пользователем, выделены полужирным шрифтом.
Обработка результатов экзамена.
Введите исходные данные:
пятерок -> 12
четверок -> 10
троек -> 7
двоек -> 1
Результаты экзамена
пятерок 12
четверок 10
троек 7
двоек 1
Для завершения программы нажмите <Enter>
4. Написать программу, которая вводит по строкам с клавиатуры двумерный массив и вычисляет среднее арифметическое его элементов.
5. Написать программу, которая определяет номер строки квадратной матрицы, сумма элементов которой максимальна.