Практические / Отчеты студентов 2011-2012 / ВТ-12 ЛР / Снегирев / Ykazateli 7
.docx
Московский государственный университет леса
Факультет электроники и системотехники.
Лабораторная работа №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;
}