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

Московский государственный университет леса

Факультет электроники и системотехники.

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

Указатели.

Студент: Снегирев Н.В.

Группа: Вт-12

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

Задание:

Написать программу, используя функции и указатели.

в одномерном массиве, состоящем из n вещественных элементов, вычислить:

1) Сумму положительных элементов массива;

2) Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами.

3) Упорядочить элементы массива по убыванию.

Программа:

#include <stdio.h>

#include <math.h>

#include <windows.h>

#include <stdlib.h>

#define N 10

int main()

{

int a[N] = { -1, -8, 2, -4, -5, 2, 0, 0, -15, 11 };

int i,r,*pi=&i,n=10,*pn=&n;

int j,*pj=&j;

float s,*ps=&s;

for(pi=a;pi<a+n;pi++)

printf("%i ",*pi);

if(a[N]<0)

*ps=0;

for(pi=a;pi<a+n;pi++)

*ps+=*pi;

printf(" Symma= %f\n",*ps);

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

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

for(pi=a;pi<a+n;pi++)

for(pj=a+1;pj<a+n-1;pj++)

if (*pj<*(pj+1))

{*ps=*pj;

*pj=*(pj+1);

*(pj+1)=*ps;}

printf("\n");

for(pi=a;pi<a+n;pi++)

printf("%i ",*pi);

*ps=0;

for(pi=a;pi<a+n;pi++)

*ps*=*pi;

printf(" Proizvedenie= %f\n",*ps);

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

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

system("pause");

return 0;

}

Соседние файлы в папке Снегирев