Разработка программы для обработки массива

Решение задачи поиска суммы отрицательных элементов массива с помощью различных вариантов вызываемых функций. Осуществление поиска суммы отрицательных элементов массива. Передача результата поиска массива через имя функции, через указатель, через ссылку.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 31.03.2023
Размер файла 172,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Федеральное бюджетное государственное образовательное учреждение высшего профессионального образования

Кафедра информационных технологий и систем

Итоговая контрольная работа

по дисциплине Алгоритмические языки и программирование

1. Текст задачи

Разработать программу для обработки массива согласно варианту 11 Контрольной Работы номер 2, подзадачи 1 с помощью трёх функций различных вариантов.

Во время работы программы выполняется ручной ввод исходных данных (заполняется массив, содержащий данные для последующей обработки), а затем отображение результата на экране консольного приложения.

При обработке последовательно решается подзадача поиска суммы отрицательных элементов массива с помощью трёх вариантов вызываемых функций:

* Передача результата через имя функции;

* Передача результата через указатель;

* Передача результата через ссылку.

2. Постановка задачи

программа поиск массив

На основе вводимых данных требуется осуществить поиск суммы отрицательных элементов массива. Ниже приводится описание исходных данных и результатов, используемых во время выполнения программы:

Имя

Что обозначает

Тип значений

Диапазон значений

Как используется

sz

Размер исходного массива данных (size)

Целочисленный

От 1 до 216

Аргумент

X

Массив исходных данных

Целочисленный

От -231 до 231-1

Аргумент

Sum_neg

Сумма отрицательных элементов

Целочисленный

От -231 до 0

Результат

3. Описание интерфейса программы

Интерфейс программы представляет собой консольное окно приложения, приглашающее ввести вручную сначала размер массива, а затем заполнить по номерам его элементы.

При отсутствии критических ошибок ввода исходных данных осуществляется выполнение задачи вычисления суммы отрицательного элемента массива последовательно, с помощью трёх вариантов функций.

Результаты выполнения каждой из функций отображаются на консольном окне, с соответствующими пояснениями.

4. Тестовые наборы исходных данных

Для проверки работоспособности программы использовались следующие тестовые наборы данных:

Размер массива

Значения элементов

Результат выполнения вычисления суммы:

1

7

-5 1 8 10 -7 2 -3

-15

2

4

4 8 3 7

0

3

8

-10 -2 1 3 -1 6 -5 8

-18

5. Текст программы

Данная программа представлена в виде основной функции main и трёх функций вычисления суммы отрицательных элементов. В программе выделяются три функции в зависимости от варианта их вызова. В основной процедуре main осуществляется поочерёдный вызов трёх вариантов функций.

#include <iostream>

#include <math.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

#define ERR_CODE -1

/*Ищется сумма всех отрицательных элементов массива*/

/*Функция №1 через указатель выходного параметра */

void func1_sum(int *X, int sz, int *sum_neg)

{

int i=0; /*счётчик*/

*sum_neg = 0; //Сброс суммы

for(i=0;i<sz;i++)

if(X[i] < 0) /*Прибавляем отрицательные элементы*/

{

*sum_neg += X[i];

}

}

/*Функция №2 поиск суммы по ссылке */

void func2_sum(int *X, int sz, int &sum_neg)

{

int i=0; /*счётчик*/

sum_neg = 0; //Сброс суммы

for(i=0;i<sz;i++)

if(X[i] < 0) /*Прибавляем отрицательные элементы*/

{

sum_neg += X[i];

}

}

/*Функция №3 возврат сумммы как значение функции */

int func3_sum(int *X, int sz)

{

int i=0; /*счётчик*/

int local=0; /*локальная копия суммы*/

for(i=0;i<sz;i++)

if(X[i] < 0) /*Прибавляем отрицательные элементы*/

{

local += X[i];

}

return local;

}

int main(int argc, char** argv)

{

int *X=NULL, sz=0; //Массив и его размер (Вводится вручную)

int i=0; //счётчик

int sum_neg=0;//Сумма всех отрицательных элементов.

setlocale(LC_ALL, "Russian");

printf("Итоговая контрольная работа, вариант 1\n\nВведите размер массива\n");

scanf("%d",&sz); //ввод размера

if(sz <= 0)

{

printf("Ошибка: неверный размер массива!!!\n");

return ERR_CODE; /*ошибка ввода данных*/

}

X = new int [sz];

if(!X)

{

printf("CRITICAL Memory Error!!!\n");/*Ошибка выделения памяти*/

return ERR_CODE;

}

printf("Заполните массив (нумерация с 0)\n");

for(i=0;i<sz;i++)

{

printf("%d-й элемент: ",i);

scanf("%d", &(X[i]));

}

printf("\nВызов и обработка функции с адресами\n");

func1_sum(X,sz,&sum_neg);

printf("Сумма всех отрицательных элементов массива: %d\n", sum_neg);

sum_neg=0;

printf("\nВызов и обработка функции с ссылками\n");

func2_sum(X,sz,sum_neg);

printf("Сумма всех отрицательных элементов массива: %d\n", sum_neg);

sum_neg=0;

printf("\nВызов и обработка функции с присвоением\n");

sum_neg = func3_sum(X,sz);

printf("Сумма всех отрицательных элементов массива: %d\n", sum_neg);

delete [] X;

return 0;

}

7. Пример выполнения программы

Тестовый набор #1

Тестовый набор #2

Тестовый набор #3

Размещено на Allbest.ru

...

Подобные документы

  • Вычисление суммы положительных элементов массива. Упорядочивание элементов массива по убыванию. Решение задачи с помощью алгоритма, реализованного в среде Microsoft Visual 2008 Express. Реализация и тестирование программы. Выполнение трассировки функций.

    практическая работа [146,3 K], добавлен 23.01.2015

  • Выведение значения элементов массива, которые удовлетворяют неравенству. Подсчет количества отрицательных элементов массива. Изменение исходного массива. Тестирование программы. Проверка её работоспособности. Реакция программы на сообщение об ошибке.

    лабораторная работа [1,3 M], добавлен 23.11.2014

  • Одномерные числовые массивы, образование элементами целочисленного массива невозрастающей последовательности. Программное нахождение суммы элементов каждой возможной строки матрицы и формирование массива из найденных сумм, вывод массива-результата.

    лабораторная работа [12,8 K], добавлен 09.01.2011

  • Разработка и реализация типовых алгоритмов обработки одномерных массивов на языке Delphi. Максимальный и минимальный элемент массива. Значение и расположение элементов массива. Элементы массива, находящиеся перед максимальным или минимальным элементом.

    лабораторная работа [12,8 K], добавлен 02.12.2014

  • Общая характеристика организации массива в виде двоичного дерева. Особенности линейного и двоичного поиска заданного элемента массива. Методика упорядочения массива методом сортировки деревом. Инструкции и текст программы для нечисленной обработки данных.

    курсовая работа [242,3 K], добавлен 12.11.2010

  • Особенности поиска среднеарифметического значения элементов массива. Общая характеристика проблем разработки в среде Turbo Pascal программы упорядочивания массива по возрастанию. Рассмотрение основных этапов разработки программы на языке PASCAL.

    курсовая работа [896,7 K], добавлен 18.05.2014

  • Подсчет количества отрицательных элементов массива. Изменение исходного массива перемещением всех его положительных элементов в начало с исходным порядком их следования. Вывод на дисплей количества перемещенных элементов. Алгоритм и код программы.

    лабораторная работа [946,5 K], добавлен 23.11.2014

  • Понятие двумерного массива целых чисел. Создание динамического массива из элементов, расположенных в четырех столбах данного массива и имеющих нечетное значение. Сохранение результатов в файл и выведение их на экран. Использование ввода с файла.

    курсовая работа [44,0 K], добавлен 09.11.2014

  • Заполнение массива из целых чисел с присвоением элементам разных значений. Варианты программы с использованием различных операторов организации циклов. Определение квадрата максимального из четных элементов массива и общего числа нулевых элементов.

    лабораторная работа [259,3 K], добавлен 14.05.2011

  • Функции формирования массива времени. Формирование массива входного напряжения, массива выходного напряжения. Функция вывода таблицы, расчета заданной точности, вывода титульного листа. Запись в файл массива времени. Блок–схема и текст программы.

    курсовая работа [155,6 K], добавлен 22.04.2012

  • Составление программы для нахождения минимального и максимального элементов массива. Программа вычисления корней квадратных алгебраических уравнений. Ранжирование одномерного массива по заданному признаку. Формирование массивов с помощью функции random.

    контрольная работа [1,0 M], добавлен 30.04.2013

  • Решения задачи графическим и программным способами. Описание алгоритма решения графическим способом, укрупненная схема алгоритма. Ввод элементов двумерного массива, вывод преобразованного массива, разработка программы на языке pascal, листинг программы.

    курсовая работа [115,5 K], добавлен 22.05.2010

  • Работа в Pascal, теория рядов. Главные признаки сходимости знакоположительных рядов. Общее понятие о ряде Тейлора. Вычисление конечной суммы факториального ряда для заданного массива значений. Исходный текст программы. Результаты выполнения программы.

    контрольная работа [1,6 M], добавлен 06.08.2013

  • Запись в массив листа Excel c именем "Эксперимент". Среднее арифметическое значение элементов массива. Вывод диалогового окна. Фрагмент программы, организующий считывание исходного массива в программу для обработки. Адрес ячейки электронной таблицы.

    контрольная работа [1,1 M], добавлен 16.08.2011

  • Виды информационно-вычислительных сетей: локальные, городские, глобальные; их классификация. Разработка программы на языке программирования С: формирование одномерного массива путем замены нулевых элементов на среднеарифметическое, а пробелов - на слова.

    практическая работа [37,5 K], добавлен 20.05.2012

  • Разработка клиентской программы, демонстрирующей возможности таблицы символов, реализованной на базе бинарного поиска. Программная проверка подлинности информационного массива. Временная эффективность поиска, алгоритмов создания таблицы символов.

    контрольная работа [235,1 K], добавлен 10.03.2019

  • Составление программы разветвляющейся структуры для вычисления заданной функции. Нахождение произведения чётных и нечётных первых чисел натурального ряда. Приёмы программирования обработки одномерных массивов. Расчет суммы положительных элементов массива.

    контрольная работа [1,3 M], добавлен 20.12.2012

  • Изучение определения, описания и вызова функций, указателей и ссылок на них. Написание функции умножения произвольного столбца двумерного массива на const. Умножение 2 столбцов массива на константы. Составление блок-схемы алгоритма и текста программы.

    лабораторная работа [182,3 K], добавлен 09.01.2012

  • Описание алгоритма решения задачи графическим способом. Ввод элементов исходного массива в цикле. Нахождение определённых элементов. Сортировка элементов с помощью пузырькового метода. Разработка программы на языке Pascal. Поиск наибольшего элемента.

    лабораторная работа [123,5 K], добавлен 15.01.2014

  • Формирование одномерного массива, каждый элемент которого равен наибольшему по модулю элементу соответствующего столбца. Определение столбца, в котором равное количество положительных и отрицательных элементов. Написание программы и ее тестирование.

    контрольная работа [97,2 K], добавлен 21.06.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.