Массивы и указатели
Лабораторная работа, 06 Июня 2013, автор: пользователь скрыл имя
Описание работы
Цель работы: Научиться работать с массивами данных. Получить навыки в использовании указателей и ссылок. Освоить методики работы со статической и динамической памятью.
Исходный код программы по заданию 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(
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;
}
Ответы на контрольные вопросы:
- Динамическая память выделяется в процессе выполнения программы. Статическая память выделяется предварительно.
- Realloc() – функция, вызывающая перераспределение памяти.
- Указатели используются для хранения адресов точек входа для подпрограмм в процедурном программировании и для подключения динамических подключаемых библиотек.
- & перед переменной означает ссылку.
- Двойной указатель, т.е. указатель на указатель.
- int mas[n][m];
- Позволяет выстроить необходимую последовательность элементов в строке.
- Динамическое распределение памяти – способ выделения ОЗУ для объектов в программе, при котором выделение происходит в процессе выполнения программы.