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

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

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

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

Директивы препроцессора.

Студент: Снегирев Н.В.

Группа: Вт-12

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

Задание:

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

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

1) Сумму положительных элементов массива;

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

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

Программа:

#include<stdio.h>

#include<stdlib.h>

#include<math.h>

#include "lib12.h"

int main()

{

int i,s,p, N;

int *A;

printf ("kollichestvo i Vvod massiva: ");

scanf ("%d", &N);

A = new int [N];

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

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

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

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

printf("\n");

s=sumpol(A,N);

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

sort(A,N);

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

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

p=summm(A,N);

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

delete A;

system ("pause");

return 0;

}

Библиотека lib12:

int sumpol(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;}

}

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