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

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЛЕСА

Факультет электроники и системотехники.

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

по программированию на языке высшего уровня С

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

Выполнил студент: Галкин И.В. ВТ-11

Проверил: Ларионов Н.В.

Москва 2011

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

Вариант 19

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

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;

}