Хелпаните с небольшой задачкой

Тема в разделе "C++ / C# / .NET", создана пользователем gl0ck28, 3 янв 2016.

Статус темы:
Закрыта.
  1. gl0ck28

    gl0ck28 Знающий

    Регистрация:
    8 дек 2015
    Сообщения:
    105
    Симпатии:
    36
    Розыгрышей:
    0
    Репутация:
    10
    Алоха,в общем дали мне задачку с таким условием: "Спросить число, и вывести 1,2,3…. и так далее до этого числа (т.е. через запятую выводить)"
    Пока что накидал вот это:
    #include <iostream>

    using namespace std;

    int main()
    {
    int a=1;
    int b;
    cout << "Vvedite chislo do kotorogo bydet idti otschet:";
    cin >> b;

    while (a<=b)
    {
    cout << a;
    cout << ",";
    a=a+1;
    }
    }
    И всё бы ничего,да вот есть проблемка.Допустим возмём число 5,запускаю программу,ввожу число,и получаю: "1,2,3,4,5," . Теперь сама проблема,как убрать запятую после числа "5"?Учили только if и цикл while. Благодарность в качестве репке обеспеченна :)
     
  2. Dislad

    Dislad Dalsid

    Регистрация:
    19 окт 2014
    Сообщения:
    6
    Симпатии:
    1
    Розыгрышей:
    0
    Репутация:
    4
    попробуй сделать if внутри while:
    если а<b выведи запятую
    будет примерно так:
    #include <iostream>

    using namespace std;

    int main()
    {
    int a=1;
    int b;
    cout << "Vvedite chislo do kotorogo bydet idti otschet:";
    cin >> b;

    while (a<=b)
    {
    cout << a;
    if (a<b) {
    cout << ",";
    }
    a=a+1;
    }
    }
     
    #2 Dislad, 4 янв 2016
    Последнее редактирование: 4 янв 2016
    gl0ck28 нравится это.
  3. gl0ck28

    gl0ck28 Знающий

    Регистрация:
    8 дек 2015
    Сообщения:
    105
    Симпатии:
    36
    Розыгрышей:
    0
    Репутация:
    10
    О,спасибо как раз то что искал,тоже думал через if в while,но почему-то откинул идею.Большое спасибо!
     
  4. CrafterKolyan

    CrafterKolyan Активный участник

    Регистрация:
    29 дек 2013
    Сообщения:
    50
    Симпатии:
    31
    Розыгрышей:
    0
    Репутация:
    11
    Ещё одно решение.
    Можно в конце вывести символ backspace (char(8))
    cout << char(8);
    Только выводить его надо до переноса строки.
     
  5. Aлександр

    Aлександр Сашка

    Регистрация:
    27 янв 2014
    Сообщения:
    1.122
    Симпатии:
    697
    Розыгрышей:
    0
    Репутация:
    445
    Первый курс?
    Не надо лишний раз засорять код лишними if, while и тому подобное.

    Код:
    #include <iostream>
    using namespace std;
    
    int main(){
        int a=0, b;
        cout << "Vvedite chislo, do kotorogo neobhodimo vesti schet: ";
        cin >> b;
    
        while(a < b){
            cout << a++ << ", ";
        } //выведет "1, 2, 3, 4, ..., n - 1"
    
        cout << a << ". " << endl << "Raschet okonchen."; //выведет последний элемент "n"
        system("pause");
    }
    
    А вообще латиницу использовать - плохая манера.
    Подключай библиотеку, вроде setlocale называется.
     
Статус темы:
Закрыта.

Поделиться этой страницей

  • Яндекс.Метрика
  • Рейтинг@Mail.ru