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

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

ФЭСТ ВТ-11

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

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

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

Выполнил студент Красных В.Ю.

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

Москва 2012.

1. Условия задания:

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

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

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

Упорядочить элементы массива по возрастанию.

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

#include<stdio.h>

#include<stdlib.h>

#include<math.h>

int sumotr(int *a,int n);

int summm(int *a,int n);

void sort(int *a,int n);

int main()

{

int i,s, N;

int *A;

printf ("Vvedite n\n");

scanf ("%d", &N);

A = new int [N];

scanf ("%d", &A[i]);

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

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

printf("\n");

s=sumotr(A,N);

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

s=summm(A,N);

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

sort(A,N);

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

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

delete A;

system("pause");

return 0;

}

int sumotr(int *a,int n)

{ int i,sot=0;

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

if(a[i]<0)sot+=a[i];

return (sot); }

int summm(int *a,int n)

{int i, sum,max,imax,min,imin;

max=min=a[0];

for(i=1; i<n;i++){

if (a[i]>max){max=a[i];imax=i;}

if (a[i]<min){min=a[i];imin=i;}

}

sum=0;

if(imax<imin)

for(i=imax+1;i<imin;i++)sum+=a[i];

else

for(i=imin+1;i<imax;i++)sum+=a[i];

return (sum);}

void sort(int *a,int n)

{int i,j,k;

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

for (j=0;j<n-1;j++)

if(a[j]>a[j+1]){

k=a[j];

a[j]=a[j+1];

a[j+1]=k;}

}