
Евфрасий
6 год назад
Программирование на СИ
Робот может перемещаться в четырех направлениях( n- север, w - запад, s - юг, e - восток) и принимать пять цифровых команд : 0 - остановка, 1 - продолжать движение, -1 - движение реверсом, 2 - поворот направо, -2-поворот налево. Дан символ C - исходное направление робота и целое число N - посланная ему команда. Вывести направление робота после выполнения каждой полученной команды, вплоть до остановки.
ОТВЕТЫ

Lekavella
Jul 6, 2019
#include lt;stdio.hgt;
int main()
{
int N;
char c;
printf("Исходное направление робота (n,w,s,e): ");
scanf("c",amp;c);
printf("Команда (0,1,-1,2,-2): ");
scanf("d",amp;N);
while (N != 0){
switch (N) {
case 1 : break;
case -1:
switch (c) {
case n : c = s; break;
case w : c = e; break;
case s : c = n; break;
case e : c = w; break;
};
break;
case 2 :
switch (c) {
case n : c = e; break;
case w : c = n; break;
case s : c = w; break;
case e : c = s; break;
};
break;
case -2:
switch (c) {
case n : c = w; break;
case w : c = s; break;
case s : c = e; break;
case e : c = n; break;
};
break;
}
printf("c = c\n", c);
printf("Команда (0,1,-1,2,-2): ");
scanf("d",amp;N);
}
return 0;
}
Пример:
Исходное направление робота (n,w,s,e): n
Команда (0,1,-1,2,-2): 2
c = e
Команда (0,1,-1,2,-2): 1
c = e
Команда (0,1,-1,2,-2): -2
c = n
Команда (0,1,-1,2,-2): -1
c = s
Команда (0,1,-1,2,-2): 0
int main()
{
int N;
char c;
printf("Исходное направление робота (n,w,s,e): ");
scanf("c",amp;c);
printf("Команда (0,1,-1,2,-2): ");
scanf("d",amp;N);
while (N != 0){
switch (N) {
case 1 : break;
case -1:
switch (c) {
case n : c = s; break;
case w : c = e; break;
case s : c = n; break;
case e : c = w; break;
};
break;
case 2 :
switch (c) {
case n : c = e; break;
case w : c = n; break;
case s : c = w; break;
case e : c = s; break;
};
break;
case -2:
switch (c) {
case n : c = w; break;
case w : c = s; break;
case s : c = e; break;
case e : c = n; break;
};
break;
}
printf("c = c\n", c);
printf("Команда (0,1,-1,2,-2): ");
scanf("d",amp;N);
}
return 0;
}
Пример:
Исходное направление робота (n,w,s,e): n
Команда (0,1,-1,2,-2): 2
c = e
Команда (0,1,-1,2,-2): 1
c = e
Команда (0,1,-1,2,-2): -2
c = n
Команда (0,1,-1,2,-2): -1
c = s
Команда (0,1,-1,2,-2): 0
46
Смежные вопросы: