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

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

ФЭСТ ВТ-11

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

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

Тема: “Массив”

Выполнил студент Красных В.Ю.

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

Москва 2011.

1. Условия задания:

1)Найти сумму отрицательных

2)Найти произведение между max и min элементами

2. a)Входные данные : a[n]

б)Выходные данные: sum, n1

в)Рабочие данные: i,j, n2

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

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#define n 10

main() {

int a[n];

int sum,i,k,s,j;

int ss,min,max,imin,imax,i1,i2;

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

{

a[i]=rand()%20-10;

printf("%i \n",a[i]);

}

/////////////////////////////////////

sum=0;

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

if (a[i]<0) sum+=a[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];

//////////////////////////////////////////////////

printf("Suuma otrizatelnih elementov=%i \n",sum);

printf("Proizvedenie=%i \n",ss);

///////////////////////////////////////////////////

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");

system("PAUSE");

return 0;

}

5. Тестовые задачи:

Дано: a[10]={4,-5,-6,3,-8,5,6,4,1,5}

Ответ: Минимальный по модулю элемент: -8

Сумма между первыми положительными элементами: -11