Цель работы
Использование указателей при работе с массивами.
Лабораторное задание
В программе необходимо определить указатели. Все обращения к
элементам массивов (одномерных и двумерных) производить с помощью указателей.
a). Задан
массив А(20). Определить знакопеременную сумму а1 – а2 + а3 – а4 + ….
б). Просуммировать элементы
матрицы Х(6,8), сумма индексов которых равна заданной константе К.Описание метода решения задачи
А)Объявляем массив А на 20 элементов, заполняем их в цикле рендомно, и ищем знакопеременную сумму посредством выяснения четный элемент или нет. Выводим результат
Б)Объявляем матрицу Х(6,8) заполняем ее рендомно, ищем эл-ты
сумма координат которых равна заданной константе К и складываем их. Выводим
результат
Листинг
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <locale>
void main()
{
setlocale(LC_ALL, "Russian");
double
a[20],*pa=&a[0];;
int i,j;
double
s=0;
for(i=0;
i<=19; i++)
{
printf("
А[%d]=",i);
*pa=rand()%(9999+9999)-9999;
*pa=*pa/100;
printf("%.2f\n",*pa);
j=i%2;
if
(j==0)
s+=*pa;
else
s-=*pa;
pa++;
};
printf
("Знакопеременная сумма=%.2f\n",s);
double x[6][8];
const unsigned k=3;
double
s1=0;
double
*px=&x[0][0];
for(i=0;
i<6; i++)
{
for(j=0;
j<8; j++)
{
*px=rand()%(9999+9999)-9999;
*px=*px/100;
printf("%7.2f ",*px);
if
((i+j)==k)
{
s1+=*px;
};
px++;
};
printf("\n");
};
printf("\n%.2f",s1);
getch();
}
Пояснительный текст к программе
Переменные а[20],x[6][8] — это массив А и матрица Х заполняемые в ходе
программы.
Переменные i,j —
это переменные с помощью которых происходит обращение к элементам массивов.
Константа k
— сумма координат.
Указатели *pа
— на массив а, *px — на матрицу x,
Комментариев нет:
Отправить комментарий