Информатика, вопрос задал Аноним , 1 год назад

С# Написать функцию, ChooseVariant(maxForFirstVariant, maxForSecondVariant), которая будет генерировать случайное число и возвращать первый или второй вариант действия.

static string[] variants = {


"Начало дня",


"Поднимаюсь с кровати с левой ноги",


"Поднимаюсь с кровати с правой ноги",


"Падаю с кровати",


"Пробежка по аллее",


"Физ. зарядка на балконе",


"Варю крепкий кофе",


"Готовлю плотный завтрак",


"Достаю вчерашний салат",


"Спустило колесо",


"Добираюсь на работу пешком",


"Добираюсь на работу на маршрутке",


"Добираюсь на работу на своем авто",


"Прихожу вовремя",


"Опаздываю на работу",


"Конец"


};


static string[] resultActionList;

Из массива variants мы будем выбирать действия, а в массив resultActionList их записывать согласно диаграмме на последней странице.

Что нужно сделать на этом этапе:

Написать функцию ChooseAction(previousAction), которая будет выбирать следующее действие, основываясь на том, какое было предыдущее действие. Так же функция должна записывать выбранное действие в массив resultActionList.

Указания:

Действия “Начало дня” и “Конец” не обязательно записывать в массив resultActionList, так как одно является просто стартом сценария, а другое - его концом

Нужно использовать switch…case для выбора следующего действия

Приложения:

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

Ответил wherethefux
1

       static string[] variants = { "Поднимаюсь с кровати с левой ноги", "Поднимаюсь с кровати с правой ноги", "Падаю с кровати", "Пробежка по аллее", "Физ. зарядка на балконе", "Варю крепкий кофе", "Готовлю плотный завтрак", "Достаю вчерашний салат", "Спустило колесо", "Добираюсь на работу пешком", "Добираюсь на работу на маршрутке", "Добираюсь на работу на своем авто", "Прихожу вовремя", "Опаздываю на работу" };

       static string[] resultActionList;

       static string ChooseAction(string previousAction)

       {

           string nextAction = "";

           switch (previousAction)

           {

               case "Начало дня":

                   nextAction = variants[0];

                   break;

               case "Поднимаюсь с кровати с левой ноги":

                   nextAction = variants[1];

                   break;

               case "Поднимаюсь с кровати с правой ноги":

                   nextAction = variants[2];

                   break;

               case "Падаю с кровати":

                   nextAction = variants[3];

                   break;

               case "Пробежка по аллее":

                   nextAction = variants[4];

                   break;

               case "Физ. зарядка на балконе":

                   nextAction = variants[5];

                   break;

               case "Варю крепкий кофе":

                   nextAction = variants[6];

                   break;

               case "Готовлю плотный завтрак":

                   nextAction = variants[7];

                   break;

               case "Достаю вчерашний салат":

                   nextAction = variants[8];

                   break;

               case "Спустило колесо":

                   nextAction = variants[9];

                   break;

               case "Добираюсь на работу пешком":

                   nextAction = variants[10];

                   break;

               case "Добираюсь на работу на маршрутке":

                   nextAction = variants[11];

                   break;

               case "Добираюсь на работу на своем авто":

                   nextAction = variants[12];

                   break;

               case "Прихожу вовремя":

                   nextAction = variants[13];

                   break;

               case "Опаздываю на работу":

                   nextAction = "Конец";

                   break;

               case "Конец":

                   nextAction = "Конец";

                   break;

           }

           return nextAction;

       }

       static void Main(string[] args)

       {

           string previousAction = "Начало дня";

           string nextAction = "";

           int i = 0;

           while (nextAction != "Конец")

           {

               nextAction = ChooseAction(previousAction);

               previousAction = nextAction;

               i++;

           }

           resultActionList = new string[i];

           previousAction = "Начало дня";

           nextAction = "";

           i = 0;

           while (nextAction != "Конец")

           {

               nextAction = ChooseAction(previousAction);

               previousAction = nextAction;

               resultActionList[i] = nextAction;

               i++;

           }

           foreach (string action in resultActionList)

           {

               Console.WriteLine(action);

           }

           Console.ReadKey();

       }


Аноним: у вас коректно компелируется программа?
wherethefux: Да, а вы вставили это всё в класс?
Аноним: понял в чем ошибка была у себя проблема была не тот файл запускал
Аноним: а не подскажите как через рекурсию это все вызывать
Аноним: Вы должны написать рекурсивный вызов функции СhooseAction, тем самым создав прохождение по всему алгоритму, представленному в диаграмме. При первом вызове функции параметру previousAction нужно указать значение “Начало дня”, При всяком последующем вызове этой функции вы должны указывать этому параметру значение, которое вернула функция в предыдущем вызове.
Аноним: Нужно написать функцию PrintResultActionList(), которая выведет на экран получившийся список действий в виде таблицы расписания как приведено в примере ниже. Массив resultActionList, должен к моменту вызова функции уже содержать все совершенные действия.
Пример вывода на экран:
# | Действие

---|------------------------------------
1 | Поднимаюсь с кровати с левой ноги
2 | Падаю с кровати
3 | Варю крепкий кофе
4 | Добираюсь на работу на своем авто
5 | Опаздываю на работу
6 | Конец
Аноним: и по програме задумка через рандом что вызывает 1 действие зависищие от числа
Аноним: как это можно релизовать
Новые вопросы