- •Лабораторная работа №1 Программирование алгоритмов линейной и разветвляющейся структуры. Организация циклов в программе. Составление выражений
- •Задание №1
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Задание №2
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Лабораторная работа №2 Работа с массивами. Одномерные статические массивы. Многомерные динамические массивы
- •Задание №1
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Задание №2
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Задание №3
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Лабораторная работа №3 Работа со строками. Динамические одномерные массивы
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Лабораторная работа №4 Работа со структурами. Вложенные структуры. Массивы структур Задание 1
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Задание 2
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •6 Лабораторная работа №5 Программирование и использование функций
- •Void main()
- •Void main()
- •Лабораторная работа №6 Работа с файлами
- •Void main()
- •Void main()
- •Void main()
Лабораторная работа №2 Работа с массивами. Одномерные статические массивы. Многомерные динамические массивы
Цель работы
Изучение способов определения и обработки одномерных и многомерных массивов. Освоение двух форм выделения памяти под массив: статического и динамического, правил использования указателей для доступа к элементам массива.
Задание №1
Вариант №1
Определить в программе одномерный массив Х размера n. Сформировать из него 4 массива. Первый должен содержать записанные подряд положительные элементы массива Х. Второй - отрицательные элементы массива Х. Третий - подряд запиcанные индексы элементов первого массива, которые они имели в массиве Х. Четвертый cодержит подряд записанные индексы элементов второго массива, которые они имели в массиве Х.
#include "stdafx.h"//директивы
#include <iostream>
#include <locale>
#include <stdlib.h>
using namespace std;
#include <time.h>
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; i<n; i++){
mas[i]=rand()%100-50;//задание случайных значений
cout<<mas[i]<<"\t";//вывод исходного массива
if (mas[i]>0){//проверка для положительных
p[k]=mas[i];
pi[k]=i;
k++;
}
else {//операции для отрицательных
o[l]=mas[i];
oi[l]=i;
l++;
}
}
cout<<endl;
for (int i=0; i<k; i++)//вывод
cout<<p[i]<<" - "<<pi[i]+1<<"-й"<<endl;
cout<<endl;
for (int i=0; i<l; i++)//вывод
cout<<o[i]<<" - "<<oi[i]+1<<"-й"<<endl;
}
Вариант №2
В одномерном массиве D размера n, значения элементов которого вводятся с клавиатуры, определить количество элементов, которые входят в массив более, чем по одному разу.
#include "stdafx.h"//директивы
#include <iostream>
#include <locale>
//#include <stdlib.h>
using namespace std;
Void main()
{
setlocale(LC_ALL,"Russian");
const int n=10;//объявление переменных и констант
int mas[n];//основной массив
int k=0;
for (int i=0; i<n; i++){//диалог с пользователем
cout<<"Введите "<<i+1<<"-й элемент массива"<<endl;
cin>>mas[i];
}
for (int i=0;i<n;i++){//проверка
for (int j=i+1;j<n;j++){
if (mas[i]==mas[j])
k++;
}
}
cout<<k<<" чисел(ла) входит в массив дважды"<<endl;//вывод
}
Вариант №3
Найти минимальный среди положительных элементов определенного в программе одномерного массива Х размера n. Вывести на печать индексы отрицательных элементов массива, а также индекс минимального элемента.
#include "stdafx.h"//директивы
#include <iostream>
#include <locale>
#include <stdlib.h>
using namespace std;
#include <time.h>
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; i<n; i++){
mas[i]=rand()%100-50;//задание случайных значений
cout<<mas[i]<<"\t";//вывод исходного массива
}
for (int i=0; i<n; i++){
if (mas[i]>0){//проверка для положительных
p[k]=mas[i];
k++;
}
}
for (int i=0; i<k;i++){//нахожд. мин. эл-та
if (p[i]<u)
u=p[i];
}
for (int i=0;i<n;i++)//нахожд. индекса мин. эл-та
if (u==mas[i])
h=i;
for (int i=0;i<n;i++){//проверка для отриц.
if (mas[i]<0){
o[l]=mas[i];
oi[l]=i;
l++;
}
}
cout<<endl;//вывод
cout<<u<<" - "<<h+1<<"-й"<<endl;
cout<<endl;
for (int i=0; i<l; i++)
cout<<o[i]<<" - "<<oi[i]+1<<"-й"<<endl;
}
Вариант №4
Дан одномерный массив Y размера n. Все положительные элементы массива возвести в квадрат, а отрицательные в куб. Отпечатать старый и новый массив, а также сумму элементов в старом и новом массиве отдельно.
#include "stdafx.h"//директивы
#include <iostream>
#include <locale>
#include <stdlib.h>
using namespace std;
#include <time.h>