PP0504B - StringMerge
Ostatnio zmodyfikowano 2016-05-11 20:24
carlosmay |
» 2016-05-11 20:11:51 Napisy są podawanie w jednej Lini getline odpada!!! w stylu : aaa bb |
Dlaczego? std::getline( std::cin, tablica, ' ' )
|
|
ja4563 Temat założony przez niniejszego użytkownika |
» 2016-05-11 20:14:15 Skoro odpada, dlaczego u mnie działa? Kompiluję w gcc. |
|
carlosmay |
» 2016-05-11 20:16:43 char * napis = new char[ T_SIZE ]; - na to zwróć uwagę. Wtedy sens ma delete[] S; Edit: Dwa łańcuchy oddzielone spacją wczytuj operatorem strumienia lub getlinem z trzecim parametrem. |
|
mateczek |
» 2016-05-11 20:19:21 założyłem, że getline pobiera całą linijkę. Więc źle testowałem kod. Dopiero później luknąłem na spoja do oryginalnej treści poniżej dwa kody które przechodzą test na spoju #include <iostream> #include <cstring> using namespace std; const int T_SIZE = 1001;
char * string_merge( char * S1, char * S2 ) { char * napis = new char[ T_SIZE ]; int licz = 0; int i = 0; while( S1[ licz ] != '\0' && S2[ licz ] != '\0' ) { napis[ i ] = S1[ licz ]; napis[ i + 1 ] = S2[ licz ]; i = i + 2; licz++; } napis[ i ] = '\0'; return napis; }
int main() { int t; char S1[ T_SIZE ], S2[ T_SIZE ], * S; cin >> t; while( t ) { cin.ignore(); cin >> S1 >> S2; S = string_merge( S1, S2 ); cout << S << endl; delete[] S; t--; } return 0; }
i drugi #include <string> #include <iostream> using namespace std;
int main() { int liczbaTestow; string S1, S2, S3; int rozmiarS3; cin >> liczbaTestow; while( liczbaTestow-- ) { cin >> S1; cin >> S2; S3.clear(); rozmiarS3 =( S1.size() >= S2.size() ) ? S2.size() : S1.size(); for( int i = 0; i < rozmiarS3; i++ ) { S3 += S1[ i ]; S3 += S2[ i ]; } cout << S3 << endl; } } |
|
ja4563 Temat założony przez niniejszego użytkownika |
» 2016-05-11 20:20:19 Masz na myśli char * S = new char[ T_SIZE ]; ? |
|
ja4563 Temat założony przez niniejszego użytkownika |
» 2016-05-11 20:24:47 @mateczek - wygląda więc na to, że dobrze wyczułeś, że chodzi o getline'a. Zwykłym cinem rzeczywiście wchodzi. Robiłem to w ten sposób, ponieważ taka była sugestia na stronie. Najlepsze jest to, że poprzedni sposób również działa dla wszelkich testów, ale jak wiadomo sędzia miewa humory. Dzięki w takim razie. :) |
|
1 « 2 » |