Практические / Отчеты студентов 2011-2012 / ВТ-11 Лр / Галкин / Лабораторная работа N12
.docxМОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЛЕСА
Факультет электроники и системотехники.
Лабораторная работа № 12
по программированию на языке высшего уровня С
Тема: «Директивы препроцессора»
Выполнил студент: Галкин И.В. ВТ-11
Проверил: Ларионов Н.В.
Москва 2011
Написать программу с созданием библиотеки программ
и присоединением ее через команды препроцессора.
В одномерном массиве, состоящем из п вещественных элементов, вычислить:
1) произведение отрицательных элементов массива;
2) сумму положительных элементов массива, расположенных до максимального элемента.
3)Изменить порядок следования элементов в массиве на обратный.
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include "biblioteka 12.h"
int main()
{
int i,s, N;
int *A;
printf ("Ввод размера массива. ");
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=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;
}
Библиотека "biblioteka 12.h"
int sumotr(int *a,int n)
{int I,sum;
for(i=0;i<n;i++)
int sum=1;
for(i=0;i<n;i++)
if(a[i]<0) 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;
for(i=0;i<n;i++)
b[n-i-1]=a[i];
for(i=0;i<n;i++)
}