17 / 17 / 13
Регистрация: 19.11.2014
Сообщений: 156
1

Вводить числа, пока не введен 0, найти мининимальное значение

06.01.2015, 00:42. Показов 18812. Ответов 11
Метки нет (Все метки)

Вводится ряд чисел. Найти наименьшее число этого ряда. Признак окончания ввода - число 0.
Мой код работает с ошибками, да и еще не знаю как найти наименьшее число.
Help!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdafx.h"
#include "iostream"
#include "conio.h"
 
using namespace std;
 
int main()
{
int x(1);
int i;
cout << "Enter: " << endl;
    for (;x!=0; i++)
    {
        cin >> x;
    }
_getch();
return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.01.2015, 00:42
Ответы с готовыми решениями:

Вводить различные числа, пока не будет введен 0
b) Вводить различные числа. Когда будет введен 0, то программа выходит из цикла Не могли бы решить...

Подпрограмма: Вводить числа до тех пор пока не будет введен 0, после ввода 0, вывести все введенные числа
Вводить числа до тех пор пока не будет введен 0. Если будет введен 0, то вывести все введенные...

С клавиатуры вводить символы, пока не будет введен символ «z» или «Z»
может еще поможете девушке? 3)С клавиатуры вводить символы, пока не будет введен символ «z» или...

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

11
Dimension
588 / 456 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
06.01.2015, 00:49 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
cin>>x;
int Min=9999999;
while(1)
{
if(x==0){
break;
}
if(x<Min)
{
Min=x;}
cin>>x;
}
cout<<Min;
0
122 / 24 / 6
Регистрация: 31.12.2014
Сообщений: 164
06.01.2015, 01:12 3
Цитата Сообщение от Dimension Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
cin>>x;
int Min=9999999;
while(1)
{
if(x==0){
break;
}
if(x<Min)
{
Min=x;}
cin>>x;
}
cout<<Min;
А как ваш код сработает на такой последовательности: 200000001 200000002? Правда ли, что у неё минимум равен 9999999? Не лучше ли самое первое число туда записать? И почему while(1)? Не проще написать while (x != 0)?
0
Dimension
588 / 456 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
06.01.2015, 01:25 4
у каждого свое решение ,но лучше, конечно первое туда записать
0
17 / 17 / 13
Регистрация: 19.11.2014
Сообщений: 156
06.01.2015, 01:28  [ТС] 5
Цитата Сообщение от Dimension Посмотреть сообщение
первое туда записать
что первое?
0
122 / 24 / 6
Регистрация: 31.12.2014
Сообщений: 164
06.01.2015, 01:30 6
Цитата Сообщение от Dimension Посмотреть сообщение
у каждого свое решение ,но лучше, конечно первое туда записать
Ну ваше решение попросту неправильное, если на некоторых тестах лажает но да, оно легко подправляется
0
Dimension
588 / 456 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
06.01.2015, 01:30 7
Лучший ответ Сообщение было отмечено posol_7 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
cin>>x;
int Min=x;//вот так
while(1)
{
if(x==0){
break;
}
if(x<Min)
{
Min=x;}
cin>>x;
}
cout<<Min;
1
122 / 24 / 6
Регистрация: 31.12.2014
Сообщений: 164
06.01.2015, 01:33 8
C++
1
2
3
4
5
while(1)
{
if(x==0){
break;
}
Зачем так делать, если можно написать while (x != 0)?
1
Dimension
588 / 456 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
06.01.2015, 02:00 9
можно и так ,говорю же кому как нравится
0
0 / 0 / 5
Регистрация: 05.01.2015
Сообщений: 30
06.01.2015, 02:08 10
Цитата Сообщение от posol_7 Посмотреть сообщение
Вводится ряд чисел. Найти наименьшее число этого ряда. Признак окончания ввода - число 0.
C++
1
2
3
4
5
6
7
8
9
10
11
12
setlocale(LC_ALL, "Rus");
    int k = 0, min = 1000;
    for(;;)
    {
        cout << "Введите число: ";
        cin >> k;
        if(!k)
            break;
        if(k < min)
            min = k;
    }
    cout << "\nМинимальное число в последовательности: " << min;
0
122 / 24 / 6
Регистрация: 31.12.2014
Сообщений: 164
06.01.2015, 02:10 11
Ошибка та же.. На 2000,3000 ваша программа скажет, что минимум = 1000, что явно неправда.
0
8 / 8 / 2
Регистрация: 19.12.2013
Сообщений: 87
06.01.2015, 03:09 12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int num, minimum;
 
    cout << "Vvedi chisla: " << endl;
    cin >> num;
    minimum = num;
    while(num != 0)
    {
          if(num < minimum)
             minimum = num;
 
          cin >> num;
    }
 
          cout << endl << "Minimum: " << minimum << endl;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.01.2015, 03:09
Помогаю со студенческими работами здесь

Вводить числа, пока не встретится 0. Найти их обратные числа
Вводить числа, пока не встретится 0. Найти их обратные числа. цикл repeat

Вводить числа, пока не встретится 0. Найти их произведение na while
Вводить числа, пока не встретится 0. Найти их произведение, выкорыстовувати оператор while

Вводить числа, пока не встретится 0. Найти их произведение
Вводить числа, пока не встретится 0. Найти их произведение

Вводить числа, пока не встретится 0. Найти их сумму и количество
Вводить числа, пока не встретится 0. Найти их сумму и количество.

Вводить числа, пока не встретится 0. Найти минимальное из введенных цифр
Вводить числа, пока не встретится 0. Найти минимальное из введенных цифр.

Вводить числа, пока не встретится 7. Найти квадраты тех чисел, которые больше 10
Вводить числа, пока не встретится 7. Найти квадраты тех чисел, которые больше 10. задача на цикл...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru