3.6 Задание 6. Работа с одномерными массивами
Имеется предопределенный одномерный массив из 27 элементов:
3, -1, 4, -1, 5, -9, 2, -6, 5,
-3, 5, -8, 9, -7, 9, -3, 0, -3,
8, -4, 0, -2, 6, -4, 3, -3, 8
Предварительно заданные значения для отдельных переменных из задания:
Переменная |
Значение |
[A, B] |
[-3, 3] |
D |
-2 |
G |
5 |
N |
10 |
Дано выражение (U+T) (S+2), где
S – сумма N последних элементов;
T – максимальный отрицательный элемент;
U – среднее квадратичное элементов с четными номерами.
Программный код:
//Задание 6. Обработка одномерных массивов
//Программа вычисляет среднее квадратичное элементов с четными номерами,
//сумму N последних элементов, находит максимальный отрицательный элемент;
//Автор: Федькив Александр, группа 629зб;
#include <iostream>
#include <string>
int main()
{
double S = 0;//S – сумма N последних элементов;
double T = 0;//T – максимальный отрицательный элемент;
double U = 0;//U – среднее квадратичное элементов с четными номерами;
int N = 10;//N - заданное значение переменной;
int p = 0;//p - счетчик элементов с четными номерами;
int k = 0;//k - номер последнего отрицательного элемента;
double result;//result- итоговое значение;
// Предопределенный для всех вариантов одномерный массив;
int array[27] = { 3, -1, 4, -1, 5, -9, 2, -6, 5,
-3, 5, -8, 9, -7, 9, -3, 0, -3,
8, -4, 6, -2, 6, -4, 3, -3, 8};
for ( int i = 2; i <= 26; i+=2)
{ // Цикл по всему массиву для элементов с четными номерами;
// Сумма квадратов элементов с четными номерами;
U = U + array[i]*array[i];
p = p+1;
}
U = sqrt((U/(double)p));
for (int i = 0; i < 27; i++)
{ // Цикл по всему массиву
// Суммирование N последних элементов
if (i >= 27-N)
S = S + array[i];
}
for (int i = 0; i < 27; i++)
{ // Цикл по всему массиву
// Нахождение номера последнего отрицательного элемента
if (array[i]< 0 )
k=i;
}
T = array[k];
for (int i = 0; i < 27; i++)
{
if (array[i]< 0 && array[i] > T)
T = array[i];
}
//Вычисляем итоговое выражение;
result = (U+T)*(S+2);
//Выводим результаты вычисления
printf("O my Lord, its result for you!\n");
printf("\np=%d;\n", p);
printf("U=%f;\n", U);
printf("S=%f;\n", S);
printf("k=%d;\n", k);
printf("T=%f;\n", T);
printf("\nresult=%f;\n", result);
getchar ();
return 0;
}
Скриншот работы программы:
Заключение
Я выполнил курсовую работу, посвященную изучению языка программирования С++. В ходе работы я описал историю развития языков программирования, провел сравнение современных языков и сред программирования. Мной были описаны основные алгоритмы и синтаксис языка С++, дано описание операторов ввода и вывода , операторов для выполнения арифметических действий ( выполнено практическое задание по вычислению значений выражения); рассмотрены условные операторы. На практике рассмотрено применение операторов цикла при операциях с массивами.
В ходе работы я получил теоретические знания по программированию на языке С++ и закрепил эти знания, выполнив ряд практических заданий в среде Visual Studio 2012 Express.
Список использованных источников
1.Волкова И.А., Головин И.Г., Карпов Л.Е. Системы программирования: Учебное пособие /И.А.Волкова, И.Г.Головин, Л.Е.Карпов. - М.: Издательский отдел факультета ВМК МГУ, 2009. - 129 с.
2. Иванникова, А.Б. Курсовое проектирование: методические указания по курсовому проектированию/А.Б. Иванникова.-СПбГТИ (ТУ), 2013.-29 с.;
3. Литвиненко Н. А Технология программирования на С++ :Учебное пособие /Н.А.Литвиненко.- СПб.:БХВ, 2010.-281 с.
4. Страуструп Бьерн - Язык программирования C++. Специальное издание /Бьерн Страуструп.-М.: Бином, 2011.-1136 с.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.