Практические / Отчеты студентов 2011-2012 / ВТ-12 ЛР / Федюкин / Лабораторная 6
.docМосковский Государственный Университет Леса
Лабораторная работа №6.
Тема: “Функции”
Выполнил Федюкин А.А.
Группа ВТ-12
Проверил Ларионов Н.В.
Москва 2011.
задача:
1)Найти сумму отрицательных
2)Найти произведение между max и min элементами
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define n 10
/////////////////////////////////////////
int sumotiz(int a[]);
void sortirovka(int a[]);
int proizotiz(int a[]);
////////////////////////////////////////
main() {
int a[n];
int i;
for (i=0;i<n;i++)
{
a[i]=rand()%20-10;
printf("%i \n",a[i]);
}
int s=sumotiz(a);
//
int p=proizotiz(a);
//
printf("Suuma otrizatelnih elementov=%i \n",s);
printf("Proizvedenie=%i \n",p);
//
sortirovka(a);
system("PAUSE");
return 0;
}
///////////////////////////////////////
int sumotiz(int a[])
{
int sum,i;
sum=0;
for (i=0;i<n;i++)
if (a[i]<0) sum+=a[i];
return(sum);
}
////////////
int proizotiz(int a[]){
int ss,min,max,imin,imax,i1,i2,i;
max=min=a[0];
imin=imax=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;
}
}
if (imax>imin) {
i1=imin;
i2=imax;
}
else{
i1=imax;
i2=imin;
}
ss=1;
for (i=i1+1;i<i2;i++)
ss*=a[i];
return(ss);
}
//////////
void sortirovka(int a[]){
int s,j,i;
for (i=0; i<n-1; i++)
for(j=i+1; j<n;j++)
if(a[i]>a[j])
for ( int k=i;k<=j;k++)
{
s=a[k];
a[k]=a[j];a[j]=s;}
printf("Preobrazovani massiv:\n");
for (i=0;i<n; i++)
printf("%i\n",a[i]);
printf("\n");
}