Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
programmirovanie / ОПиАЯ_№3_4_слайды.doc
Скачиваний:
33
Добавлен:
03.03.2016
Размер:
147.46 Кб
Скачать

/*Ввод п элементов массива X*/

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

{scanf(“%d”,&temp);

x[i]=temp;

}

pass = 1; /*номер текущего прохода*/

do{

/*Массив считается отсортированным, пока не встретится неупорядоченная пара*/

sorted = 1; /*факт сортировки*/

/*Выполнение прохода по очевидно неотсортированным элементам*/

for (i = 0; i<n-pass; ++i)

{if (x[i]>x[i+1])

/*Перестановка неупорядоченной пары*/

{temp = x[i];

x[i] = x[i+1];

x[i+1] = temp;

sorted = 0; /*Факт сортировки*/

} /*if*/

} /*for*/

++pass;

}while(!sorted);

}

Многомерный массив в Си есть массив массивов, т.е. массив, элементами которого служат массивы.

Объявление многомерного массива v должно содержать сведения о типе, размерности и количестве элементов по каждому измерению.

mun v[ ] [ ]…[ ];

Где р представляет собой размерность массива (значит,

объявление двумерного массива содержит два константных выражения[ ] [ ], трёхмерного – три [ ] [ ][ ] и т.д.)

Однотипные массивы удобно объявлять одним оператором. Здесь же элементам любого массива можно присвоить начальные значения. Например, объявим и зададим начальные значения элементам матрицы

А =

double А[3][3] ={ {1.,2.,3.}, {4.,5.,6. }, {7.,8.,9. }}

Внешние фигурные скобки окаймляют весь список значений, а внутренние – элементы каждой строки матрицы А.

Чтобы обратится к элементу матрицы А, нужно использовать индексированное имя А[0][0].

Многомерные массивы может задаваться так

А[k][i][j], где

k –номер слоя;

i – номер строки;

j – номер столбца.

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

Например,

#define L 81

char T[12][4]={“Dec”, “Jan”, “Feb”, “Mar”, “Apr”, “May”, “Jun”, “Jul”, “Sep”, “Oct”, “Nov”};

P[][L]={“В”, “зыбком”, “мире”, “вещественных”, “чисел”, “осторожность”, “не”, “может”, “быть”, “лишней”};

Здесь определение char T[12][4] задает 12 строковых переменных T[0], T[1]…, T[11] длиной не более 3 символов каждая. Тогда, чтобы вывести на экран последнюю строку, надо указать имя T[11]. Имя T[11][0] выводит первый символ этой строки. Число строк массива Р равно sizeof(P)/sizeof(P[0]).

Диагонали матрицы

Главная диагональ (n=m)

Побочная диагональ (n=m)

Локальный максимум (минимум)

Если (a[i][j]>(<)a[i][j-1] и

a[i][j]>(<)a[i][j+1] и

a[i][j]>(<)a[i-1][j] и

a[i][j]>(<)a[i+1][j])

Соседние файлы в папке programmirovanie