
- •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.2.2. Пример для варианта 30
Найти максимальный элемент и поменять его местами с предпоследним элементом массива.
2.4.2.3. Программа
//Лабораторная работа № 10
//Задание 10-2k
//Поиск минимального и максимального элементов массива
//Вариант 30
//Автор Петрова Мария гр. ИНФО-101
// 24.04.2012
//= = = = = = = = = = = = == = = = == = = = ==
#include <conio.h> // подключение библиотеки функций ввода-вывода
#include <iostream.h> // подключение библиотеки потокового ввода-вывода
#include <math.h> // подключение библиотеки математических функций
#include <iomanip.h> // подключение библиотеки средств манипулирования потоками
int main ()
{
// Объявление переменных
int n,i;
float max, k;
float a[20];
cout << "Введите число элементов массива a (n <= 20): ";
cin >> n;
// Ввод массива
for (i=0; i<n; i++)
{
cout <<"Введите " << i << "-ый элемент массива: ";
cin >> a[i];
}
max = a[0];
k = 0;
// Вычисление суммы четных ненулевых элементов
for (i=1; i<n; i++)
{if (a[i]> max) {max = a[i]; k = i;}
}
// Вывод
cout << "Число элементов массива n = " << n <<endl;
// вывод заголовка и шапки таблицы
cout << " Исходный массив а " << endl
<< " |-----------------------------|" << endl
<< " | i | a[i] |" << endl
<< " |-------------|---------------|" << endl;
for (i=0; i<n; i++)
{
// Вывод очередной строки массива
// Вывод индекса i
cout << " I " << "i= "<< setw(3) << i << setw(7) << " I ";
// Вывод значения элемента массива
cout << " " << setw(4) << "a[i] = " << setw(3)<<a[i] << " I " << endl;
}
cout << " |-------------|---------------|" << endl;
cout << "Значение максимального элемента max = " << max << endl;
cout << "Индекс максимального элемента k = " << k << endl;
a[i-2] = max;
cout << " Преобразованныйй массив а " << endl
<< " |-----------------------------|" << endl
<< " | i | a[i] |" << endl
<< " |-------------|---------------|" << endl;
for (i=0; i<n; i++)
{
// Вывод очередной строки массива
// Вывод индекса i
cout << " I " << "i= "<< setw(3) << i << setw(7) << " I ";
// Вывод значения элемента массива
cout << " " << setw(4) << "a[i] = " << setw(3)<<a[i] << " I " << endl;
}
cout << " |-------------|---------------|" << endl;
cout << "Нажмите любую клавишу..." ;
getch();
return 0;
}
Используемые переменные:
n – число элементов массива;
max – максимальный элемент массива;
k – индекс максимального элемента массива;
a[] – статический массив;
i – параметр цикла.
2.4.2.4. Тестирование
2.4.3. Задание 3. Формирование новых массивов
2.4.3.1. Условие задания
В каждой из задач данного раздела заданы два массива чисел произвольной длины. Требуется сформировать новый массив по алгоритму, указанному в задании. Программа должна:
1) вводить размерности и элементы исходных массивов;
2) выполнять действия в соответствии с условием задачи;
3) выводить:
– исходные массивы,
– сформированный массив, если он был сформирован. В противном случае – соответствующее сообщение.
Исходные данные для отладки программы выбрать самостоятельно.
Таблица 10.4
№ |
Задание |
1 |
Сформировать массив из элементов исходных массивов, больших второго элемента первого массива и положительных элементов второго массива. |
2 |
Сформировать массив из отрицательных элементов первого массива и элементов обоих массивов, больших первого лемента второго массива. |
3 |
Сформировать массив из элементов исходных массивов, меньших произведения последних элементов заданных массивов. |
4 |
Сформировать массив из положительных исходных массивов, меньших 10. |
5 |
Сформировать массив из отрицательных элементов исходных массивов, больших - 5. |
6 |
Сформировать массив из элементов исходных массивов, непревышающих третий элемент каждого из них. |
7 |
Сформировать массив из элементов исходных массивов, непревышающих первого элемента первого массива. |
8 |
Сформировать массив из элементов исходных массивов, больших первого элемента второго массива. |
9 |
Сформировать массив из элементов исходных массивов, непревышающих сумму первых элементов исходных массивов. |
10 |
Сформировать массив из положительных элементов первого массива и отрицательных элементов второго массива. |
11 |
Сформировать массив из отрицательных элементов первого массива и положительных элементов второго массива. |
12 |
Сформировать массив из отрицательных элементов первого массива и элементов второго массива, небольших 3. |
13 |
Сформировать массив из элементов первого массива, больших последнего элемента второго массива, и элементов второго массива, меньших последнего элемента первого массива. |
14 |
Сформировать массив из тех элементов исходных массивов, которые меньше заданного числа. |
15 |
Сформировать массив из элементов первого массива, больших 5, и элементов обоих массивов, меньших -7. |
16 |
Сформировать массив из элементов исходных массивов, непринадлежащих промежутку [-4;6], и из элементов, больших 12, второго массива. |
17 |
Сформировать массив из элементов первого массива, которые больше заданного числа D, и элементов второго массива, которые не больше D. |
18 |
Сформировать массив из элементов первого массива, непринадлежащих промежутку [2;7], и элементов второго массива из этого промежутка. |
19 |
Сформировать массив из элементов, больших 1, первого массива и элементов второго массива, принадлежащих промежутку (0;1). |
20 |
Сформировать массив из положительных элементов первого массива и элементов обоих массивов, меньших -4. |
21 |
Сформировать массив из элементов обоих массивов, меньших заданного значения, и отрицательных элементов второго массива. |
22 |
Сформировать массив из элементов исходных массивов, попадающих в отрезок [-10;3]. |
23 |
Сформировать массив из элементов, больших 10 и меньших -10, исходных массивов. |
24 |
Сформировать массив из меньших -3 элементов исходных массивов, стоящих на четных местах. |
25 |
Сформировать массив из положительных элементов первого массива и отрицательных, больших -5, элементов второго массива. |
26 |
Сформировать массив из положительных элементов первого массива, стоящих на четных местах, и элементов второго массива, непревышающих первый элемент второго массива. |
27 |
Сформировать массив из элементов первого массива, больших первого элемента второго массива, и из отрицательных элементов второго массива. |
28 |
Сформировать массив из элементов исходных массивов, небольших 3 и неменьших 10. |
29 |
Сформировать массив из положительных элементов первого массива, и отрицательных элементов обоих массивов. |
30 |
Сформировать массив из отрицательных элементов первого массива и всех элементов исходных массивов, больших 5. |