Programowanie C++ Codeblocks
Ze standardowego wejścia wczytaj dwa słowa które mają wspólny początek. Sprawdź na którym miejscu się różnią. Wypisz numer miejsca, od którego łańcuchy się różnią. Jeśli słowa się nie różnią, system ma wypisać cyfrę 0. Wejście Wyjście
abcdeefs
abcdefdgs 6

UWAGA: przesłany plik *.cpp musi zawierać własne komentarze opisujące znaczenie poszczególnych bloków programu. Komentarze te mają tłumaczyć w jaki sposób rozwiązujesz dane zadanie.
// to jest komentarz - nie uzywaj w nim polskich znakow diakrytycznych

1

Odpowiedzi

Najlepsza Odpowiedź!
  • Użytkownik Zadane
2009-12-31T15:19:08+01:00
#include <iostream>
#include <string.h>

#define MAX 512

using namespace std;

int main()
{
char tab1[MAX];
char tab2[MAX];

int dl_slowa1, dl_slowa2, i, pozycja=0;
//wczytanie pierwszego slowa
cin>>tab1;
//dlugosc slowa
dl_slowa1=strlen(tab1);
//wczytanie drugiego slowa
cin>>tab2;
//dlugosc slowa
dl_slowa2=strlen(tab2);
//sprawdzamy, ktore slowo jest dluzsze i jesli pierwsze to //sprawdzamy kolejny pozycje pierwszego i drugiego, jesli //drugie to kolejne pozycje drugiego i pierwszego czy sie roznia
if(dl_slowa1>=dl_slowa2)
{
for(i=0;i<dl_slowa1+1;i++)
{
if(tab1[i]!=tab2[i])
{
pozycja=i+1;
break;
}
}
}
else
{
for(i=0;i<dl_slowa2+1;i++)
{
if(tab2[i]!=tab1[i])
{
pozycja=i+1;
break;
}
}
}
//jesli sie roznia
if(pozycja!=0)
{
cout<<"Slowa roznia sie od " << pozycja << " pozycji.";
}
else
//jesli nie
cout<< "Slowa nie roznia sie";
return 0;
}