Форум программистов, компьютерный форум CyberForum.ru

обьясните ошибку - C++

Восстановить пароль Регистрация
 
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
12.12.2011, 01:23     обьясните ошибку #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <string.h>
#include<iostream>;
using namespace std;
int main(void)
{
    setlocale(LC_ALL,"Russian");
    int i,n,k=0;
  char s[250][250];
cout<<"Введите колличество строк которые будите вводить"<<endl;
cin>>n;
for(i=0;i<=n;i++)
{
gets(s[i]);
}
почему когда первый раз проходит цикл gets(s[i]); просто ее пропускает и не хочет останавливаться для ввода а когда уже i=1 то оно все нормально заходит и я ввожу строку
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2011, 01:23     обьясните ошибку
Посмотрите здесь:

C++ Деревья(обьясните)
C++ Обьясните.
обьясните решение C++
C++ Обьясните пожалуйста
C++ Обьясните пожалуйста
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
12.12.2011, 01:45     обьясните ошибку #2
sergeu90, символ перевода строки в потоке остаётся. Ну и к проблеме не относится, но заголовки лучше в С++ стиле писать
C++
1
2
3
4
5
6
7
8
9
#include <cstdio>
#include <cstring> // кстати, интересно, зачем они Вам в программе на С++?
#include <iostream>
#include <limits>
//...
cin>>n;
cin.ignore(numeric_limits<streamsize>::max(), '\n');
for(i=0;i<=n;i++)
//...
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
12.12.2011, 01:49  [ТС]     обьясните ошибку #3
не понял как мой код надо трошки переписать что бы нормально было в вашем не понимаю

Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main(void)
{
    setlocale(LC_ALL,"Russian");
    int i,n,k=0;
  char s[250][250];
cout<<"Введите колличество строк которые будите вводить"<<endl;
cin>>n;
cin.ignore(numeric_limits<streamsize>::max(), '\n');
for(i=1;i<=n;i++)
{
gets(s[i]);
 
}
все понял а что делает вот эта строчка можете обьяснить конкретно?
C
1
cin.ignore(numeric_limits<streamsize>::max(), '\n');
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
12.12.2011, 01:56     обьясните ошибку #4
Цитата Сообщение от sergeu90 Посмотреть сообщение
можете обьяснить конкретно?
Вот тут - конкретней некуда!
Yandex
Объявления
12.12.2011, 01:56     обьясните ошибку
Ответ Создать тему
Опции темы

Текущее время: 15:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru