Помощь начинающим программистам

Приветствую вас, добрые люди

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

int i, m[10], min = m[0];

for (i = 0; i <=9; i++)

{

m[i] = rand() % 20 -10;

printf("%d ", m[i]);

}

for (int i = 0; i <= 9; i++)

if (m[i] < min)

min = m[i];

printf("\n наименьшее число массива = %d\n", min);

system("pause");

return 0;

}
Сей кусок кода должен выводить минимальное число в массиве, но выводит всегда одно и то же неверное число, подскажите пожалуйста что не так
Скорее всего косячат рандомные числа, потому что если вбить свои то все работает
Комменты для минусов внутри

0
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Это плюсы
Я пишу на плюсах
0
Автор поста оценил этот комментарий

Сам вчера на паре сидел тоже лабораторную делал, у себя ошибок не видел, а работать не хотело. Зато у однокурсника (сидел за соседним пк) нашел все ошибки, исправил их и всё заработало, а теперь думаю что это была за ерунда. p.s. 1 курс, а вы на каком?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

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

0
Автор поста оценил этот комментарий

В вузе задали решить контрольную теперь мучаешься?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Не контрольную а лабораторную, не задали а наперед делаю
Понял что это я сам не пойму
Обратился к пикабу
помогли, я понял
???
профит

показать ответы
0
Автор поста оценил этот комментарий

Просто оставлю это здесь: http://ru.stackoverflow.com/

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

спасибо, я больше не буду паразитировать на пикабу

показать ответы
0
Автор поста оценил этот комментарий

int main()

{

  int lenght = 0;

  printf("Введите длину массива\n");

  scanf("%d", &lenght);

  int i, m[lenght], min;

  for (i = 0; i <lenght; i++)

  {

    m[i] = rand() % 20 -10;

    printf("%d ", m[i]);

  }

  min = m[0];

  for (int i = 0; i <lenght; i++)

    if (m[i] < min) min = m[i];

  printf("\n наименьшее число массива = %d\n", min);

  system("pause");

  return 0;

}

как-то так

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибо огромное

показать ответы
0
Автор поста оценил этот комментарий

О! так я еще и с++ знаю?!

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

возможно, немного

0
Автор поста оценил этот комментарий

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

int i, m[10], min = m[0];

//на этом этапе у тебя m[0] и min == null ибо их ещё нет

for (i = 0; i <=9; i++) // 9 на 10 смени, ибо массив на 11 элементов (последний не заполняешь)

{

m[i] = rand() % 20 -10;

printf("%d ", m[i]);

}


min = m[0]; // вот тут уже m[0] содержит какое-то число и можно задать


for (int i = 0; i <= 9; i++)//тут тоже на 10

if (m[i] < min)

min = m[i];

printf("\n наименьшее число массива = %d\n", min);

system("pause");

return 0;

}


проверь, думаю заработает

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибо, но у меня уже все работает
там надо было еще взять максимальное и среднее арифметическое

0
Автор поста оценил этот комментарий

ага, аж 5 раз. Пошагово посмотри что у тебя будет в m после объявления массива - там будет мусор из оперативки. С не обнуляет по умолчанию массив, как это делает C#. короче

int i, m[10], min;

for (i = 0; i <=9; i++)

{

m[i] = rand() % 20 -10;

printf("%d ", m[i]);

}

min = m[0];

//код

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибо, а можно ли сделать так что-бы размер массива указывался пользователем в консоли?

показать ответы
2
Автор поста оценил этот комментарий

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

min = m[0]; перенеси на 3-4 строки ниже.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Это плюсы
Или я не понял шутку)

показать ответы
3
Автор поста оценил этот комментарий
Вспоминается древний анекдот про Буратино и яблоки. Инициализируйте\обнуляйте переменные непосредственно перед использованием - и будет вам счастье, а не вывод какого-то мусорного значения из памяти.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

блин, а ведь помогло, спасибо

показать ответы
Автор поста оценил этот комментарий

на чем это? ускорит решение)

раскрыть ветку (1)
Автор поста оценил этот комментарий

плюсы

2
Автор поста оценил этот комментарий
автор ты жжошь напалмом:

int i, m[10], min = m[0]; - это щито блеать ? Что по твоему будет в min записано, если массив m пустой ? Мусор из оперативки ?

раскрыть ветку (1)
Автор поста оценил этот комментарий

первое число массива м?

показать ответы
Автор поста оценил этот комментарий

коммент для минусов 3

Автор поста оценил этот комментарий

коммент для минусов 2

Автор поста оценил этот комментарий

коммент для минусов1

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества