Member 12718313 Ответов: 2

Как мне получить правильный вывод для этого кода и где я ошибаюсь в коде


найти максимальный элемент массива

Что я уже пробовал:

#include< stdio.h>
пустые массивы (int a [], int size);
максимум пустоты();

тап_п()
{
int array[5];
массивы (array, 5);
printf ("\n");

printf ("максимальное значение - \n");
максимальный();

возвращает 0;
}
пустые массивы (int a [], int size)
{
int array[5], i;
printf ("введите число пяти студентов\n");
для(i=0;i< 5; i++)
{
scanf ("%d", & amp; array[i]);
}
printf ("элементы массива \ n");
для(i=0;i< 5; i++)
{
printf ("%d", array[i]);
}

}
максимум пустоты()
{
int array[5];
int i;
для(i=0;i< 5; i++)
{
if (array[0]< array[i])>
{
array[0]=array[i];
}
}
printf ("%d", массив[0]);


}

Member 12718313

помогите мне решить эту проблему

[no name]

Не могли бы вы отредактировать свой вопрос с соответствующими тегами, чтобы его было легче читать мне и другим тоже

2 Ответов

Рейтинг:
2

OriginalGriff

ГМ...с чего мне начать? :смеяться:
Вам нужно вернуться на пару этапов назад и подумать о том, что вы пытаетесь сделать.
Посмотрите на свой код (я вырвал посторонние вещи, чтобы вы могли видеть более четко)

int main()
    {
    int array[5];
    arrays(array,5);
    maximum();
    return 0;
    }
Вы объявляете массив, передаете его в arrays функция, чтобы заполнить его значениями, А затем вызвать функцию с именем maximum - но поскольку вы не передаете ему массив, он не может получить доступ к значениям, на которые вы хотите посмотреть!
И это еще хуже, потому что ваш arrays функция все равно не помещает данные в массив:
void arrays(int a[],int size)
    {
    int array[5],i;
    printf("Enter the number of five students\n");
    for(i=0;i<5;i++)
        {
        scanf("%d",&array[i]);
        }
        printf("Elements of array are\n");
    for(i=0;i<5;i++)
        {
        printf("%d",array[i]);
        }
    }
Он создает новый массив, заполняет его и вообще ничего не делает с массивом, который вы ему передали, - не говоря уже о том, чтобы обращать внимание на размер, который вы передали! Таким образом, значения, которые вводит ваш пользователь, выбрасываются в конце функции и не могут быть переданы пользователю. maximum во всяком случае, функция.

Прекратите кодирование: вернитесь к своему домашнему вопросу и подумайте об этом. Затем разработайте, какие данные вам нужны, и что должно идти и откуда. Затем начните кодировать-но никогда не просто "прыгайте в код" - если вы не планируете, что вам нужно сделать в первую очередь, вы в конечном итоге получите запутанный код, подобный этому.


Рейтинг:
0

Patrice T

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

Отладчик позволяет вам следить за выполнением строка за строкой, проверять переменные, и вы увидите, что есть точка, в которой он перестает делать то, что вы ожидаете.
Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
Когда код не делает того, что ожидается, вы близки к ошибке.