русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Теоретические положения


Дата добавления: 2015-06-12; просмотров: 525; Нарушение авторских прав


Лабораторная работа № 4

 

Работа с массивами в языке программирования C

 

Цель и задача работы: изучение структурированных типов данных – одномерный массив и двумерный массив. Написать программу, обрабатывающую массивы.

 

Теоретические положения

Массив – это совокупность переменных одного типа, к которым обращаются с помощью общего имени. Доступ к отдельному элементу массива может осуществляться с помощью индекса. Массивы могут иметь одну или несколько размерностей. Стандартный вид объявления одномерного массива следующий:

тип имя_переменной [размер];

Здесь тип объявляет тип массива и является типом каждого элемента массива. Параметр размер определяет, сколько элементов содержит массив. В одномерном массиве полный размер массива в байтах определяется следующим образом:

Общее число байт = sizeof (тип)*число элементов,

где sizeof это оператор, возвращающий длину в байтах переменной или типа.

У всех массивов первый элемент имеет индекс 0. Поэтому, если написать

char p [10];

то будет объявлен массив символов из 10 элементов, причем эти элементы адресуются индексами от 0 до 9. Следующая программа загружает целочисленный массив числами от 0 до 9 и выводит его:

#include <stdio.h>

 

int main(void)

{

int x[10];

int t;

 

for (t=0; t<10; t++)

x[t]=t;

for (t=0; t<10; t++)

printf(“%d “, x[t]);

 

return 0;

}

 

По умолчанию компилятор не проверяет выход за границы массивов. Можно выйти за границу массива и записать значение в какую-либо область памяти, не относящуюся к массиву, или даже в код программы. Проверка выхода за границы массива возлагается на программиста.

Двух или более мерные массивы называются многомерными. Рассмотрим описание и использование 2-х мерного массива:



int i,j,k,n;

int name[10][20];

i=5;

j=3;

k=2;

n = name[i+j][1] + name[k][2];

 

Двухмерный массив в С хранится как строка, так что крайний правый индекс меняется быстрее всего. Этот массив имеет 10 строк и 20 столбцов. Таким образом, трехмерный массивы хранятся как последовательность таблиц (двухмерных массивов), каждый из которых в свою очередь представляет собой строку. Четырехмерные массивы хранятся как последовательность кубов (трехмерных массивов), и т.д.

Сейчас же рассмотрим более сложный пример, допустим мы хотим ввести, а затем распечатать все элементы двухмерного массива, в котором количество строк равно количеству столбцов. Попробуйте сделать это сами перед прочтением этого примера:

#include "stdio.h"

#include "conio.h"

int main(void)

{

const int MAXSIZE;

int counter_1,counter_2;

int size;

int mas[MAXSIZE][ MAXSIZE];

 

clrscr();

printf ("Please enter the number of rows and columns in your matrix (the max is %d):", MAXSIZE);

scanf("%i",&size);

 

printf("\nYou have entered the number of raws and columns which is equal to %i\n",size);

if (size> MAXSIZE | size<0 )

{

printf("\nYou have entered an illegal parameters");

return(0);

}

printf("\n");

for (counter_1=0;counter_1<size;counter_1++)

for (counter_2=0;counter_2<size;counter_2++)

{

printf("Please enter the element of the matrix in %i-th row and in %i-th column:\n",counter_1+1,counter_2+1);

scanf("%i",&mas[counter_1][counter_2]);

}

printf("\n");

for (counter_1=0;counter_1<size;counter_1++)

{

for (counter_2=0;counter_2<size;counter_2++)

printf("%i ",mas[counter_1][counter_2]);

printf("\n");

}

return (0);

}



<== предыдущая лекция | следующая лекция ==>
Назначение переменных | Задание


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.539 сек.