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

Практические / Отчеты студентов 2011-2012 / ВТ-11 Лр / Рудов / лабораторная работа №7

.doc
Скачиваний:
17
Добавлен:
17.04.2015
Размер:
15.09 Кб
Скачать

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЛЕСА

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

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

Тема: «Указатели»

Выполнил студент:

Рудов К. А. ВТ-11

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

Москва 2012 г.

  1. Условия задания: Написать программу в виде указателей.

  2. Схема программы:

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

#include<stdio.h>

#include<stdlib.h>

#include <math.h>

#define n 10

int sum(int a[]);

int maxi(int a[]);

int cg(int a[]);

main()

{

int a[n]={2,3,5,-1,-6,7,-3,8,1,9};

int m,*pm=&m,ss,*pss=&ss,p,*pp=&p;

*pm=maxi(a);

*pss=sum(a);

printf("summa=%i\n",*pss);

*pp=cg(a);

return 0;

}

int maxi(int a[])

{int max,*ma=&max,*pi;

*ma=a[0];

for( pi=a+1; pi<a+10; pi++)

if (*pi>*ma) *ma=*pi;

printf("max=%i \n",*ma);

return(*ma); }

int sum(int a[])

{ int s=0,*ps=&s,*pi;

int k,*pk=&k;

for( pi=a+10; pi>=a; pi--){

if ( *pi>=0) *pk=*pi;

break;}

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

*ps=*ps+(*pi);

return (*ps);}

int cg(int a[])

{ int c, b,*pi;

printf("vvedite c,b\n");

scanf("%i%i",&c,&b);

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

if(fabs(*pi)<c||fabs(*pi)>b) *pi=0;

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

printf("%i \n",*pi);

system ("pause");

return 0;}