Задача 1. Сгенерировать целочисленный одномерный массив А
размерности 30, диапазон значений элементов [-15..+27]. Из элементов массива A сформировать массив D той же размерности по правилу: четные элементы массива D находятся по формуле D[ i]=2*A[ i]^2, нечетные – по формуле D[ i]=A[ i]/2; Алгоритм решения данной задачи: организовать цикл , в котором в котором последовательно выполнить следующие действия: создать элемент массива А; вывести элемент массива А на экран; проверить четность элемента массива A, в зависимости от четности элемента , создать элемент массива D по одной из предложенных формул; по завершению первого цикла перевести курсор на новую строку; создать новый цикл и вывести на экран все элементы массива D; Решение задачи: //продолжение задачи #include <iostream> cout<<endl; #include <cstdlib> cout.precision(1); #include <ctime> for(i=0;i<n;i++) using namespace std; cout<<fixed<<d[i]<<" "; int main() return 0; { } int n = 30, a[n], i; float d[n]; srand(time(NULL)); for(i = 0;i < n; i++) { a[i]=rand()%43-15; cout<<a[i]<<" "; if(a[i]%2==0) d[i]=2*a[i]*a[i]; else d[i]=a[i]/2.; } Задача 2. Сгенерировать одномерный массив размерности 20, диапазон значений элементов [-10..+15]. Поменять в массиве местами максимальный и минимальный элементы. Алгоритм решения данной задачи: • выделить переменные для хранения максимального значения элемента и его индекса, присвоить переменным начальные значения. • выделить переменные для хранения минимального значения элемента и его индекса, присвоить переменным начальные значения. • организовать цикл , в котором создать элемент массива, вывести его на экран, сравнить с предполагаемым максимумом и , если он окажется больше максимума, в ячейку для хранения максимума занести значение этого элемента, а в ячейку для хранения индекса максимального значения занести индекс элемента • выполнить подобные действия с переменными для хранения минимума • по завершении цикла обратиться к максимальному элементу по его индексу и присвоить ему значение найденного минимума, • выполнить то же самое для минимального элемента • еще раз вывести измененный массив на экран Решение задачи: #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() {int n=20,a[n],i, mx=-10,mxi=0,mn=15,mni=0; srand(time(NULL)); for(i=0;i<n;i++) //продолжение задачи { cout<<endl; a[i]=rand()%26-10; a[mxi]= mn; cout<<a[i]<<" "; a[mni]= mx; if(a[i]>mx) {mx=a[i];mxi=i;} for(i = 0;i < n; i++) if(a[i]<mn) {mn=a[i];mni=i;} cout<<a[i]<<" "; } return 0; } Решаем задачи Дан целочисленный массив размерности 25, все значения элементов лежат в интервале от -5 до 50. Найти среднее арифметическое всех положительных элементов, которые кратны нулевому элементу массива, если таких элементов не найдется, вывести об этом сообщение.
Сгенерировать одномерный массив А
размерности 30, диапазон значений элементов [-15..+27]. Из элементов массива A сформировать массив D той же размерности по правилу: первые 10 элементов находятся по формуле D[ i ]=A[ i ] + i, остальные – по формуле D[ i ]=A[ i ] - i. Домашняя работа Сгенерировать одномерный массив размерности 15, диапазон значений элементов [-20..+20]. Найти разность максимального и минимального элементов.
Сгенерировать одномерный массив
целых чисел, размерности 25, диапазон значений элементов [-50; 50). Заменить в массиве все отрицательные элементы на элементы им противоположные.