Практические / Отчеты студентов 2011-2012 / ВТ-11 Лр / Шемяков / Laboratornaya №6
.docxМосковский Государственный Университет Леса
ФЭСТ ВТ-11
Лабораторная работа №6.
Программирование на языках высокого уровня
Тема: «Функции»
Выполнил студент Шемяков И.И.
Проверил Ларионов Н.В.
Москва 2011 г.
Оформить в виде функций каждый пункт задания, все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.
1. Условия задания:
В одномерном массиве, состоящем из n-элементов, вычислить:
а) минимальный элемент массива;
б) сумму элементов массива, расположенных между первым и последним положительными элементами.
Преобразовать массив таким образом, чтобы сначала располагались все элементы равные нулю, потом - все остальные.
2. Данные:
2.1) Выходные данные min, s преобразованный массив a[i].
3. Листинг программы:
#include <stdio.h>
#include <stdlib.h>
int min(int a,b)
{
if (a<b) min=a
else min=b;
return min;
}
int sum (int a,b)
{
sum=a+b;
return sum;
}
int main()
{
int i,j,b,min,s=0,n1=0,n2=0, a[10]={ 8,0,7,9,0,2,6,3,1,0};
m=a[0];
for (i=1;i<10;i++)
{
m=min(m;a[i]);}
for (i=0;i<10;i++)
if (a[i]>0)
{
n1=i;
break;
}
for(i=10;i>n1;i--)
if (a[i]>0)
{
n2=i;
break;
}
for(i=n1+1; i<n2; i++)
{ s=sum(s,a[i]);
}
for( j=0; j<10; j++)
{
for (i=0; i<10; i++)
{
if(a[i+1] == 0)
{
b=a[i+1];
a[i+1]=a[i];
a[i]=b;
}
}
}
for (i=0; i<10; i++)
{
printf("%i", a[i]," ");
}
printf(" \n");
printf("min= %i s=%i \n",min, s);
system ("pause");
return 0;
}