Scrieti un program in C++ care afiseaza al n-ulea cuvant dintr-un text. Se da un numar n si un text s de maxim 100 caractere ale alfabetului englez .Exemplu: n=4 , Ana are mere ,pere si cirese .----> pere . Vreau explicatii la fiecare pas
Răspunsuri la întrebare
Răspuns:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char s[101],*p;
unsigned c, nr=0; //declari c care este numarul cuvantului pe care il cauti
cin.get(s,101); // citesti sirul de caractere
p=strtok(s," ,"); //cuvintele inseamna orice sir de caractere pana se intalneste un spatiu, sau o virgula (ce este intre ghilimele)
cin>>c; //citesti numarul cuvantului pe care il cauti
while(p)
{
nr++; //dupa ce gaseste un cuvant, nr creste, ca el retine pozitia fiecarui cuvant pe care il gaseste programul.
if(nr==c) //daca s-a gasit cuvantul pe pozitia cautata
cout<<p; //se citeste acel cuvant
p=strtok(NULL," ,"); //trece la urmatorul cuvant si se va repeta while-ul.
}
return 0;
}
Explicație:
Poti sa faci si fara o alta variabila nr, facand
while(p)
{
c--;
if(c==o)
cout<<p;
p=strtok(NULL," ,");
}