Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР10-С++-26-апреля-2012.doc
Скачиваний:
24
Добавлен:
15.09.2019
Размер:
2.35 Mб
Скачать

2.4.1.2. Пример для варианта 30

Найти сумму ненулевых чисел, стоящих на четных местах, и количество чисел, принадлежащих промежутку (М,K).

2.4.1.3. Программа

//Лабораторная работа № 10

//Задание 10-1k

// Вычисление сумм, количеств и произведений элементов массива

//Вариант 30

//Автор Петрова Мария гр. ИНФО-101

// 24.04.2012

//= = = = = = = = = = = = == = = = == = = = ==

#include <conio.h> // подключение библиотеки функций ввода-вывода

#include <iostream.h> // подключение библиотеки потокового ввода-вывода

#include <math.h> // подключение библиотеки математических функций

#include <iomanip.h> // подключение библиотеки средств манипулирования потоками

int main ()

{

// Объявление переменных

int n,i;

float m, k, s, q;

float a[20];

cout << "Введите m: ";

cin >> m;

cout << "Введите k: ";

cin >> k;

cout << "Введите число элементов массива a (n <= 20): ";

cin >> n;

// Ввод массива

for (i=0; i<n; i++)

{

cout <<"Введите " << i << "-ый элемент массива: ";

cin >> a[i];

}

s = 0;

q = 0;

// Вычисление суммы четных ненулевых элементов

for (i=0; i<n; i+=2)

{if (a[i]!= 0) s = s + a[i];

}

// Подсчет числа элементов в промежутке

for (i=0; i<n; i++)

{if ((a[i]>=m) && (a[i] <= k)) q= q +1;

}

// Вывод

cout <<"Вывод результатов решения " << endl;

cout <<"m = " << m << " k = " << k << endl;

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 <<"Сумма четных ненулевых элементов s = " << s<< endl;

cout <<"Число элементов в промежутке q = " << q << endl;

cout << "Нажмите любую клавишу..." ;

getch();

return 0;

}

Используемые переменные:

n – число элементов массива;

m – левая граница интервала;

k – правая граница интервала;

a[] – статический массив;

s – сумма не нулевых элементов массива;

q – количество элементов массива, лежащих в заданном интервале;

i – параметр цикла.

2.4.1.4. Тестирование

2.4.2. Задание 2. Поиск минимального и максимального элементов массива

2.4.2.1. Условие задания

В каждой из задач данного раздела предполагается, что задан массив чисел. Программа должна:

1) вводить размерность и элементы исходного массива;

2) выполнять действия в соответствии с условием задачи;

3) выводить:

– исходный массив,

– максимальный или минимальный элемент массива и его номер,

– массив, полученный в результате выполнения задания.

Исходные данные для отладки программы выбрать самостоятельно.

Таблица 10.3

Задание

1

Найти максимальный элемент и поменять его местами с последним элементом массива.

2

Найти минимальный элемент и поменять его местами с предыдущим элементом массива.

3

Найти минимальный элемент и поменять его местами с последующим элементом массива.

4

Найти максимальный элемент и поменять его местами с шестым элементом массива.

5

Найти максимальный элемент, присвоить его значение последнему элементу массива, а вместо максимального числа записать - 1.

6

Найти минимальный элемент, присвоить его значение первому элементу массива, а вместо минимального элемента записать число 9999.

7

Найти минимальный элемент и поменять его местами с третьим элементом массива.

8

Найти максимальный элемент и поменять его местами с предпоследним элементом массива.

9

Найти минимальный элемент и присвоить его значение элементу с номером (N - 3), а вместо минимального элемента записать число 101.

10

Найти максимальный элемент и поменять его местами с элементом под номером (N - 4).

11

Найти минимальный элемент и записать вместо него число N2+N.

12

Найти максимальный элемент и поменять его местами со вторым элементом массива.

13

Найти минимальный элемент и поменять его местами с последним элементом массива.

14

Найти максимальный элемент и вместо него записать значение N+2.

15

Найти минимальный элемент и поменять его местами с третьим элементом массива.

16

Найти минимальный элемент и вместо него записать N .

17

Найти максимальный элемент и поменять его местами с предпоследним элементом массива.

18

Найти минимальный элемент, присвоить его значение последнему элементу массива, а вместо минимального элемента записать значение 3N.

19

Найти максимальный элемент и поменять его местами с четвертым элементом массива.

20

Найти минимальный элемент и поменять его местами с предпоследним элементом массива.

21

Найти максимальный элемент и присвоить его значение элементу с номером (N - 3).

22

Найти минимальный элемент и присвоить его значение второму элементу массива.

23

Найти максимальный элемент и поменять его местами со вторым элементом массива.

24

Найти минимальный элемент и поменять его местами с элементом массива, номер которого задан.

25

Найти максимальный элемент и поменять его местами с последующим элементом массива.

26

Найти минимальный элемент, присвоить его значение первому элементу массива, а вместо минимального числа записать 10.

27

Найти минимальный элемент, присвоить его значение второму и четвертому элементам массива, а вместо минимального числа записать сумму второго и четвертого элементов массива.

28

Найти максимальный элемент и поменять его местами с элементом, номер которого задан.

29

Найти минимальный элемент и заменить его полусуммой первого и последнего элементов.

30

Найти максимальный элемент и поменять его местами с предпоследним элементом массива.