Лабораторные / Лр №7. Указатели / Примеры решения Лр№ 7 Указатели
.odtПримеры решения задач по Лр № 7.
// Программа нахождения суммы элементов массива чисел.
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int i,r,*pi=&i,n=10,*pn=&n;
float s,*ps=&s;
int a[n];
for(pi=a;pi<a+n;pi++)
*pi=rand()/1000;
for(pi=a;pi<a+n;pi++)
printf("%i ",*pi);
*ps=0;
for(pi=a;pi<a+n;pi++)
*ps+=*pi;
printf(" Сумма равна= %f\n",*ps);
for (i=0;i<n;i++)
printf("%i ",a[i]);
system("pause");
return 0;
}
//0 18 6 26 19 15 11 29 26 24
// 174
// Программа нахождения максимального значения элементов массива
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define PNS printf("\n");
int *maxmas(int *p,int n);
int main()
{
int i,*pi=&i,n=10,*pn=&n;
int j,*pj=&j;
int s,*ps=&s;
int a[n];
for(pi=a;pi<a+n;pi++)
*pi=rand()/1000;
printf("\n");
for(pi=a;pi<a+n;pi++)
printf("%i ",*pi);
ps=maxmas(a,n);
printf("\n %i ",*ps);
system("pause");
return 0;
}
int *maxmas(int *p,int n)
{
int i,*pi=&i,r,*pr=&r;
*pr=*p;
for(pi=p+1;pi<p+n;pi++)
if(*pi>*pr) *pr=*pi;
return(&r);
}
//0 18 6 26 19 15 11 29 26 24
мах= 29
// Программа упорядочения элементов массива по возрастанию.
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int i,*pi=&i,n=10,*pn=&n;
int j,*pj=&j;
int s,*ps=&s;
int a[n];
for(pi=a;pi<a+n;pi++)
*pi=rand()/1000;
for(pi=a;pi<a+n;pi++)
printf("%i ",*pi);
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);
system("pause");
return 0;
}
//0 18 6 26 19 15 11 29 26 24
//0 6 11 15 18 19 24 26 26 29