infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Stitch din Ianuarie 17, 2009, 20:33:35



Titlul: Text
Scris de: Stitch din Ianuarie 17, 2009, 20:33:35
           
          Cum pot gasit propozitia cu cele mai putine caractere si cu cele mai putine cuvinte?

-?Se citeste de la tastatura un text care contine mai multe propozitii separate prin .,! sau?. Trebuie sa numar cate propozitii contine textul si sa afisez prop cu cele putine caractere si cu cele mai putine cuvinte.

    Am afisat nr de prop folosindu-ma de vectorul c[ ]=".!?"-separatori cu care se poate termina o prop, dar ... cum pot gasit propozitia cu cele mai putine caractere si cu cele mai putine cuvinte? Prin ce metoda? Eu am incercat, dar... :?

#include<iostream.h>
#include<conio.h>
#include<string.h>
void main()
{clrscr();
 char a[256], b[ ]=" ,.!?", c[ ]=".!?", *p;
 cout<<"Introduceti un text de la tastatura ";
 cin.get(a,256); cin.get();
 cout<<endl<<"In text exista ";
 int n=0;
 p=strtok(a,c); while(p){n++; p=strtok(NULL,c);}
 cout<<n<<" propozitii";
 cout<<endl<<"Propozitia cu cele mai putine caractere: ";
 int nmin=0, d[n];
 int i=0;
 p=strtok(a,c); while(p){for(p=strtok(a,c);p<strtok(NULL,c);i++) nmin++; d=nmin; i++;   p=strtok(NULL,c);}
 getch();}


Titlul: Răspuns: Text
Scris de: alexandru din Ianuarie 17, 2009, 20:43:23
hotarastete  cu cele  mai  multe  cuvinte sau  caractere e  o diferenta!!
Cod:
#include<iostream.h>
#include<string.h>
#include<conio.h>
#define  subp ".?!"
#define Nmax 10000
char v[Nmax],maxs[Nmax],mins[Nmax];
void main()
   {int nr=0,spatii,max=-1,min=Nmax+1;
    cout<<"Textul:"; cin.get(v,Nmax);
    char  *p=strtok(v,subp),*q;
    while(p)
         {spatii=0;
          nr++;
          q=strchr(p,' ');
          while(q)
               {spatii++;
                q=strchr(q+1,' ');
               }
          if(spatii>max)
            {max=spatii;
             strcpy(maxs,p);
            }
            else if(spatii<min) {min=spatii; strcpy(mins,p);}
          p=strtok(NULL,subp);
         }
    cout<<nr<<"\nPropozitia cu cele mai putine cuvinte:"<<mins;
    cout<<"\nPropozitia  cu  cele mai  multe cuvinte:"<<maxs<<endl;
    getche();
   }
Am  luat cu cele mai multe cuvinte,  o  propozitie are cu ata  mai  multe  cuvinte c u cate are un numar  de  ' ' spatii  mai  multe:).


Titlul: Răspuns: Text
Scris de: Stitch din Ianuarie 17, 2009, 20:46:26
  Trebuie sa afisez: prima oara propozitia cu cele mai putine caractere,iar a doua oara cea cu cele mai putine cuvinte.


Titlul: Răspuns: Text
Scris de: alexandru din Ianuarie 17, 2009, 20:56:59
A......pai  atunci  codul  se schimba  usor si devine
Cod:
#include<iostream.h>
#include<string.h>
#include<conio.h>
#define  subp ".?!"
#define Nmax 10000
char v[Nmax],mincs[Nmax],mins[Nmax];
void main()
   {int nr=0,spatii,minc=Nmax+1,min=Nmax+1;
    cout<<"Textul:"; cin.get(v,Nmax);
    char  *p=strtok(v,subp),*q;
     while(p)
         {spatii=0;
          nr++;
          if(minc>strlen(p)) {minc=strlen(p); strcpy(mincs,p);}
          q=strchr(p,' ');
          while(q)
               {spatii++;
                q=strchr(q+1,' ');
               }
     if(spatii<min) {min=spatii; strcpy(mins,p);}
     p=strtok(NULL,subp);
         }
    cout<<nr<<"\nPropozitia cu cele mai putine caractere:"<<mins;
    cout<<"\nPropozitia  cu  cele mai  putine cuvinte:"<<minc<<endl;
    getche();
   }
Si  apropo  scuze de critica  cu  caracterele si cuvintele  nu prea  citisem   cu  atentie  textul


Titlul: Răspuns: Text
Scris de: Stitch din Ianuarie 17, 2009, 21:06:14
           Ms mult,Alex !  \:D/


Titlul: Răspuns: Text
Scris de: alexandru din Ianuarie 17, 2009, 21:17:28
npc :)
Sper ca ai  inteles ce-am facut  acolo daca nu  zi si explic ;)