Hej,
Chcę zrobić program który wczyta od użytkownika nieokreślona liczbę znaków. Wiem jak zapisać te znaki do tablicy.
Dam przykład
wejście
1 linijka fdkdfj to zapisuje do pierwszej tablicy
2 linijka fdsfdsfds kolejną linijkę do drugiej tablicy
Mój problem polega na tym ,że nie wiem jak oddzielić dwie tablice. Myślałem nad pętlami ale nie znam ilości znaków w pierwszym wierszu. Czy istnieje jakieś rozwiązanie do tego problemu. Być może dostałem nie poprawne zadanie ale wole się upewnić.

- Rejestracja:ponad 5 lat
- Ostatnio:ponad 2 lata
- Postów:18
- Rejestracja:prawie 12 lat
- Ostatnio:około 9 godzin
- Postów:1129
Korzystaj z kolekcji np. std::vector
https://en.cppreference.com/w/cpp/container/vector
BTW. Pokaż kod, który do tej pory napisales

- Rejestracja:ponad 5 lat
- Ostatnio:ponad 2 lata
- Postów:18
Szczerze mówiąc programuje od trzech tygodni. I w liceum nie mieliśmy jeszcze kolekcji vector, ale coś już z nią robiłem. Tylko powinno się dać to zrobić bez tego, ale chętnie się nauczę tej kolekcji. Mniej więcej wiem jak zrobić ten program. Tylko mam problem z tym wczytywaniem. Cały program ma wczytywać od użytkownika na wejściu wzór np efde
a potem wczytać ciąg znaków eddeffee
i wypisać ile znaków ze wzorca się powtórzyło czyli zrobiłbym to pętle for i jeśli element by się powtarzał do bym dodawał do zmiennej powtórzenia za każdym razem jedynkę.
Tylko mam problem z tym wczytaniem. Co myślisz o funkcji while(!cin.eof)? Może ona by podziałała.

- Rejestracja:około 8 lat
- Ostatnio:3 minuty
- Postów:4884

- Rejestracja:ponad 5 lat
- Ostatnio:ponad 2 lata
- Postów:18
Zrobiłem coś takiego. Mimo to nadal nie działa. Wydaje mi się że problem leży po stronie tego że za rozmiar przyjąłem 1000. Jak uzależnić rozmiar tablicy od ilości znaków w wierszu.

- Rejestracja:ponad 5 lat
- Ostatnio:ponad 2 lata
- Postów:18
#include <iostream>
using namespace std;
int main()
{
char arr[1000];
char tab[1000];
int licznik=0;
cin.getline(arr,1000);
cin.getline(tab,1000);
for(int i=0;i<100;i++)
for (int j = 0; j < 100; j++)
{
if (arr[i] == tab[j])
licznik++;
}
cout << licznik;
}


- Rejestracja:około 8 lat
- Ostatnio:3 minuty
- Postów:4884
Czemu nie Zrobisz tak jak w linku, który podesłałem; MAsz dwa stringi wejściowe w wektorach i dalej coś z nimi Robisz.
#include<vector>
#include<sstream>
#include<iostream>
using namespace std;
int main(int argc, char **argv){
string line;
string line1;
getline(cin, line);
getline(cin, line1);
istringstream iss(line);
istringstream iss1(line1);
vector<string> strVec;
vector<string> strVec1;
for (string s; iss >> s; strVec.push_back(s));
for (string s; iss1 >> s; strVec1.push_back(s));
for (auto &e : strVec) {
cout << e << " ";
}
cout << "\n";
for (auto &e : strVec1) {
cout << e << " ";
}
cout << "\n";
return 0;
}