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

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

Факультет ЭСТ

Тема: “Указатели”

Выполнил: Федюкин А.А.

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

Москва 2012.

Задание:

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

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

Оформить виде функций с указателями

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#define n 10

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

int sumotiz(int a[]);

int sortirovka(int a[]);

int proizotiz(int a[]);

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

main() {

int a[n];

int i, *pi=&i;

srand(time(NULL));

for (*pi=0;*pi<n;(*pi)++)

{

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

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

}

int sum,*psum=∑

*psum=sumotiz(a);

//

int p,*pp=&p;

*pp=proizotiz(a);

//

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

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

//

int sor, *psor=&sor;

*psor=sortirovka(a);

system("PAUSE");

return 0;

}

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

int sumotiz(int a[])

{

int sum, *psum=&*psum;

int i,*pi=&i;

*psum=0;

for (*pi=0;*pi<n;(*pi)++)

if (a[*pi]<0) (*psum)+=a[*pi];

return(*psum);

}

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

int proizotiz(int a[]){

int ss, *pss=&ss;

int min, *pmin=&min;

int max, *pmax=&max;

int imin, *pimin=&imin;

int imax, *pimax=&imax;

int i1,*pi1=&i1;

int i2,*pi2=&i2;

int i,*pi=&i;

*pmax=*pmin=a[0];

*pimin=*pimax=0;

for (*pi=1;*pi<n;(*pi)++)

{

if (a[*pi]>*pmax) {

*pmax=a[*pi];

*pimax=*pi;

}

if (a[*pi]<*pmin) {

*pmin=a[*pi];

*pimin=*pi;

}

}

if (*pimax>*pimin) {

*pi1=*pimin;

*pi2=*pimax;

}

else{

*pi1=*pimax;

*pi2=*pimin;

}

*pss=1;

for (*pi=*pi1+1;*pi<*pi2;(*pi)++)

*pss*=a[*pi];

return(*pss);

}

//////////

int sortirovka(int a[]){

int s, *ps=&s;

int j, *pj=&j;

int i, *pi=&i;

int k, *pk=&k;

for (*pi=0; *pi<n-1; (*pi)++)

for(*pj=*pi+1; *pj<n;(*pj)++)

if(a[*pi]>a[*pj])

for (*pk=*pi;*pk<=*pj;(*pk)++)

{

*ps=a[*pk];

a[*pk]=a[*pj];a[*pj]=*ps;}

printf("Preobrazovani massiv:\n");

for (*pi=0;*pi<n; (*pi)++)

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

printf("\n");

}

Соседние файлы в папке Федюкин