Содержание
ВНИМАНИЕ | Для получения программы своего варианта пишите на наш электронный адрес proglabs@mail.ru |
Уровень А
Постановка задания
Требуется определить массив целых чисел (например, размера 30), заполнить его случайными числами (в диапазоне от А до В, где А и В задаются в директивах #define) или ввести его элементы с клавиатуры и определить его характеристики в соответствии с вариантом.
Программа должна содержать следующие функции:
- инициализация элементов массива случайными числами или вводимыми с клавиатуры;
- вывод массива на экран.
Варианты заданий
№ | Формулировка |
А1 | В массиве целых чисел найти сумму элементов, расположенных между первым четным элементом и последним нечетным элементом массива. |
А2 | Найти количество и сумму тех элементов массива, которые делятся на 5 и не делятся на 7. Вывести все содержащиеся в данном массиве четные числа в порядке убывания их индексов, а также их количество. |
А3 | Найти количество тех элементов массива, которые больше своего левого соседа и меньше своего правого соседа. Вывести на экран номера минимальных элементов. |
А4 | Найти количество тех элементов массива, которые больше своего левого соседа. Найти количество и сумму положительных элементов, которые делятся на 3. |
А5 | Найти максимальный и минимальный элементы и номер элемента, наиболее близкого к среднему арифметическому минимального и максимального элементов. |
А6 | Вычислить сумму только симметричных элементов массива. |
А7 | Вычислить среднее арифметическое чисел, содержащих только четные цифры. |
А8 | Найти количество элементов, больше всех предыдущих и меньше всех последующих. |
А9 | В массиве целых чисел найти количество минимальных элементов. |
А10 | Вычислить сумму элементов массива, являющихся простыми числами и расположенных в интервале (L, R). |
А11 | Найти количество элементов, больших всех предыдущих элементов. |
А12 | В массиве целых чисел найти количество максимальных элементов. |
А13 | Найти сумму всех двузначных нечетных элементов целочисленного массива. |
А14 | Найти количество таких элементов целочисленного массива, которые имеют в младшем разряде цифру 7. |
А15 | Найти сумму элементов массива, меньших всех последующих элементов. |
А16 | Вычислить сумму элементов массива, содержащих хотя бы одну нечетную цифру. |
А17 | В массиве целых чисел найти количество простых чисел. |
Уровень В
Постановка задания
Требуется определить массив целых чисел (например, размера 30), заполнить его случайными числами (в диапазоне от А до В, где А и В задаются в директивах #define) или ввести его элементы с клавиатуры и определить его характеристики в соответствии с вариантом.
Программа должна содержать следующие функции:
- инициализация элементов массива случайными числами или вводимыми с клавиатуры;
- вывод массива на экран.
Варианты заданий
№ | Формулировка |
В1 | Найти порядковые номера и сумму двух попарно различных наибольших элементов. |
В2 | Найти наибольшее количество одинаковых элементов. |
В3 | Вычислить максимальное число подряд идущих положительных чисел, не превышающих числа М и имеющих в своем составе цифру 5. |
В4 | Найти количество попарно различных элементов массива, меньших числа М. |
В5 | Определить порядковые номера трех наименьших элементов и их сумму. |
В6 | Среди элементов массива найти индексы всех таких, которые могут быть получены суммированием двух элементов этого же массива. |
В7 | Напечатать все те элементы массива, сумма цифр в которых находится в интервале от L до R. |
В8 | Определить, имеется ли в массиве элемент, равный сумме наибольшего четного элемента и наименьшего нечетного элемента. |
В9 | Подсчитать количество элементов в массиве, являющихся точным квадратом другого элемента в этом массиве. |
В10 | Среди всех симметричных чисел найти наиболее длинное (по количеству цифр). |
В11 | Напечатать все те элементы массива, цифры которых образуют геометрическую прогрессию. |
В12 | Напечатать индексы элементов массива и сами элементы, сумма цифр которых кратна индексу этого элемента. |
В13 | Напечатать такие элементы массива и их количество, сумма цифр которого есть простое число. |
В14 | Определить, есть ли в числовом массиве элемент, взаимно простой с каждым из остальных элементов массива, и напечатать его. |
В15 | Среди элементов массива найти такие, которые могут быть получены с помощью произведения двух элементов этого же массива. |
В16 | Подсчитать сумму элементов в массиве, являющихся точным кубом другого элемента в этом массиве. |
В17 | Напечатать сумму и количество таких элементов массива, сумма цифр которых является составным числом. |
Уровень С
Постановка задания
Требуется определить массив целых чисел a (например, размера 30),
заполнить его случайными числами (в диапазоне от A до B, где A и B задаются в директивах #define) или ввести его элементы с клавиатуры.
Определить количество попарно различных элементов массива a, обладающих свойством Q (рассмотреть три случая: произвольный массив, упорядоченный массив, массив с достаточно узким диапазоном значений элементов). Свойства Q задаются в вариантах.
Программа должна содержать следующие функции:
- инициализация элементов массива случайными числами или вводимыми с клавиатуры;
- вывод массива на экран;
- количество попарно различных элементов со свойством Q для произвольного массива;
- количество попарно различных элементов со свойством Q для упорядоченного массива;
- количество попарно различных элементов со свойством Q для массива с достаточно узким диапазоном значений элементов.
Варианты заданий
№ | Свойство Q |
C1 | Число является четным. |
С2 | Число является положительным. |
С3 | Число содержит цифру 1. |
С4 | Число не содержит цифру 0. |
С5 | Число является нечетным. |
С6 | Число является простым. |
С7 | Число является двузначным. |
С8 | Число является составным. |
С9 | Число является нечетным. |
С10 | Число содержит цифру 5. |
Образец выполнения (вариант В16)
Условие задания
Подсчитать сумму элементов в массиве, являющихся точным кубом другого элемента в этом массиве.
Реализация задачи на языке Си
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | #include <stdio.h> // консольный вывод (printf) #include <conio.h> // задержка программы (getch) #include <stdlib.h> // для генерации случайных чисел (srand) #include <time.h> // для засеивания генератора случайных чисел #include <math.h> // математические функции (pow) #include <locale.h> // русификация диалогов (setlocale) #define N 12 // количество элементов целочисленного одномерного массива #define A -50 // левая граница значений элементов массива #define B +50 // правая граница значений элементов массива // инициализация элементов массива pv случайными числами из отрезка [A .. B] void Init(int* const pv) { int i; for(i = 0; i < N; i++) pv[i] = A + rand() % (B - A + 1); } // вывод элементов массива на экран void Print(const int* const pv) { int i; printf("Элементы исходного массива имеют вид: "); for(i = 0; i < N; i++) printf("%6d", pv[i]); putchar('\n'); } // нахождение суммы элементов, являющихся точным кубом другого элемента в этом массиве long Get_sum_cube(const int* const pv) { int i, j; // индексы элементов массива + счетчики циклов long sum = 0; // искомая сумма // перебираем все элементы массива for(i = 0; i < N; i++) // перебираем все элементы массива повторно (чтобы добиться сравнения каждого элемента с каждым другим) for(j = 0; j < N; j++) if(i != j) // избегаем сравнения с самим собой, т к 1^3 = 1 // если i-й элемент является точным кубом j-го элемента, то if(pv[i] == pow(pv[j], 3.0)) sum += pv[i]; // увеличиваем сумму на значение i-го элемента // в качестве ответа возвращаем искомую сумму return sum; } // главная функция программы (точка входа) int main(void) { int v[N]; // одномерный целочисленный массив, состоящий из N элементов long sum; // искомая сумма setlocale(LC_ALL, ""); // русификация диалогов программы srand(time(NULL)); // чтобы происходила генерация случайных чисел Init(v); // инициализация элементов массива Print(v); // вывод элементов массива на экран sum = Get_sum_cube(v); // нахождение суммы элементов и вывод рассчитанного значения на экран printf("Сумма элементов массива, являющихся точным кубом другого элемента: %ld", sum); getch(); // задержка работы программы, чтобы была возможность просмотреть результат return 0; // завершение работы программы и передача управления в ОС } |
Результаты работы программы
ВНИМАНИЕ | Для получения программы своего варианта пишите на наш электронный адрес proglabs@mail.ru |
Добавить комментарий