Προς το περιεχόμενο

thelw voitheia......se C++


blackeye

Προτεινόμενες αναρτήσεις

Δημοσ.

loipon,exw enan pinaka S me char stoixeia,plithos N, swsta?pairnw ena minima apo to pliktrologio me tin getline(cin,message,'\n');ton kanw pinaka char me tin strcpy(S1,message.c_str()) mexri edw kala....

 

 

for(int i=0;i<message.length();i++)

{for(int w=0;w<N;w++)

{ if(S1==S[w])

{tote kane kati.......

 

to provlima einai oti an o pinakas S exei to ' ',to keno diladi,kai esy dwseis minima pou perixei to spaze,' ', i if(S1==S[w]) den ginetai true enw kanonika tha eprepe.......giati?thelw lysi plz

 

Simeiwsi:to exw dokimisei kai me static_cast kai mono me string alla tipota,opote dinei to space den to vgazei true

Δημοσ.

οχι GrMikeD, άλλο θέλει να κάνει !

blackeye καλό μου φαίνετε, μόνο με το space έχεις πρόβλημα ;

Μήπως χαλάς το message πουθενά, π.χ. αν έβαζες

αντί για message.length() το strlen(S1)

(και αντί για N το strlen(S))

 

δεν βάζεις όλον τον κώδικα να τον δούμε ;

Δημοσ.

>
string message;

cout<<"Dwse to minima : ";

getline(cin,message,'\n');

char* messagetochar;

messagetochar=new char [message.length()];
strcpy(messagetochar,message.c_str());




for(int z=0;z<message.length();z++)
{for(int x=0;x<N;x++)
{if(static_cast<int>(messagetochar[z]>=97)&&static_cast<int>(messagetochar[z]<=122)) //se periptwsi pou to message exei mikra anti gia kefalaia
{messagetochar[z]=static_cast<char>(static_cast<int>(messagetochar[z]-32));}         //
if(messagetochar[z]==S[x]||S[x]==static_cast<char>(32))
 { kwd<<C[x];


   char* temp;
   int arxi;

  temp=new char [N];

  arxi=-1;

  if(Q[x]<0)
  {for(int i=0;i<N;i++){
  	if(abs(Q[x])+i<N)temp[i]=C[abs(Q[x])+i];
     else{arxi++; temp[N+Q[x]]=C[arxi];}


                       }
  }

  else if(Q[x]>0&&Q[x]<N)
   {for(int i=0;i<N;i++)
    {if(Q[x]+i<N)temp[Q[x]+i]=C[i];
        else{arxi++;temp[arxi]=C[i];}
    }
   }
   else for(int y=0;y<N;y++)temp[y]=C[y];





 for(int w=0;w<N;w++)
 C[w]=temp[w];



 delete[] temp;



 }//if...
}//for(int x=0;x<N....
}//for(int z=0;z<message.le......

delete[] messagetochar;
delete[] Q;
delete[] C;
delete[] S;

kwd.close();

olo o kwdikas......diko sas

  • 2 εβδομάδες αργότερα...
Δημοσ.

Η cin συντάσσεται ως :

cin >>variable;

H getline(a, b, 'c') παίρνει έως b στοιχεία από το input stream, μέχρι να συναντήσει το χαρακτήρα c ή μέχρι να φτάσει το b-1 στοιχείο. Default χαρακτήρας το \n .

Το declaration είναι:

istream& getline(unsigned char *, int, char = '\n');

Στη δεύτερη γραμμή, έχεις βάλει ως όρισμα το cin (απαγορεύεται).

Το string είναι container class, και μάλλον μπερδεύει τα πράγματα, αν δεν ξέρεις τι να την κάνεις. Για παράδειγμα, η message.c_str() method που χρησιμοποιείς, επιστρέφει pointer.

Τα χρειάζεσαι πραγματικά, όλα αυτα;

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...