Лабораторная работа: Массивы и указатели в языке программирования Си
main ()
{int i;
for (i=0;i<9;i+=4)
printf("%d",*(p+i)); /*вывод на экран элементов главной диагонали*/
for (i=0; i<3; i++)
printf("%d",*p[i]); /*вывод на экран элементов первой строки*/
for (i=0; i<3; i++)
printf("%d",pa[i]); /*вывод на экран первых элементов каждой строки матрицы*/
}
Сделаем некоторые пояснения для первого оператора цикла. Представим матрицу в виде одномерного массива, записанного по строкам:
a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2],a[2][0],a[2][1],a[2][2]
Тогда элементы, стоящие на главной диагонали, занимают нулевое, четвертое и восьмое места, т.е. интервал между интересующими нас элементами равен четырем, поэтому переменная i изменяется с шагом 4. Соответственно с таким же шагом меняются адреса ячеек, содержимое которых выводится на экран.
2. Задание
Задание взять из таблицы согласно заданному варианту. Написать два варианта программы: без применения указателей и с указателями.
Таблица
№ варианта | Задание |
1 |
Определить, является ли заданная квадратная матрица А(5,5) симметричной относительно главной диагонали. |
2 |
Задана матрица В(4,4). Определить, отсортированы ли все элементы первого столбца в возрастающем порядке. |
3 |
Задана матрица С(5,5). Поменять местами максимальный элемент каждой строки с первым элементом соответствующей строки. |
4 |
Переписать первые элементы каждой строки матрицы D(3,3), которые больше 10, в массив В. |
5 |
Задана матрица Q(5,5). Заменить последний нуль в каждой строке на 5. |
6 |
Задана матрица D(4,4). Определить максимальный среди положительных, минимальный среди отрицательных и поменять их местами. |
7 |
Задана матрица А(4,4). Заменить первый нуль в каждом столбце на количество нулей в этом столбце. |
8 |
Задана матрица F(9,3). определить, равны ли все элементы первого столбца соответствующим элементам главной диагонали. Если нет, то поменять их местами. |
9 |
Задана матрица C(5,5). Получить вектор В, каждый элемент которого равен количеству нулей, стоящих в столбце матрицы. |
10 |
Задана матрица В(4,4). Если в строке есть хотя бы одна единица, то заменить эту строку нулями. |
11 |
Задана матрица Q(3,3). Если на главной диагонали стоит нуль, то соответствующую строку заменить единицами. |
12 |
К-во Просмотров: 295
Бесплатно скачать Лабораторная работа: Массивы и указатели в языке программирования Си
|