Программирование на языке Си. Билеты и ответы
.pdfкомпилятора. Она
позволяет выдавать компилятору различные инструкции, предусмотренные создателем компилятора.
Если ключевое слово не указано, директива игнорируется.
Если указано несуществующее ключевое слово, выводится сообщение об ошибке и компиляция прерывается. (В некоторых компиляторах, таких как g++, компиляция продолжается, просто показывая предупреждение).
ЗАДАЧА: НАПИСАТЬ ФУНКЦИЮ, МЕНЯЮЩУЮ МЕСТАМИ 1-УЮ И ПОСЛЕДНЮЮ СТРОКИ ДВУМЕРНОГО МАССИВА. ПРОДЕМОНСТРИРОВАТЬ ЕЁ ИСПОЛЬЗОВАНИЕ В ПРОГРАММЕ.
Ответ на практическое задание билета №4 такой же.
СИ
#include <stdio.h>
///Функция, меняющая местами 1-ую и последнюю строки двумерного массива
///arr — массив, n — количество строк, m — количество столбцов
///Сложность алгоритма: T(n) = O(n)
void bilet4(char *arr, int n, int m){ int i; char ch; int wn = n - 1; for (i = 0; i < m; i++){
ch = arr[i];
arr[i] = arr[m*wn + i]; arr[m*wn + i] = ch;
}
}
int main() {
int i, j; /// Счетчики циклов
/// Массив строк: 4 строки, в каждой по 6 символов
char arr4[4][6] = {{"str_1"}, {"str_2"}, {"str_3"}, {"str_4"}};
/// 6 символ в каждой строке — \0 bilet4(&arr4[0][0], 4, 6); /// Обработка for (i = 0; i < 4; i++) {
for (j = 0; j < 5; j++)
printf("%c", arr4[i][j]); /// Вывод printf(" ");
} /// Вывод: str_4 str_2 str_3 str_1 printf("\n");
return 0;
}