- •Предисловие
- •Задание 1. Задачи целочисленной арифметики
- •If (Условие) Оператор1;
- •Варианты контрольных заданий
- •Задание 2. Использование функций
- •Задание 3. Обработка одномерных массивов
- •Задание 4. Обработка двумерных массивов
- •Задание 5.Обработка символов и строк
- •Задание 6. Одномерный массив–параметр функции
- •Задание 7. Двумерный массив–параметр функции
- •Задание 8. Структуры
Задание 3. Обработка одномерных массивов
Цель задания
Изучение основных приемов программирования задач обработки одномерных массивов.
Основные понятия
Общий вид объявления одномерного массива:
Тип массива ИмяМассива [ КонстантноеВыражение ];
Примеры объявления массивов:
int A[10]; // Для задания размера массива A используется
//неименованная константа 10
const int DIM = 10;
char C[DIM]; //]; // Для задания размера массива C используется
//именованная константа DIM
Инициализация массива:
int A[5] = {1,-5,10,243,-58}; или int A[] = {1,-5,10,243,-58};
Обнуление элементов массива: int A[20] = {0};
Пример выполнения задания
//Пример 3.1. Ввести одномерный массив A.
//Разбить его на два массива:
//B- массив положительных, C-массив отрицательных чисел.
#include <iostream.h>
#include <conio.h>
int main() {
const int n = 10;
int A[n] , B[n] ,C[n] ;
cout<<"Введите массив из "<< n <<" чисел\n";
for(int i = 0; i < n; i++)
cin >>A[i];
int indB = 0, indC = 0;
for ( int i = 0; i < n; i++) {
if (A[i]>0) { B[indB] = A[i];
indB++;
};
if(A[i]<0) { C[indC] = A[i];
indC++;
}
}
cout<<"Исходный массив A:\n";
for(int i = 0; i < n; i++)
cout << A[i] << ' ';
cout<<endl;
cout<<"Массив положительных чисел В:\n";
if(! indB) cout<<"Положительных чисел в массиве нет\n";
for(int i = 0; i < indB; i++)
cout << B[i] << ' ';
cout<<endl;
cout<<"Массив отрицательных чисел С:\n";
if(! indC) cout<<"Отрицательных чисел в массиве нет\n";
for(int i = 0; i < indC; i++)
cout << C[i] << ' ';
getch();
return 0;
}
Постановка задания
Разработать алгоритм решения задачи. Написать программу, которая реализует данный алгоритм. Продемонстрировать заполнение массива случайными числами и с использованием консольного ввода.
Варианты контрольных заданий
В массиве А(N) найти: а) число элементов, предшествующих первому отрицательному элементу; б) сумму нечетных элементов массива, следующих за последним отрицательным элементом.
Дан массив А(N). Получить массив В(N), i-элемент которого равен среднему арифметическому первых i элементов массива А.
В массиве А(N) первый положительный элемент и последний отрицательный элемент переставить местами.
В массиве А(N) найти количество пар одинаковых соседних элементов.
В массиве А(N) найти максимальный и минимальный элементы и переставить их местами.
В массиве А(N) максимальные элементы, являющиеся четными числами, заменить значениями их индексов.
В массиве А(N) найти номер элемента, сумма которого со следующим за ним элементом максимальна, и номер элемента, сумма которого с предыдущим элементом минимальна.
В массиве А(N) поменять местами последний отрицательный элемент с максимальным элементом.
В массиве А(N) найти максимальный среди четных элементов и минимальный среди нечетных.
В массиве А(N) все четные элементы заменить максимальным элементом, а нечетные минимальным.
В массиве А(N) найти первый отрицательный элемент, предшествующий максимальному элементу, и последний положительный элемент, стоящий за минимальным элементом.
В массиве А(N) найти наибольший из всех отрицательных элементов и наименьший из всех положительных.
В массиве А(N) найти два наименьших элемента и два наибольших элемента.
Разделить заданный массив А(N) на два массива:
а) массив положительных и отрицательных элементов;
б) массив четных и нечетных элементов.
Определить, есть ли среди элементов массива А(N) последовательность из k элементов, равных числу х.
В массиве А(N) определить максимальную длину последовательности равных элементов.
В массиве А(N) подсчитать количество элементов, встречающихся более одного раза.
В массиве А(N) подсчитать количество различных элементов.
В массиве А(N) найти последний четный положительный элемент, кратный заданному числу р, заменить его индексом и поставить в конец массива.
В массиве А(N) выбрать все элементы, встречающиеся только один раз.
В массиве А(N) выбрать без повторений все элементы, встречающиеся более одного раза.
В массиве А(N) найти максимальный из элементов, встречающихся только один раз.
В массиве А(N) найти минимальное из чисел, встречающихся более одного раза.
Из всех участков массива А(N), сплошь состоящих из нулей, выбрать самый длинный и отметить индексы его начала и конца.
В массив А(N) вставить после первого максимального элемента k минимальных элементов массива.
В массив А(N) вставить максимальный элемент после каждого четного отрицательного элемента.
В массив А(N), упорядоченный по возрастанию, вставить k элементов, не нарушая его последовательности.
Из массива А(N) удалить элементы, стоящие за первым максимальным элементом, количество цифр которых равно k.
Из массива А(N) удалить все элементы, стоящие между первым минимальным и последним максимальным элементами.
Вычислить значение многочлена и его первой производной в заданной точке x (коэффициенты хранятся в массивах).
Вычислить значение многочлена и всех его производных в заданной точке x (коэффициенты хранятся в массивах ).
В массиве А(N) расположить все четные элементы в порядке возрастания, а нечетные в порядке убывания.
В массиве А(N) положительные элементы расположить в порядке возрастания, затем вставить в массив заданное положительное число р, сохранив упорядоченность элементов.
В массиве А(N) расположить элементы в порядке возрастания, затем вставить в него новые k чисел, не нарушая упорядоченности.
В массиве А(N) каждый элемент равен 0, 1 или 2. Переставить элементы массива так, чтобы сначала расположились все нули, затем все двойки и, наконец, все единицы.
В массиве А(N) положительные элементы переставить в конец массива и расположить в порядке убывания.
В массиве А(N) нулевые элементы переставить в начало массива, а остальные расположить в порядке возрастания.
В массиве А(N) все отрицательные элементы переставить в начало массива, расположив их по возрастанию, а положительные в конец, расположив их по убыванию.
В массиве А(N) встречаются лишь числа от 1 до 20. Упорядочить элементы массива в порядке частоты встречаемости чисел.
Получить упорядоченный по возрастанию массив С(К) путем слияния двух упорядоченных по возрастанию массивов А(N) и В(М), где К=М+N.