Вопрос задан 27.03.2019 в 08:50. Предмет Информатика. Спрашивает Максимов Алексей.

Программирование на СИ Робот может перемещаться в четырех направлениях( n- север, w - запад, s -

юг, e - восток) и принимать пять цифровых команд : 0 - остановка, 1 - продолжать движение, -1 - движение реверсом, 2 - поворот направо, -2-поворот налево. Дан символ C - исходное направление робота и целое число N - посланная ему команда. Вывести направление робота после выполнения каждой полученной команды, вплоть до остановки.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Плотникова Александра.
#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
0 0

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

Последние заданные вопросы в категории Информатика

Задать вопрос