Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
17
Добавлен:
17.04.2015
Размер:
15.24 Кб
Скачать

Московский государственный университет леса

ФЕСТ

Вт – 11

Лабораторная работа №11

По теме:

«Динамическая память»

Преподаватель: Ларионов Н. В.

Студент: Шишкин Д. В.

Москва 2012

Написать программы используя функции и динамическую память.

в одномерном массиве, состоящем из п вещественных элементов, вычислить:

1) произведение отрицательных элементов массива;

2) сумму положительных элементов массива, расположенных до максимального

элемента.

Изменить порядок следования элементов в массиве на обратный.

Листинг программы:

#include <iostream>

#include <windows.h>

#include <time.h>

 

using namespace std;

 

char *rus;

char *printrus(char *text, char *rus)

{

    try

    {

        rus = new char[255];

    }

    catch(bad_alloc xa)

    {

        exit(1);

    }

    CharToOem(text, rus);

    return rus;

}

 

int main()

{

    cout << printrus("Одномерный массив", rus)

         << endl;

    srand(time(NULL));

    int a[10];

    int max_value = 1;

    int max_index = 0;

    int p = 1;

    for(int i = 0; i < 10; i++)

    {

        a[i] = rand() % 200 - 100;

        if(max_value < a[i] && a[i] > 0)

        {

            max_value = a[i];

            max_index = i;

        }

        if(a[i] < 0)

        {

            p *= a[i];

        }

        cout << a[i]

             << " ";

    }

    cout << endl;

    int sum = 0;

    for(int i = 0; i < 10; i++)

    {

        if(i < max_index && a[i] > 0)

        {

            sum += a[i];

        }

    }

    cout << printrus("Произведение: ", rus)

         << p

         << endl

         << printrus("Сумма: ", rus)

         << sum

         << endl;

    delete [] rus;

    system("pause");

    return 0;

}

Соседние файлы в папке Шишкин