2017-01-29 4 views
-3

Ich versuche, ein Programm mit N Anzahl von Arrays, die übereinstimmenden Zeichen aus zwei Zeichenfolgen sucht und vergleicht dann die Unterzeichenfolge mit dem Rest der Zeichenfolgen. Hier ist der Code:So finden Sie Unterzeichenfolge aus n Zeichenfolgen

int main() 
{ 
    int a, b, n; 
    char sir[50]; 
    printf("Number of strings: "); scanf("%d", &n); 
    if(n<=1){ 
     printf("The program cannot run without at least 2 strings!"); 
    } else { 
     printf("The program will run for %d strings.\n", n); 
     printf("\nString number 1: "); 
     scanf("%s", &sir); 
     std::string first(sir); 
     cout << first; 
     for(a=2; a<=n;){ 
      printf("\nString number %d: ", a); 
      scanf("%s", &sir); 
      std::string temp(sir); 
      if(!!!first.contains(temp)!!!){ 
       a++; 
      } else { 
      printf("Program stops the substring doesn't match with the last string."); 
      return 0; 
      } 
     } 
    } 
} 

Wo ich die !!! Ich kann diesen Teil nicht programmieren.

+0

Warum sind Sie nicht 'std :: cout' mit und' std :: cin'? –

+3

Welches Problem haben Sie? Was macht dein Code, den du nicht erwartest? –

+0

nicht wissen, wie man std :: cout und std :: cin, xD Ich bin am Anfang .... – Cravenica

Antwort

0

Sie Ihre Frage beantworten: die folgende Zeile die Arbeit machen sollte:

if(first.find(temp) != std::string::npos) 
Verwandte Themen