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

Московский Государственный Университет Леса

ФЭСТ ВТ-11

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

Программирование на языках высокого уровня

Тема: “Динамическая память”

Выполнил студент Борисов А.О.

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

Москва 2012.

Задание:

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

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

1) количество элементов массива, больших С;

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

модулю элемента.

Преобразовать массив таким образом, чтобы сначала располагались все отрица-тельные элементы, а потом — все положительные (элементы, равные О, считать

положительными).

Листинг:

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#include <iostream.h>

int overc (int n, int *a);

int maximum (int n, int *a);

int summa (int n, int m, int *a);

void sort (int n, int *a);

int main ()

{

clrscr();

const n=10;

int *A;

A=new int [n];

int i,k,m,s;

srand(time(NULL));

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

{

A[i]=rand()%30-15;

printf ("%i ",A[i]);

}

k=overc(n,A);

m=maximum(n,A);

s=summa(n,m,A);

printf ("k=%i s=%i\n",k,s);

sort (n,A);

delete A;

getch();

return 0;

}

int overc (int n, int *a)

{

int c, k;

printf ("\nvvedite c\n");

scanf ("%i",&c);

k=0;

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

if (a[i]>c) k++;

return (k);

}

int maximum (int n, int *a)

{

int max, m;

max=abs(a[0]);

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

if (abs(a[i])>max)

{

max=abs(a[i]);

m=i;

}

return (m);

}

int summa (int n, int m, int *a)

{

int s;

s=1;

for (int j=m+1; j<n; j++)

s*=a[j];

return (s);

}

void sort (int n, int *a)

{

int b[10];

int i, k=0;

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

if (a[i]<0)

{

b[k]=a[i];

k++;

}

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

if (a[i]>=0)

{

b[k]=a[i];

k++;

}

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

printf ("%i ",b[i]);

}

Соседние файлы в папке Борисов