Неоходимо считать последовательность строк из потока ввода до слова quit. Подскажите, пожалуйста, почему после операции in.push_back(temp); или in[i]=temp; в функции f2(), vector <string> in остается пустым, по крайней мере cout << in[i]; ничего не выводит. И, желательно, - как правильно присваивать значения вектору.
| Код | #include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std;
string buf; vector <string> in(10); int i=0;
void f1() { i=0; do { cin >>buf; cout << buf << " "; } while (buf!="quit"); };
void f2() { int i=0; string temp; do { cin >> temp; in.push_back(temp); in[i]=temp; i++; cout << "in[" <<i<< "] = " << in[i] << " temp = " << temp << '\n'; } while (in[i]!="quit"); } /*struct a { int date; int date2; }; */
int main () { f2(); return 0; }
|
Добавлено через 9 минут и 58 секунд Сам разобрался.
| Код | i++; cout << "in[" <<i<< "] = " << in[i] << " temp = " << temp << '\n';
|
нужно было поменять на
| Код | cout << "in[" <<i<< "] = " << in[i] << " temp = " << temp << '\n'; i++;
|
|