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

Ответы на вопрос

Отвечает Плотникова Александра.
#include <stdio.h>
int main()
{
int N;
char c;
printf("Исходное направление робота (n,w,s,e): ");
scanf("%c",&c);
printf("Команда (0,1,-1,2,-2): ");
scanf("%d",&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",&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",&c);
printf("Команда (0,1,-1,2,-2): ");
scanf("%d",&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",&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


Топ вопросов за вчера в категории Информатика

Информатика 557

Информатика 33

Информатика 74

Информатика 12

Информатика 10

Информатика 33

Информатика 27
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili