Массивы и указатели символьных строк

Часто бывает необходимо иметь массив символьных строк. При этом возможно задать два типа описаний:

1) char string_1[10][20]; //10 строк по 20 символов

2) char* string_2[10]; // массив из 10 указателей на строки символов. Какие здесь различия? Различие заключается в том, что в первом случае задается “прямоугольный” массив, в котором каждая строка имеет фиксированную длину, а во втором определяется “рваный” массив, где длина каждой строки занимает столько байт, сколько необходимо.

Например:

char string_1[3] [7]={“Яблоко”, “Слива”, “Груша”};

char *string[3]={“яблоко”, “слива”, “груша”};

Заполнение массивов будет следующим:

string_1: string_2:

Яблоко\0 яблоко\0

Слива\0\0 слива\0

Груша\0\0 груша\0

ЗАДАНИЕ: выполнить программу согласно своему варианту

Вариант Задание
1. Сформировать массив А из 20 случайных целых чисел в диапазоне от –50 до +50. Напечатать его. Поменять местами 1 элемент массива с 20 элементом, 2 с 19 и т.д. 10 с 11.
2. Найти сумму элементов массива с четными индексами.
3. Найти среднее арифметическое положительных элементов массива.
4. Удвоить каждый элемент массива. Полученный массив напечатать.
5. Найти произведение элементов массива с нечетными индексами
6. Переписать первые элементы каждой строки матрицы D(3,3), которые больше 10, в массив В.
7. Задана матрица Q(3,3). Если на главной диагонали стоит нуль, то соответствующую строку заменить единицами.
8. Задана матрица D(4,4). Если максимальный элемент матрицы стоит на главной диагонали, то все элементы главной диагонали сделать равными максимальному.
9. Задана матрица Q(5,5). Заменить все элементы 1 и 5 строки, большие 10, на 5.
10. Задана матрица С(4,4). Поменять местами максимальный элемент каждой строки с первым элементом соответствующей строки.
11. Сформировать одномерный массив А из 10 случайных целых чисел в диапазоне от –30 до +30. Напечатать его. Сформировать новый массив В, элементы которых меньше на 5 элементов заданного массива.
12. Задана матрица В(4,4). Отсортировать все элементы первого столбца в возрастающем порядке.
13. Задана матрица С(4,4). Отсортировать все элементы второго столбца в убывающем порядке.
14. Задана матрица Q(3,3). Если на главной диагонали стоит нуль, то соответствующую строку заменить единицами.
15. Задана матрица А(4,4). Поменять местами элементы первого столбца с последним.

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: