Лабораторная работа №2 Работа с массивами. Одномерные статические массивы. Многомерные динамические массивы


Download 206.52 Kb.
bet1/3
Sana16.06.2023
Hajmi206.52 Kb.
#1494896
TuriЛабораторная работа
  1   2   3
Bog'liq
Лабораторная работа


Лабораторная работа №2 Работа с массивами. Одномерные статические массивы. Многомерные динамические массивы
Цель работы
Изучение способов определения и обработки одномерных и многомерных массивов. Освоение двух форм выделения памяти под массив: статического и динамического, правил использования указателей для доступа к элементам массива.
Задание №1
Вариант №1
Определить в программе одномерный массив Х размера n. Сформировать из него 4 массива. Первый должен содержать записанные подряд положительные элементы массива Х. Второй - отрицательные элементы массива Х. Третий - подряд запиcанные индексы элементов первого массива, которые они имели в массиве Х. Четвертый cодержит подряд записанные индексы элементов второго массива, которые они имели в массиве Х.

#include "stdafx.h"//директивы
#include
#include
#include
using namespace std;
#include
Void main()
{
setlocale(LC_ALL,"Russian");
srand((unsigned)time(NULL));//использование времени
const int n=10;//объявление переменных и констант
int mas[n];//основной массив
int p[n];//массив положительных
int pi[n];//массив индексов полож.
int o[n];//массив отрицательных
int oi[n];//массив индексов отриц.
int k=0;//счетчики
int l=0;
for (int i=0; imas[i]=rand()%100-50;//задание случайных значений
cout<if (mas[i]>0){//проверка для положительных
p[k]=mas[i];
pi[k]=i;
k++;
}
else {//операции для отрицательных
o[l]=mas[i];
oi[l]=i;
l++;
}
}
cout<for (int i=0; icout<
cout<for (int i=0; icout<}
Вариант №2
В одномерном массиве D размера n, значения элементов которого вводятся с клавиатуры, определить количество элементов, которые входят в массив более, чем по одному разу.

#include "stdafx.h"//директивы
#include
#include
//#include
using namespace std;
Void main()
{
setlocale(LC_ALL,"Russian");
const int n=10;//объявление переменных и констант
int mas[n];//основной массив
int k=0;
for (int i=0; icout<<"Введите "<cin>>mas[i];
}
for (int i=0;ifor (int j=i+1;jif (mas[i]==mas[j])
k++;
}
}
cout<}
Вариант №3
Найти минимальный среди положительных элементов определенного в программе одномерного массива Х размера n. Вывести на печать индексы отрицательных элементов массива, а также индекс минимального элемента.

#include "stdafx.h"//директивы
#include
#include
#include
using namespace std;
#include
Void main()
{
setlocale(LC_ALL,"Russian");
srand((unsigned)time(NULL));//использование времени
const int n=10;//объявление переменных и констант
int mas[n];//основной массив
int p[n];//массив положительных
int o[n];//массив отрицательных
int oi[n];//массив индексов отриц.
int k=0;//счетчики
int l=0;
int h=0;//переменная-индекс мин.эл-та
int u=50;//пер. для нахожд. мин.эл-та
for (int i=0; imas[i]=rand()%100-50;//задание случайных значений
cout<}
for (int i=0; iif (mas[i]>0){//проверка для положительных
p[k]=mas[i];
k++;
}
}
for (int i=0; iif (p[i]u=p[i];
}
for (int i=0;iif (u==mas[i])
h=i;
for (int i=0;iif (mas[i]<0){
o[l]=mas[i];
oi[l]=i;
l++;
}
}
cout<cout<cout<for (int i=0; icout<}
Вариант №4
Дан одномерный массив Y размера n. Все положительные элементы массива возвести в квадрат, а отрицательные в куб. Отпечатать старый и новый массив, а также сумму элементов в старом и новом массиве отдельно.
#include "stdafx.h"//директивы
#include
#include
#include
using namespace std;
#include
{
setlocale(LC_ALL,"Russian");
srand((unsigned)time(NULL));//использование времени
const int n=10;//объявление переменных и констант
int mas[n];//массив
int sum=0;//сумма
for (int i=0; imas[i]=rand()%100-50;//задание случайных значений
cout<sum+=mas[i];
}
cout<<"Сумма элементов первого массива = "<for (int i=0; iif (mas[i]>=0)//операции для положительных
mas[i]=mas[i]*mas[i];
else //операции для отрицательных
mas[i]=mas[i]*mas[i]*mas[i];
sum=0;
for (int i=0; isum+=mas[i];
for (int i=0; icout<cout<<"Сумма элементов второго массива = "<}
Вариант №5
Переставьте элементы одномерного массива в обратном порядке. Нового массива не заводить.

#include "stdafx.h"//директивы
#include
#include
#include
using namespace std;
#include

Download 206.52 Kb.

Do'stlaringiz bilan baham:
  1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling