Массивы и указатели

Автор работы: Пользователь скрыл имя, 06 Июня 2013 в 14:38, лабораторная работа

Описание работы

Цель работы: Научиться работать с массивами данных. Получить навыки в использовании указателей и ссылок. Освоить методики работы со статической и динамической памятью.
Исходный код программы по заданию 1:
#include <stdio.h>
#include <time.h>

Файлы: 1 файл

лр3.docx

— 19.04 Кб (Скачать файл)

Московский Государственный  Колледж Информационных Технологий

 

 

 

 

 

 

 

 

 

 

Специальность

090108 Информационная Безопасность

 

 

 

 

Отчет по лабораторной работе №3

на тему: «Массивы и указатели»

 

 

 

 

 

 

 

 

Выполнил: студент                                                                                  Работу принял:

гр. З-306к                                                                                                  Преподаватель

                                                                                                                        Ратвин К.А.

 

 

 

 

2013г.

 

Цель работы: Научиться работать с массивами данных. Получить навыки в использовании указателей и ссылок. Освоить методики работы со статической и динамической памятью.

 

Исходный код  программы по заданию 1:

#include <stdio.h>

#include <time.h>

int main()

{

    int x=3,y=10;

    int mas[x][y];

    srand(time(NULL));

    int i=0,j=0;

    for(i=0;i<x;i++)

        for(j=0;j<y;j++)

            mas[i][j]=rand()%5+1;

printf("\nThe initial array of [%d, %d]:\n",x,y);

for(i=0;i<x;i++)

{

for(j=0;j<y;j++)

printf("%3d ", mas[i][j]);

printf("\n");

}

int s=0;

for(i=0;i<1;i++)

    for(j=0;j<y;j++)

        s+=mas[i][j];

s=(s/30);

printf("\nSredniy ball grupy 1 = [%d]\n", s);

s=0;

for(i=1;i<2;i++)

    for(j=0;j<y;j++)

        s+=mas[i][j];

s=(s/30);

printf("\nSredniy ball grupy 2 = [%d]\n", s);

s=0;

for(i=2;i<3;i++)

    for(j=0;j<y;j++)

        s+=mas[i][j];

s=(s/30);

printf("\nSredniy ball grupy 3 = [%d]\n", s);

return 0;

}

 

 

Исходный код  программы по заданию 2:

#include <stdio.h>

#include <malloc.h>

#include <time.h>

int main ()

{

int n=0;

int *arr;

arr=(int*)(malloc(n*sizeof(int)));

if (!arr)

{

printf("Out of memory. Press any key: ");

return 1;

}

int i=0;

for(i=0;i<5;i++)

    scanf("%d",&arr[i]);

int s=0,m=0;

for(i=0;i<5;i++)

    if (s<arr[i])

    {

        s=arr[i];

        m=i;

    }

printf("Samaya bistraya - nomer [%d]",m);

return 0;

}

 

Ответы на контрольные  вопросы:

  1. Динамическая память выделяется в процессе выполнения программы. Статическая память выделяется предварительно.
  2. Realloc() – функция, вызывающая перераспределение памяти.
  3. Указатели используются для хранения адресов точек входа для подпрограмм в процедурном программировании и для подключения динамических подключаемых библиотек.
  4. & перед переменной означает ссылку.
  5. Двойной указатель, т.е. указатель на указатель.
  6. int mas[n][m];
  7. Позволяет выстроить необходимую последовательность элементов в строке.
  8. Динамическое распределение памяти – способ выделения ОЗУ для объектов в программе, при котором выделение происходит в процессе выполнения программы.

Информация о работе Массивы и указатели