Лабораторная работа

Слайд 2

Задача A

#include
int main() {
char name[10];
printf("Who are you? ");

Задача A #include int main() { char name[10]; printf("Who are you? ");
fgets(name,10,stdin);
printf("Glad to meet you, %s",name);
return(0);
}
ИНСТРУКЦИЯ:
Модифицируете эту программу, чтобы она читала n-количество символов текста, а потом выводила на экран тот же текст в обратном порядке. Пример: "ABCDE -> EDCBA"

Слайд 3

Задача B

#include
/*Ханойская башня: Даны три стержня, на один из которых нанизаны

Задача B #include /*Ханойская башня: Даны три стержня, на один из которых
восемь колец, причём кольца отличаются размером и лежат меньшее на большем. Задача состоит в том, чтобы перенести пирамиду из восьми колец за наименьшее число ходов на другой стержень. За один раз разрешается переносить только одно кольцо, причём нельзя класть большее кольцо на меньшее.*/
// C recursive function to solve tower of hanoi puzzle
void towerOfHanoi(int n, char from_rod, char to_rod, char aux_rod) {
if (n == 1) {
printf("\n Move disk 1 from rod %c to rod %c", from_rod, to_rod);
return;
}
towerOfHanoi(n-1, from_rod, aux_rod, to_rod);
printf("\n Move disk %d from rod %c to rod %c", n, from_rod, to_rod);
towerOfHanoi(n-1, aux_rod, to_rod, from_rod);
}

Слайд 4

int main(void) {
int n = 5; // Number of disks

int main(void) { int n = 5; // Number of disks towerOfHanoi(n,
towerOfHanoi(n, 'A', 'C', 'B'); // A, B and C are names of rods
return 0;
}
ИНСТРУКЦИЯ:
Вместо текстового описания решения, модифицируйте эту программу, чтобы она графически показывала решение шаг за шагом. Пример:
х
ххх
ххххх
ххх
ххххх х
ххххх х ххх
итд
*/