Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2014, 18:33   #1
Swiss396
 
Регистрация: 15.11.2012
Сообщений: 3
По умолчанию (C++) Программа которая выводит числа и останавливается на меньшем числе

Добрый день! Проблема в том, что программа не останавливается при выведении самого меньшего числа. В чём может быть проблема?

Заранее спасибо!

Код:
#include <iostream>
using namespace std;
const int mx=20;

int main()
{
    int n;
    int maz=9999999;
    int masivs[mx];

    cout << "Skolko chisel nuzno vvesti? Ne bolshe " << mx << "!" << endl;
    cin >> n;
    if(n<1){cout << "Eshe raz vvedite chislo, kotoroe bolshe 0!" << endl; cin >> n;}


    for(int i=0; i<n; i++)
    {
        cout << "Vvedite " << i+1 << "-e chislo" << endl;
        cin >> masivs[i];
        if(masivs[i]<0){cout << "Vvedennoe chislo ne naturalnoe. Vvedite eshe raz!" << endl; cin >> masivs[i];}
        if(masivs[i] < maz)maz = masivs[i];
    }
        for(int i=0; i<n; i++)
        {
            cout << i+1 << "-е chislo: " << masivs[i] << endl;
            if(masivs[i]=maz)return 0;
        }

//Для проверки, ли программа сохраняет меньшее число
    cout << "Menshee chislo: " << maz << endl;
    return 0;
}

Последний раз редактировалось Swiss396; 22.01.2014 в 19:00.
Swiss396 вне форума Ответить с цитированием
Старый 22.01.2014, 20:21   #2
Swiss396
 
Регистрация: 15.11.2012
Сообщений: 3
По умолчанию

Уже разобрался...
Swiss396 вне форума Ответить с цитированием
Старый 22.01.2014, 20:35   #3
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

И в чем же была проблема?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 22.01.2014, 21:19   #4
Swiss396
 
Регистрация: 15.11.2012
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Bugrimov Посмотреть сообщение
И в чем же была проблема?

Нужно было "if(masivs[i] < maz)maz = masivs[i];" заменить на еще один цикл :
Код:
for(int i=0; i<n; i++)
    {
        if(masivs[i]<=masivs[maz])maz=i;
    }
в котором он запоминает именно позицию найденного меньшего числа, и тогда можно выводить числа именно до той позиции включая само число:

Код:
for(int i=0; i<maz+1; i++)
        {
            cout << i+1 << "-e chislo: " << masivs[i] << endl;
        }
Swiss396 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа, которая выводит на экран все четырехзначные числа, сумма цифр которых равна 7 vitaaly Паскаль, Turbo Pascal, PascalABC.NET 3 06.02.2012 15:46
C++ Программа, которая выводит следующую фигуру. Vl.fom Помощь студентам 1 13.01.2012 21:02
Нужна программа, которая выводит на экран часы! gylayko Помощь студентам 4 02.12.2011 11:08
Программа, которая выводит фигуру из звёзд -KAZtrel- Помощь студентам 0 09.11.2011 20:52