Практические / Отчеты студентов 2011-2012 / ВТ-11 Лр / Шемяков / Laboratornaya №4
.docxМосковский Государственный Университет Леса
ФЭСТ ВТ-11
Лабораторная работа №4.
Программирование на языках высокого уровня
Тема: «Одномерный массив»
Выполнил студент Шемяков И.И.
Проверил Ларионов Н.В.
Москва 2011 г.
1. Условие задания:
В одномерном массиве, состоящем из n-элементов, вычислить:
а) минимальный элемент массива;
б) сумму элементов массива, расположенных между первым и последним положительными элементами.
Преобразовать массив таким образом, чтобы сначала располагались все элементы равные нулю, потом - все остальные.
2. Данные:
1) Выходные данные min, s преобразованный массив a[i].
3. Блок-схема программы:
Начало
min=a[0]
i=0;i<10;i++
a[i]<min
min=a[i]
i=0; i<10;i++
a[i]>0
n1=i
i=10;i<n1;i--
a[i]>0
n2=i
i=n1=1;i<n2;i++
s+=a[i]
J=0;j<10;j++
I=0;i<10;i++
a[i+1]==0
b=a[i+1]
a[i+1]=a[i]
a[i]=b
I=0;i<10;i++
Вывод a[i]
Вывод min,s
Конец
4. Листинг программы:
#include <stdio.h>
#include <stdlib.h>
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};
min=a[0];
for (i=1;i<10;i++)
{if (a[i]<min) min=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+=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;
}