Практические / Отчеты студентов 2011-2012 / ВТ-11 Лр / Шишкин / 11
.docxМосковский государственный университет леса
ФЕСТ
Вт – 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;
}