- •Лабораторный практикум основы программирования
- •Содержание
- •Предисловие
- •Лабораторная работа №1. Интегрированная среда разработки Microsoft Visual Studio. Программирование алгоритмов линейной структуры
- •1. Формулировка индивидуального задания:
- •2. Листинг программы:
- •3. Результаты работы программы:
- •1. Индивидуальное задание №1:
- •1.1. Постановка задачи:
- •1.3. Листинг программы:
- •3.4. Результаты работы программы:
- •1. Индивидуальное задание №1:
- •1.1. Постановка задачи:
- •1.3. Листинг программы:
- •4.4. Результаты работы программы:
- •1. Индивидуальное задание №1:
- •1.1. Постановка задачи:
- •1.3. Листинг программы:
- •2.4. Результаты работы программы:
- •2. Индивидуальное задание №2:
- •2.1. Постановка задачи:
- •2.3. Листинг программы:
- •2.4. Результаты работы программы:
- •1. Присваивание указателю адреса существующего объекта:
- •2. Присваивание указателю адреса области памяти в явном виде:
- •3.Присваивание пустого значения:
- •4. Выделение участка динамической памяти и присваивание ее адреса указателю:
- •1. Индивидуальное задание №1:
- •1.1. Постановка задачи:
- •1.3. Листинг программы:
- •1.4. Результаты работы программы:
- •2. Индивидуальное задание №2:
- •2.1. Постановка задачи:
- •2.3. Листинг программы:
- •2.4. Результаты работы программы:
- •I. Исходные данные, результаты и промежуточные величины.
- •1. Индивидуальное задание №1:
- •1.1. Постановка задачи:
- •1.3. Листинг программы:
- •2.4. Результаты работы программы:
- •1. Индивидуальное задание №1:
- •1.1. Постановка задачи:
- •1.3. Листинг программы:
- •4. Индивидуальное задание №4:
- •4.1. Постановка задачи:
- •4.4. Листинг программы:
- •4.5. Результаты работы программы:
- •I. Исходные данные и результаты
- •II. Алгоритм решения задачи
- •III. Программа и тестовые примеры
- •I. Исходные данные и результаты
- •II. Алгоритм решения задачи
- •III. Программа и тестовые примеры
- •I. Исходные данные и результаты
- •III. Программа и тестовые примеры
- •1. Индивидуальное задание №1:
- •1.1. Постановка задачи:
- •1.3. Листинг программы:
- •1.4. Результаты работы программы:
- •I. Исходные данные, результаты и промежуточные величины
- •Программа и тестовые примеры
- •1. Индивидуальное задание №1:
- •1.1. Постановка задачи:
- •1.3. Листинг программы:
- •2.4. Результаты работы программы:
- •Список рекомендуемой литературы
1. Индивидуальное задание №1:
1.1. Постановка задачи:
Составить программу с использованием одномерных массивов для решения задачи.
Задача: ввести массив А из 10 элементов, найти сумму элементов, меньших по модулю 5, и вывести ее на экран.
1.2. UML-диаграмма:
1.3. Листинг программы:
// Лабораторная работа №4
// Индивидуальное задание №1
#include "stdafx.h"
#include <iostream>
#include "conio.h"
#include "windows.h"
#include "math.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
setlocale( LC_ALL, "Russian" );
const int n = 10;
int marks [n] = {};
int a, i, sum = 0;
cout<<"Лабораторная работа № 4\n";
cout<<"\nГорошко А.А., БАС-051\n";
cout<<"\nВариант № 6\n";
cout<<"\n\nИндивидуальное задание № 1:\n";
cout<<"\nввести массив А из 10 элементов, найти сумму\n";
cout<<"\nэлементов, меньших по модулю 5, и вывести ее на экран.\n";
cout<<"\n\nРабота программы:\n";
cout<<"\nВведите элементы массива: \n\n";
for(int i = 0; i < n; i++)
{
cout<<"A["<<i<<"]=";
cin >> marks[i];
if(marks[i]< 0)
marks[i] = marks[i] * -1;
if(5 > marks[i])
sum += marks[i];
}
cout<<"\nСумма = "<< sum;
getch();
return 0;
}
2.4. Результаты работы программы:
2. Индивидуальное задание №2:
2.1. Постановка задачи:
Составить программу с использованием одномерных массивов для решения задачи на переупорядочивание элементов массива. В качестве алгоритма сортировки использовать сортировку методом «пузырька».
Задача: в одномерном массиве, состоящем из n вещественных элементов, вычислить:
минимальный элемент массива;
сумму элементов массива, расположенных между первым и последним положительными элементами.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, равные нулю, а потом – все остальные.
2.2. UML-диаграмма:
2.3. Листинг программы:
// Лабораторная работа №4
// Индивидуальное задание №2
#include "stdafx.h"
#include <iostream>
#include "conio.h"
#include "math.h"
#include "windows.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
setlocale( LC_ALL, "Russian" );
const int N = 1000;
int a[N];
int n, i, j, temp;
int firstPos = -1, lastPos;
cout<<"Лабораторная работа № 4\n";
cout<<"\nГорошко А.А., БАС-051\n";
cout<<"\nВариант № 6\n";
cout<<"\n\nИндивидуальное задание № 2:\n";
cout<<"\nв одномерном массиве, состоящем из n вещественных элементов, вычислить:\n";
cout<<"\n1) минимальный элемент массива;\n";
cout<<"\n2) сумму элементов массива, расположенных между первым\n";
cout<<"\nи последним положительными элементами.\n";
cout<<"\nПреобразовать массив таким образом, чтобы сначала располагались\n";
cout<<"\nвсе элементы, равные нулю, а потом – все остальные.\n";
cout<<"\n\nРабота программы:\n";
cout<<"\nВведите количество элементов: ";
cin >> n;
if(n <= 0 || n > N)
{
cout<<"Неверный размер массива"<< "\n";
return 1;
}
cout<<"\nВведите элементы массива: \n\n";
for(i = 0; i < n; i++)
cin >> a[i];
// Поиск минимального элемента массива
temp = a[0];
for(i = 0; i < n; i++)
{
if(a[i] < temp)
temp = a[i];
}
cout<<"\nМинимальный элемент массива: "<< temp << "\n";
// Сумма элементов между первым и последним положительными элементами
temp = 0;
for(i = 0; i < n; i++)
{
// первый положительный элемент не найден и текущий >0?
if(firstPos == -1 && a[i] > 0)
firstPos = i; // тогда записываем координаты текущего элемента как первого положительного
if(a[i] > 0)
lastPos = i;
}
if(firstPos != -1)
{
for(i = firstPos; i <= lastPos; i++)
{
temp += a[i];
}
}
cout<<"\nСумма элементов массива, расположенных между";
cout<<"\nпервым и последним положительными элементами: "<< temp << "\n";
// Сортировка
temp = 0;
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
if(a[j+1] == 0)
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
cout<<"\nПосле сортировки: ";
for(i = 0; i < n; i++) cout << a[i] << " ";
cout << endl;
getch();
return 0;
}