вычисление и нахождение разницы в парах значений в с - PullRequest
1 голос
/ 30 мая 2011

Мне очень нужна помощь в этом вопросе.

Напишите программу, которая принимает шесть (6) пар значений от пользователя, а затем вычисляет и сохраняет разность каждой пары значений в массиве.Массив вычисленных значений должен быть затем отсортирован в порядке возрастания и напечатан на экране.

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

Любая помощь будет принята с благодарностью.

#include <stdio.h>
main()
{
    int arr[12], num1, num2, i;
    for (i = 1; i < 7; i++) {
        printf("Enter first number for pair ");
        scanf("%d", &num1);

        printf("Enter  second number for pair ");
        scanf("%d", &num2);

    }
    if (num1 > num2)

        printf("arr[i-1=num1-num2 ");
    else

        printf("arr[i-1]=num2-num1 ");
    {

        for (i = 1; 1 < 7; i++)
            printf("%7d\n", arr[i]);
    }

    return (0);
}

1 Ответ

1 голос
/ 03 июня 2011

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

    #include <stdio.h>
    main()
    {
        int arr[7], num1, num2, i;
        for (i = 0; i < 7; i++) {
            printf("Enter first number for pair ");
            scanf("%d", &num1);

            printf("Enter  second number for pair ");
            scanf("%d", &num2);

            //check differences now
            if(num1>num2)
            {
                    arr[i]=num1-num2;
                    }
            else
            {
                    arr[i]=num2-num1;
                    }
        }
    }

Для упорядочения вектора вы можете использовать алгоритм пузырьковой сортировки.http://www.algorithmist.com/index.php/Bubble_sort.c

Причина изменения вектора и пределов заключается в том, что позиции вектора изменяются от 0 до n, а не от 1 до n, а это означает, что for должно идти от 0 до 6 (<7 или <= 6). </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...