Вы находитесь на странице: 1из 7

Одномерные массивы

Задача 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). Заменить в
массиве все отрицательные элементы на
элементы им противоположные.

Вам также может понравиться