- •Лабораторная работа № 1
- •5.1 Линейная программа
- •Далее создадим файл:
- •Задания1
- •Лабораторная работа № 2
- •7. Варианты задания
- •Лабораторная работа № 3
- •5.2 Оператор if
- •Лабораторная работа № 4
- •Лабораторная работа № 5
- •Задание 2. Циклический вычислительный процесс конечные суммы и произведения
- •Лабораторная работа № 6
- •Лабораторная работа № 7
- •5.1 Одномерный массив
- •5.3 Индексация с помощью указателей
- •Лабораторная работа № 8
- •Лабораторная работа № 9
- •Лабораторная работа № 11
- •Задача 2. Параметры функции
- •Лабораторная работа № 12
- •Лабораторная работа № 13
- •5. Содержание отчета
- •Лабораторная работа № 14
- •5. Содержание отчета
- •Решение уравнения методом деления отрезка пополам (бисекций)
- •Лабораторная работа № 15
- •6.2.1 Метод средних прямоугольников
- •6.2.1 Метод трапеций
- •Лабораторная работа № 10
- •Лабораторная работа № 16
- •5. Содержание отчета
- •Директива #include
- •7. Методические указания
- •8. Варианты заданий.
- •Лабораторная работа № 17
- •Лабораторная работа № 18
- •Лабораторная работа № 19
- •5. Содержание отчета
- •6.1.1 Доступ к элементам структуры
- •6.1.2 Присваивание структур
- •Лабораторная работа № 20
- •Например, формула
- •Задание на программирование
Лабораторная работа № 7
Тема: «Обработка одномерных массивов. Сортировка массивов»
Цель работы
1.1 Получение практических навыков в работе с одномерными массивами.
1.2 Знакомство с алгоритмами упорядочения.
Техническое обеспечение
Персональная ЭВМ
Клавиатура.
Дисплей.
Печатающее устройство.
Программное обеспечение
Операционная система Windows
Система программирования Visual C++ версия 6.0 или Borland C++ версия 3.1 и более поздние версии.
Постановка задачи
Для конкретного варианта ввести массив исходных данных и выполнить над ним указанные действия. Изучив алгоритмы упорядочения, выбрать один из них. Написать программу, которая работает с любым набором данных. Входную информацию и результаты счета вывести на печать, снабдив их соответствующими заголовками.
Содержание отчета.
Тема и цель работы.
Схема алгоритма решения.
Текст программы.
Результаты счета.
Общие сведения
Массив – это совокупность переменных одного типа, к которым обращаются с помощью общего имени. Доступ к отдельному элементу массива может осуществляться с помощью индекса. В языке С все массивы состоят из соприкасающихся участков памяти. Наименьший адрес соответствует первому элементу, наибольший адрес соответствует последнему элементу. Массивы могут иметь одну или несколько размерностей.
5.1 Одномерный массив
Стандартный тип объявления одномерного массива следующий:
тип имя_переменной[размер];
В С массивы должны определяться однозначно, чтобы компилятор мог выделить для них место в памяти. Здесь тип объявляет базовый тип массива и является типом каждого элемента массива. Параметрразмеропределяет, сколько элементов содержит массив. В одномерном массиве стандартный размер массива в байтах вычисляется следующим образом:
общее число байт=sizeof(базовый тип)*число элементов;
У всех массивов первый элемент имеет индекс 0. Поэтому, если написать
Charp[10];
То будет объявлен массив символов из 10 элементов, причем эти элементы адресуются индексом от 0 до 9. Следующая программа вводит целочисленный массив с клавиатуры и выводит его на дисплей:
#include <stdio.h>
main ( )
{ const int n=10;
intx[n]; /* резервирует место для 10 целочисленных элементов */
int t;
for (t=0; t<n; ++t)
{
printf(“Введите %d-й элемент массива: “,t+1);
scanf(“%d”, &x[t]);
}
for (t=0; t<n; ++t)
printf(“%d “, x[t];
}
В языке С отсутствует проверка границ массивов. Можно выйти за один конец массива и записать значение в какую-либо переменную, не относящуюся к массиву, или даже в код программы. Работа по проверке границ массива возлагается на программиста. Например, следует убедиться, что массив символов, куда осуществляется ввод, имеет достаточную длину для принятия самой длинной последовательности символов.
Одномерные массивы – это на самом деле списки информации одного типа.
Создание указателя на массив
Можно создать указатель на первый элемент массива, указав имя массива без индекса. Пусть имеется
intsample[10];
Можно создать указатель на первый элемент массива, используя имя sample. Следовательно, следующий фрагмент присваивает переменнойрадрес первого элемента массиваsample:
int *p;
int sample[10];
p=sample;
Можно также получить адрес первого элемента массива с помощью оператора &. Например:
p=sample;
и
p = &sample[0];
Приводят к одинаковому результату. Тем не менее запись &sample[0] в профессиональных программах практически не встречается.