- •1. Краткие теоретические сведения
- •1.1. Переменные с индексами и массивы
- •1.2. Описание массивов в программах
- •1.3. Динамические массивы
- •1.4. Программирование вычислительных процессов, содержащих одномерные массивы (Алгоритмы обработки одномерных массивов)
- •1.4.1. Инициализация массива
- •1.4.2. Формирование и вывод массива
- •1.4.3. Ввод – вывод статического одномерного массива
- •1.4.4. Ввод – вывод динамического одномерного массива
- •1.4.5. Суммирование элементов одномерного массива
- •1.4.6. Табуляция значений функции, аргумент которой – одномерный массив
- •1.4.7. Поиск минимального и максимального значений одномерного массива
- •1.4.8. Сортировка значений одномерного массива по возрастанию (убыванию) методом попарного сравнения
- •1.4.9. Сортировка значений одномерного массива по возрастанию (убыванию) методом нахождения минимума (максимума)
- •Нахождения минимума для примера 10.8
- •1.4.10. Перестановка двух элементов массива
- •1.4.11. Вычисление суммы элементов массива
- •1.4.12. Подсчет количества элементов массива, удовлетворяющих заданному условию
- •1.4.13. Вычисление произведения элементов массива
- •1.4.14. Поиск элементов, обладающих заданным свойством
- •1.4.15. Поиск в упорядоченном массиве
- •1.4.16. Поиск минимального и максимального элемента массива и его порядкового номера (индекса)
- •1.4.17. Копирование массивов
- •1.4.18. Формирование нового массива
- •1.4.19. Примеры решения задач по обработке одномерных массивов
- •2. Задание
- •2.4. Задания для выполнения на занятиях
- •2.4.1. Задание 1. Вычисление сумм, количеств и произведений элементов массива
- •2.4.1.1. Условие задания
- •2.4.1.2. Пример для варианта 30
- •2.4.1.3. Программа
- •2.4.1.4. Тестирование
- •2.4.2. Задание 2. Поиск минимального и максимального элементов массива
- •2.4.2.1. Условие задания
- •2.4.2.2. Пример для варианта 30
- •2.4.2.3. Программа
- •2.4.2.4. Тестирование
- •2.4.3. Задание 3. Формирование новых массивов
- •2.4.3.1. Условие задания
- •2.4.3.2. Пример для варианта 30
- •2.4.3.3. Программа
- •2.4.3.4. Тестирование
- •2.4.4. Задание 4. Обработка упорядоченных массивов
- •2.4.4.1. Условие задания
- •2.4.4.2. Пример для варианта 30
- •2.4.4.3. Программа
- •2.4.4.4. Тестирование
- •2.4.5. Задание 5. Задачи, сводящиеся к обработке одномерных массивов
- •2.4.5.1. Условие задания
- •2.4.5.2. Пример для варианта 30
- •2.4.5.3. Программа
- •2.4.5.4. Тестирование
- •2.4.6. Задание 6. Комбинированные задачи
- •2.4.6.1. Условие задания
- •2.4.6.2. Пример для варианта 30
- •2.4.6.3. Программа
- •2.5.1.2. Пример для варианта 30
- •2.5.1.3. Программа
- •2.5.1.4. Тестирование
- •2.5.2. Задание 8. Комбинированные задания
- •2.5.2.1. Условие задания
- •Варианты заданий
- •5. Пример решения задачи (вариант 30)
- •2.5.2.2. Разработка алгоритма.
- •2.5.2.3. Определение переменных программы
- •2.5.2.4. Разработка текста программы
- •2.5.2.5. Программа
- •2.5.2.6. Отладка программы
- •2.5.2.7. Результаты работы программы
- •2.5.3. Задание 9. Комбинированные задания
- •2.5.3.1. Варианты заданий
- •2.5.3.2. Пример программы обработки динамических массивов
- •2.5.3.3. Программа
- •2.5.3.4. Тестирование
- •2.5.4. Задание 10. Вычисления элементов вектора по формуле
- •2.5.4.2. Пример для варианта 30
- •2.5.4.3. Программа
- •2.5.5.4. Тестирование
- •2.5.5. Задание 11. Вычисления сумм и произведений векторов
- •2.5.5.2. Пример для варианта 30
- •2.4.11.3. Программа
- •2.5.5.4. Тестирование
- •2.5.6. Задание 12. Произвольные задачи
- •2.5.6.2. Пример для варианта 30
- •2.5.6.3. Программа
- •2.5.6.4. Тестирование
- •3. Выводы
- •4. Требование к отчету
- •4. Краткие теоретические сведения.
- •5. Вопросы для самоконтроля
- •Литература
- •1. Краткие теоретические сведения 2
- •1.1. Переменные с индексами и массивы 2
2.4.6.2. Пример для варианта 30
Найти количество нулей среди первых восьми и последних пяти элементов массива.
2.4.6.3. Программа
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <iostream.h>
#define n 19
int main()
{
int i,k1, k2;
float b[n];
// Ввод массива b
for (i=0; i<=n; i++)
{
cout <<"Введите " << i << "-ый элемент массива b: ";
cin >> b[i];
}
// Вывод массива b
cout <<"Массив b: " << endl;
for (i=0; i<=n; i++)
{
cout <<"i = " << i << " b[i] = " << b[i] <<endl;
}
k1=0;
k2=0;
for (i=0; i<=7; i++)
{if (b[i]==0) k1=k1+1;
}
for (i=n; i>=n-5; i--)
{if (b[i]==0) k2=k2+1;
}
cout <<"Количество нулей в первых восьми элементах " <<k1 <<endl;
cout <<"Количество нулей в последних пяти элементах " <<k2 <<endl;
cout << "Нажмите любую клавишу..." ;
getch();
return 0;
}
2.4.6.4. Тестирование
2.5. Домашние задания
2.5.1. Задание 7. Задания по сортировкам
2.5.1.1. Условие задания
Разработать алгоритм и программу сортировки одномерных массивов. Задачи выбираются из таблицы 10.5 в соответствии с вариантом задания.
Требуется составить алгоритм и программу, которая вводит и выводит исходные массивы, выполняет требуемую в условии сортировку, не используя дополнительного массива, и выводит отсортированный (упорядоченный) массив. Для отладки программ самостоятельно задайте необходимые наборы исходных данных.
№ |
Задание |
1 |
Отсортировать массив по неубыванию методом обменов рядом стоящих элементов с фиксированным числом просмотров, направленных слева направо. |
2 |
Отсортировать массив по неубыванию методом извлечения минимального элемента, извлечение минимального элемента проводить справа налево. |
3 |
Отсортировать массив по невозрастанию методом включения с выбором включаемого элемента слева направо. |
4 |
Отсортировать массив по неубыванию методом включения с выбором включаемого элемента слева направо |
5 |
Отсортировать массив по невозрастанию методом включения с выбором включаемого элемента справа налево. |
6 |
Отсортировать массив по неубыванию методом распределения по массиву ключей, упорядоченному по неубыванию. |
7 |
Отсортировать массив по невозрастанию методом обменов рядом |
8 |
стоящих элементов с минимально необходимым (переменным) |
9 |
числом просмотров, направленных справа налево. |
10 |
Отсортировать массив по невозрастанию методом извлечения максимального элемента, поиск максимального элемента проводить слева направо. |
11 |
Отсортировать массив по неубыванию методом включения с выбором включаемого элемента справа налево. |
12 |
Получить упорядоченный по неубыванию массив методом слияния двух упорядоченных по невозрастанию массивов. |
13 |
Отсортировать массив по невозрастанию методом распределения по массиву ключей, упорядоченному по неубыванию |
14 |
Отсортировать массив по неубыванию методом обменов рядом стоящих элементов за один просмотр (с возвратами) справа налево. |
15 |
Получить упорядоченный по невозрастанию массив методом слияния двух упорядоченных по неубыванию массивов. |
16 |
Отсортировать массив по неубыванию методом распределения по массиву ключей, упорядоченному по невозрастанию. |
17 |
Отсортировать массив по невозрастанию методом обменов рядом стоящих элементов с фиксированным числом просмотров, направленных слева направо. |
18 |
Отсортировать массив по невозрастанию методом извлечения минимального элемента, поиск минимального элемента проводить слева направо. |
19 |
Отсортировать массив по неубыванию методом включения с выбором включаемого элемента слева направо. |
20 |
Получить упорядоченный по неубыванию массив методом слияния двух массивов, один из которых упорядочен по неубыванию, а другой - по невозрастанию. |
21 |
Отсортировать массив по невозрастанию методом распределения по массиву ключей, упорядоченному по невозрастанию. |
22 |
Отсортировать массив по неубыванию методом обменов рядом стоящих элементов с минимально необходимым (переменным) числом просмотров, направленных слева направо. |
23 |
Отсортировать массив по неубыванию методом извлечения максимального элемента, поиск максимального элемента проводить слева направо. |
24 |
Получить упорядоченный по невозрастанию массив методом слияния двух упорядоченных по невозрастанию массивов. |
25 |
Отсортировать массив по невозрастанию методом обменов рядом стоящих элементов за один просмотр (с возвратами) слева направо. |
26 |
Отсортировать массив по невозрастанию методом извлечения минимального элемента, поиск минимального элемента проводить справа налево. |
27 |
Получить упорядоченный по неубыванию массив методом слияния двух упорядоченных по неубыванию массивов. |
28 |
Отсортировать массив по неубыванию методом обменов рядом стоящих элементов с фиксированным числом просмотров, направленных справа налево. |
29 |
Отсортировать массив по неубыванию методом извлечения минимального элемента, поиск минимального элемента проводить слева направо. |
30 |
Отсортировать массив по невозрастанию методом обменов рядом стоящих элементов с минимально необходимым (переменным) числом просмотров, направленных слева направо. |
31 |
Отсортировать массив по невозрастанию методом извлечения максимального элемента, поиск минимального элемента проводить справа налево. |
32 |
Отсортировать массив по неубыванию методом обменов рядом стоящих элементов с фиксированным числом просмотров, направленных справа налево. |
33 |
Отсортировать массив по неубыванию методом обменов рядом стоящих элементов с минимально необходимым (переменным) числом просмотров, направленных справа налево. |
34 |
Отсортировать массив по невозрастанию методом обменов рядом стоящих элементов за один просмотр (с возвратами) справа налево. |
35 |
Отсортировать массив по неубыванию методом обменов рядом стоящих элементов за один просмотр (с возвратами) слева направо. |
36 |
Получить упорядоченный по неубыванию массив методом слияния двух массивов, один из которых упорядочен по невозрастанию, а другой - по неубыванию. |
37 |
Получить упорядоченный по невозрастанию массив методом слияния двух массивов, один из которых упорядочен по невозрастанию, а другой - по неубыванию. |
38 |
Получить упорядоченный по невозрастанию массив методом слияния двух массивов, один из которых упорядочен по неубыванию, а другой - по невозрастанию. |