Лабораторная работа по Си указатели и массивы

Цель работы

Использование указателей при работе с массивами.

Лабораторное задание

В программе необходимо определить указатели. Все обращения к элементам массивов (одномерных и двумерных) производить с помощью указателей.
a). Задан массив А(20). Определить знакопеременную сумму а– а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,

Результаты работы программы


Комментариев нет:

Отправить комментарий