10. Compararea a două şiruri

int strcmp(const char *s1, const char *s2);

Descriere

Funcţia strcmp compară şirul s1 cu şirul s2. Compararea începe cu primul caracter din fiecare şir şi continuă secvenţial, până când cele două caractere comparate sunt diferite sau până când unul dintre şiruri se termină.

Se compară codurile ASCII ale caracterelor, astfel, un caracter este mai mic decât altul, dacă are codul ASCII mai mic. Se consideră mai mic şirul care conţine caracterul mai mic.

Dacă cele două şiruri pe percursul comparării au toate caracterele egale, dar unul dintre ele se termină, se consideră mai mic şirul care se terminat (are mai puţina caractere).

Valoarea returnată

 Returnează o valoare < 0, dacă s1<s2

 Returnează o valoare =0, dacă s1=s2

 Returnează o valoare >0, dacă s1>s2

#include <iostream.h> //CAUTARE SIR

#include <string.h>

#include <conio.h>

void main()

{char sir1[50],sir2[50],*p;

cout<<"introduceti sir1:"; cin>>sir1;

cout<<"introduceti sir2:"; cin>>sir2;

p=strstr(sir1,sir2);

if(p)

cout<<sir2<<" se gaseste pe pozitia "<<(p-sir1)<<" in sir";

else

cout<<sir2<<" nu se gaseste in sir1";

getch();

}

Exemplu:Se citesc două cuvinte. Să se afişeze cuvintele în ordine lexicorafică. Se va afişa un mesaj în cazul în care cele două cuvinte sunt egale.

 //COMPARARE SIRURI

#include <iostream.h>

#include <string.h>

#include <conio.h>

void main()

{char sir1[50],sir2[50];

int k;

cout<<"introduceti sir1:"; cin>>sir1;

cout<<"introduceti sir2:"; cin>>sir2;

k=strcmp(sir1,sir2); //compară cele două siruri

if(k<0)

cout<<sir1<<" "<<sir2;

else

if(k>0)

cout<<sir2<<" "<<sir1;

else

cout<<"sirurile sunt egale";

getch();

}

Înapoi                                                                                                                                  Înainte

Informatica e uşoară dacă o iei pas cu pas!
Creat cu Webnode
Creați un site gratuit! Acest site a fost realizat cu Webnode. Creați-vă propriul site gratuit chiar azi! Începeți