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

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

ФЭСТ ВТ-11

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

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

Тема: “ Директивы препроцессора ”

Выполнил: студент Музалёв Д.В.

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

Москва 2012.

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

и присоединением ее через команды препроцессора.

Вариант 12

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

1) номер максимального по модулю элемента массива;

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

элемента.

3)Преобразовать массив таким образом, чтобы сначала располагались все элемен-ты,целая часть которых лежит в интервале [а,Ь], а потом — все остальные.

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

#include<stdio.h>

#include<stdlib.h>

#include<math.h>

#include<lib 12.h>

int main()

{

int i,max,k,N;

int *A;

printf ("Vvesty k-vo elementov 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=sumotr(A,N);

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

s=sumotr(A,N);

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

sort(A,N);

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

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

delete A;

system("pause");

return 0;

}

#include<lib 12.h>

int sumotr(int *a,int n)

{int i,sum;

if(a[i]>0)

{a[i]>0;k=i;break;}

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

sum+=a[i];

return (sum);}

int summm(int *a,int n)

{int i,max,k;

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

max=abs(a[0]);

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

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

{max=abs(a[i]);k=i;}

int sum;

sum=0;

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

sum+=a[i];

return (sum);}

void sort(int *a,int*b,int n)

{int i;

int m,l,k;

printf ("Vvedite m ");

scanf ("%i", &m);

printf("\n");

printf ("Vvedite l ");

scanf ("%i", &l);

k=0;

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

if (a[i]>=m && a[i]<=l)

{b[k]=a[i];k++;}

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

if( a[i]<m || a[i]>l)

{b[k]=a[i];k++;}

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

}