string, znak '\0', zadanie ze spoja
Ostatnio zmodyfikowano 2015-12-09 11:22
| Asahel Temat założony przez niniejszego użytkownika | string, znak '\0', zadanie ze spoja » 2015-12-09 10:42:12 Mam problem z zadaniem ze spoja http://pl.spoj.com/problems/AL_13_10/ . #include <iostream>#include <string>
 
 using namespace std;
 
 int main()
 {
 string a;
 string b;
 int x( 0 ), y( 0 );
 
 cin >> a >> b;
 
 
 while(( a[ x ] != '\0' ) ||( b[ y ] != '\0' ) )
 {
 
 if( a[ x ] == b[ y ] )
 {
 y++;
 x++;
 }
 else
 {
 x++;
 }
 
 
 }
 
 
 if( b[ y ] = '\0' )
 {
 cout << "Tak" << endl;
 }
 else
 {
 cout << "Nie" << endl;
 }
 
 
 
 }
 
Problem jest z pentlą while, która nie działa jak oczekuję. Ma porównywać te znaki aż do momentu gdy skończą się literki w pierwszym lub drugim wyrazie. Petla robi sie w nieskoczonosc :/. Jak to poprawic :( | 
|  | 
| j23 | » 2015-12-09 10:57:41 W warunku while zamiast || powinno być &&. | 
|  | 
| Asahel Temat założony przez niniejszego użytkownika | » 2015-12-09 11:22:59 Działa, był bład  b[ y ] = '\0'  :) Zaakceptowała z czasem 0.73 - ciut miernie. Ma ktoś pomysł jak poprawić ten algorytm? | 
|  | 
| « 1 » |