Чтение строки различного размера // Переполнение стека

Итак, я только начал изучать C ++, и мой профессор кратко перешел по адресу (&) и операторы разыменования (*). Я не бегло говорю на C ++, но я искал части и использовал общие знания для объединения в этот код. Не удается построить, поэтому, пожалуйста, помогите!

Назначение — Напишите программу, которая продолжает чтение в строках разного размера. Если длина входной строки больше единицы, сохраните ее в векторе. Когда входная строка имеет длину один (один символ), вы выведете строку, хранящуюся в вашем векторе, первая буква которой соответствует входному символу. Продолжайте делать это, пока вы читаете строку «выход».

#include "stdafx.h"#include <iostream>
#include <string>
#include <vector>

using namespace std;int main()
{
string input;
char* output;
vector<string> name;

while (input != "quit") {
cin >> input;

if (input.length == 1) {
for (int i = 0; i < name.size; i++) {

output = &name[i].at(0);

if (input == output) {
cout << name[i];
}
}
}
else {

name.push_back(input);
}
}

//system("pause");
return 0;
}

-6

Решение

#include "stdafx.h"#include <iostream>
#include <string>
#include <vector>

using namespace std;

int main()
{
string input;
vector<string> name;

cin >> input;

while (input != "quit") {

if (input.length() == 1) {

for (int i = 0; i < name.size(); i++) {

if (input[0] == name[i][0]) {
cout << name[i] <<endl;
}
}
}
else {
name.push_back(input);
}
cin >> input;
}
system("pause");
return 0;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]