Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Razdel_1_2007.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
421.96 Кб
Скачать

7. Складені типи даних: масиви. Поняття масиву, одновимірні та багатовимірні масиви. Ініціалізація масивів та виведення їх на екран. Класичні алгоритми для роботи з масивами

Элементы одного типа данных удобно объединять, для того используется тип данных Массив

Массив — это набор переменных одного типа, имеющих одно и то же имя.

Одномерные массивы

Общая форма объявления одномерного массива имеет следующий вид:

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

Как и другие переменные, массив должен быть объявлен явно, чтобы компилятор выделил для него определенную область памяти (т.е. разместил массив). Здесь тип обозначает базовый тип массива, являющийся типом каждого элемента. Размер задает количество элементов массива.

следующий оператор объявляет массив из 10 элементов типа int под именем mas:

int mas[10];

Многомерные массивы

В языке С можно пользоваться массивами, размерность которых больше двух. Общая форма объявления многомерного массива следующая:

тип имя_массива [Размер1][Размер2]...[РазмерN];

Массивы, у которых число измерений больше трех, используются довольно редко, потому что они занимают большой объем памяти.

Инициализация

В языке С массивы при объявлении можно инициализировать. Общая форма инициализации массива аналогична инициализации переменной:

тип имя_массива[размер1]...[размер№] = {список_значений};

Заполнение массивов

Массив может быть заполнен такими способами:

1. значения массива инициализируются в программе:

int b[5]={3,2,1};

//b[0]=3; b[l]=2; b[2]=l; b[3]=0; b[4]=0;

2. значения массива считываются с клавиатуры:

int b [10],i;

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

{

printf(“Введіть значення %d-того

елементу”,b[i]);

scanf(“%d”,&b[i]);

}

3. значения массива генерируются случайным числом:

int c[10],i;

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

{

c[i]=rand()%10-5;

printf(“%d\n”,c[i]);

}

4. значение массива считывается с файла.

Поиск максимального элемента в массиве

if (mas[i] >= max_X)

{

max_X = mas[i];

}

Поиск минимального элемента в массиве

if (mas[i] <= min_X)

{

min_X = mas[i];

}

Сортировка массива

or (int i=0;i<n;i++)

for (int j=0; j<n;j++)

if (a[j] > a[j+1]) { // алгоритм сортировки по возрастанию

Х = a[j];

a[j] = a[j+1];

a[j+1] = Х;

}

8. Складені типи даних: рядки. Бібліотека функцій обробки рядків. Класичні алгоритми для обробки рядків

Одномерный массив наиболее часто применяется в виде строки символов.

Строка — это одномерный массив символов, заканчивающийся нулевым символом. В языке С признаком окончания строки (нулевым символом) служит символ '\0' (В языке С он используется для того, чтобы определить конец строки). Таким образом, строка содержит символы, составляющие строку, а также нулевой символ. Это единственный вид строки, определенный в С.

Основные методы инициализации строк.

• char str1[]= "ABCdef";

• char str2[]={'A', 'B', 'C', 'd', 'e', 'f',0};

• char str3[100];

gets(str3);

• char str4[100];

scanf("%s",str4);

Стандартная библиотека С содержит класс функций для работы со строками, все они начинаются с букв str. Для того, чтобы использовать одну или несколько функций необходимо подключить библиотеку string.h.

#include<string.h>

Имя функции

Выполняемое действие

strcpy(s1,s2)

Копирование s2 в s1

strcat(s1,s2)

Конкатенация (присоединение) s2 в конец s1

strlen(s1)

Возвращает длину строки s1

strcmp(s1,s2)

Возвращает 0, если s1 и s2 совпадают, отрицательное значение, если s1<s2 и положительное значение, если s1>s2

strchr(s1,ch)

Возвращает указатель на первое вхождение символа ch в строку s1

strstr(s1,s2)

Возвращает указатель на первое вхождение строки s2 в строку s1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]