logo search
Методичка 2 Программирование

ОбрабоТка одномерных числовых массивов

Цель работы

1. Научиться:

–объявлять числовой массив в программе статически и динамически;

– вводить числовой массив или объявлять с инициализацией;

– писать стандартный цикл обработки числового массива;

–обращаться к числам массива по имени и через адрес.

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

Порядок написания программы

1. Выделить память под числовой массив статически или динамически.

2. Ввести числовой массив с клавиатуры или заполнить случайными числами.

3. Провести указанную обработку массива.

4. Вывести на экран исходный массив.

5. Вывести результат обработки.

6. Освободить динамическую память (если она выделялась).

Примеры написания программ

Задача. Написать программу, вычисляющую произведение ненулевых элементов целочисленного одномерного массива.

При решении задачи выделяем следующие этапы:

1. объявление массива

1. заполнение массива данными

2. вывод массива на экран монитора

3. вычисление произведения ненулевых элементов целочисленного одномерного массива.

4. вывод результата на экран.

Примечание. Вызов функцииRusперед строками-константами с русским текстом осуществляйте самостоятельно.

1 вариант решения – обращение к элементу массива идет через имя элемента массива, память выделяется статически, массив заполняется случайными числами.

Программа будет строиться в виде проекта.

Текст функции main будет выглядеть так:

//содержимое файла main.cpp

#include<iostream> //подключение системных средств для

using namespace std; //возможности использовать потоки ввода-вывода

#include "Rus.h" //прототип функции русификации

#include<time.h>

#include<stdlib.h>

#define SIZE 5 //задаем размерность массива

int main(void)

{

int mas[SIZE]; //объявляем массив

long product=1; //переменная под произведение

int i;

int k=100;

//заполнение массива случайными числами

srand(time(NULL)); //инициализируем генератор случайных чисел

for(i=0; i<SIZE; i++) //перебор элементов массива

mas[i]=rand()%(2*k+1) – k; //формируем случ число [-k;+k]

//Вывод элементов массива на экран

cout<<"\nИсходный массив: ";

for(i=0; i<SIZE; i++) //перебор элементов массива

cout<< mas[i])<<endl; //выводим i-ый элемент массива

//вычисление произведения

for(i=0; i<SIZE; i++) // перебор элементов массива

if(mas[i]!=0) // если i-ый элемент массива не 0

product *= mas[i]; //домножаем произведение на i-ый элемент //массива

cout<< "\nПроизведение равно "<< product<<endl;

return 0;

}