Как мне использовать массив в функции с переключаемым регистром?

#c

#c

Вопрос:

Я прошу пользователя предоставить мне 10 целых значений для массива A1, а затем я печатаю эти значения на экране консоли. Я сделал то же самое для другого массива B1. Затем я печатаю список опций, например, вариант 1: «Сортировать значения A1 в порядке возрастания». Поскольку это школьное задание, я должен использовать инструкцию переключения регистра, но у меня возникли проблемы с повторным доступом к массивам с теми же значениями, и программа не дает мне возможности даже нажать 1 для первого варианта.

Я пытался разобраться в некоторых кодах онлайн, но безуспешно, вот что у меня пока получилось.

   int option;

        scanf("%d", amp;option);

        switch (option)
        {
            case '1':

                for( int i= 0; i<10; i  )
                {
                    for(int x = i  1; x<10; x  )
                    {
                        if (a[x]<a[i])
                        {
                            int temp = a[i];
                            a[i]= a[x];
                            a[x] = temp;
                        }
                    }
                {
                    printf("nn Ascending Order For A1: ");
                    for (int i = 0; i < 10; i  )
                    {
                        printf(" %d ", a[i]);

                    }
  

ВОТ КАК ДАЛЕКО я ПРОДВИНУЛСЯ С ВЫВОДОМ <<

Пожалуйста, введите 10 значений для A1: 2 3 4 5 9 8 7 6 4 8

10 значений, выбранных для A1: 2 3 4 5 9 8 7 6 4 8

Пожалуйста, введите 10 значений для B2: 4 3 7 2 6 8 9 5 8 12

10 значений, выбранных для B2: 4 3 7 2 6 8 9 5 8 12


  • Пожалуйста, выберите один из следующих вариантов: *

  • 1. Отсортируйте значения A1 в порядке возрастания *

  • 2. Отсортируйте значения B1 в порядке убывания *
  • 3. Вычислите сумму элементов A1 и B1 *
  • 4. Вычтите элементы B1 из элементов A1 *
  • 5. Завершите программу (Exit) *

1 <<<<<<<<<<< ПРЕДПОЛАГАЕТСЯ, ЧТО ЭТО ВЫПОЛНИТ ВАРИАНТ 1 И ВЫВЕДЕТ ЗНАЧЕНИЯ A1 В ПОРЯДКЕ ВОЗРАСТАНИЯ.

Программа завершилась с кодом выхода: 0

Комментарии:

1. Наилучшей практикой было бы создать функцию, которая сортирует элементы и может использовать их в регистре .

Ответ №1:

вы сохраняете входные данные в int значении, но в вашем случае вы используете char , поэтому 1(int) не равно 1(char) , что является причиной того, что case '1': не выполняется. Попробуйте

case 1:

По причине, по которой он не запрашивает входные данные для ввода 1 для сортировки, в буфере может быть что-то из предыдущего ввода, без остальной части кода трудно помочь вам с этой частью.