Работа с одномерными массивами в языке C++
Автор: KBAC • Октябрь 30, 2023 • Лабораторная работа • 1,360 Слов (6 Страниц) • 144 Просмотры
[pic 1]
Министерство науки и высшего образования Российской Федерации
Факультет математики и информационных технологий
Кафедра вычислительной техники и защиты информации
ОТЧЕТ
по лабораторной работе № 4
по дисциплине «Основы программирования»
Работа с одномерными массивами в языке C++
Руководитель
_______ =
подпись инициалы фамилия
«__»______________20___г.
Студент группы
_______
подпись инициалы фамилия
«__»______________20___г.
[pic 2]
Содержание
1 Введение 3
2 Задача № 1 4
3 Ход работы
5
4 Вывод 9
Введение
Цель: Закрепление теоретических знаний и получение практических навыков написания программ по обработке одномерных массивов на языке C++
Задание: Разработать программу на языке С++ с использованием одномерных массивов. Размерности массивов следует задавать именованными константами.
Задача №1
Необходимо составить программу, в которой должен быть задан одномерный массив, состоящей из n вещественных элементов.
Требуется вычислить:
1) сумму отрицательных элементов массива;
2) произведение элементов массива, расположенных между максимальным и минимальным элементами.
3) упорядочить по возрастанию элементы массива. Результат работы программы вывести на экран.
Ход работы
Построен алгоритм работ программы и реализован на языке C++ с учетом необходимых требований. Схема алгоритма программы представлена на рисунке 1
[pic 3]
Рисунок 1 – Схема алгоритма программы
Код программы
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <iostream>
int obmen(int *a,int *b)
{
int c=*a;
*a=*b;
*b=c;
}
main()
{
setlocale(LC_ALL,"Rus");
int c,i,y,pro,sumotr=0,min=0,min1=0,max=0,n,k=0;
printf("%s\n","Введите размерность массива");
c=getchar(); //гетч вводит только 1 байт
c=c-'0';
int mass[c];
srand(time(0)); //задаем точку сеинья рендома
for (i=0;i<c;i++)
{
n=rand()%2;
if (n==1)
n=-1;
else
n=1;
mass[i]=n*rand()%10+1; //заполняем массив рендомными значениями
//в промежутке от 1 до 10 для отладки
printf("%d ",mass[i]);
}
//считаем сумму отрицательных элементов
for (i=0; i<c;i++)
{
if (mass[i]<0)
sumotr=sumotr+mass[i];
}
printf("\nсумма открицательных элементов = %d\n",sumotr);
}
[pic 4]
Рисунок 2 – Результат выполнения программы
Код программы
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <iostream>
#include <conio.h>
int obmen(int *a,int *b)
{
int c=*a;
*a=*b;
*b=c;
}
main()
{ setlocale(LC_ALL,"Rus");
int c,i,y,pro,sumotr=0,min=0,min1=0,max=0,n,k=0;
printf("%s\n","Введите размерность массива");
c=getchar(); //гетч вводит только 1 байт
c=c-'0';
int mass[c];
srand(time(0)); //задаем точку сеинья рендома
for (i=0;i<c;i++)
{
n=rand()%2;
if (n==1)
n=-1;
else
n=1;
mass[i]=n*rand()%10+1; //заполняем массив рендомными значениями
...