View Full Version : [C++] Invertire un Array di caratteri.
Ciao a tutti, sto cercando di invertire i caratteri di un array di stringhe, che cioè all'inserimento di una parola come "mouse" ti dia come risultato "esuom". Potete darmi una mano? Grazie. :help:
#include<iostream.h>
#include<string.h>
#define lunghezza 5
int main() {
int i,j,a;
char stringa[20];
cout<<"Inserire una stringa di caratteri (al massimo di 20 caratteri, spazi inclusi): \n";
gets(stringa);
i=0;
while(stringa[i]<=stringa[lunghezza]){
stringa[i++];
}
j==i;
for(j=i;j!=0;j--){
}
cout<<"La stringa invertita e'-->"<<stringa[j]<<"\n";
system("pause");
return 0;
}
Ci sono riuscito. Però qualcuno saprebbe dirmi come fare a visualizzare il risultato su un'unico cout, senza inserirlo in un ciclo for e dare come output una lettera x volta ? :confused:
Grazie. :)
//stringaInvertita.CCP
#include<iostream.h>
#include<string.h>
int main () {
int j,n,i;
char stringa[30];
cout<<"Inserisci una stringa di caratteri: \n";
cin>>stringa;
n=strlen(stringa);
j=n;
for(i=0;stringa[j-1]!=0;i++){
stringa[j--];
j-i;
cout<<"La stringa invertita e' "<<stringa[j]<<"\n";
}
system("pause");
return 0;
}
||ElChE||88
22-02-2008, 18:13
Mai programmato in c++ ma ci provo lo stesso... :fagiano:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string stringa;
cout << "Inserisci una stringa di caratteri:" << endl;
cin >> stringa;
cout << "La stringa invertita e' ";
for(int i = stringa.length() - 1; i >= 0; i--)
{
cout << stringa[i];
}
cout << endl;
system("pause");
return 0;
}
82ginopino
23-02-2008, 16:22
prova anke questo...:read:
#include <stdio.h>
#include <conio.h>
char y[20];
int n;
int lunghezza(char y[]){
int i;
for(i=0;y[i]!='\0';i++);
return(i);
}
void nuovo (char y[], int *x){
printf("Inserisci una stringa: ");
scanf("%s",y);
*x=lunghezza(y);
}
void inverti(char y[],int x){
int i;
char z;
for(i=0;i<(x/2);i++){
z=y[x-i-1];
y[x-i-1]=y[i];
y[i]=z;
}
printf("\nLa stringa invertita Š: %s\n",y);
getch();
}
void main(){
clrscr();
nuovo(y,&n);
inverti(y,n);
}
può andare?
L'unico limite è la dimensione fissa della stringa, ma si può risolvere con una lista!
Mai programmato in c++ ma ci provo lo stesso... :fagiano:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string stringa;
cout << "Inserisci una stringa di caratteri:" << endl;
cin >> stringa;
cout << "La stringa invertita e' ";
for(int i = stringa.length() - 1; i >= 0; i--)
{
cout << stringa[i];
}
cout << endl;
system("pause");
return 0;
}
il return non serve
||ElChE||88
23-02-2008, 19:39
perchè no? int main (void) ... tipo di ritorno è un int...:D
Compila anche senza il return, ma l'ho lasciato comunque per chiarezza... :fagiano:
||ElChE||88
23-02-2008, 19:47
secondo me se una funzione torna qualcosa è bene sempre specificare cosa torna, no?:D
Appunto, è quel che ho scritto sopra.
perchè no? int main (void) ... tipo di ritorno è un int...:D
colpa mia, mi sono espresso male. :stordita:
perchè "int main" e non "void main"???
||ElChE||88
23-02-2008, 22:00
colpa mia, mi sono espresso male. :stordita:
perchè "int main" e non "void main"???
Perché è lo standard c++... :fagiano:
Perché è lo standard c++... :fagiano:
asd...io ho sempre fatto void main() :D
||ElChE||88
23-02-2008, 22:39
asd...io ho sempre fatto void main() :D
Ma che compiler usi? :mbe:
gcc lo rifiuta...
Ma che compiler usi? :mbe:
gcc lo rifiuta...
c builder 2006...a scuola ci fanno fare così. :stordita:
anzi a dirla proprio tutta facciamo c e c++ mischiati, per esempio tutto in c e poi usiamo cin e cout al posto di scanf e printf...mi chiedo ancora quale sia l'utilità di fare una cosa simile. :rolleyes:
^TiGeRShArK^
24-02-2008, 03:20
Ma che compiler usi? :mbe:
gcc lo rifiuta...
anche mingw se non sbaglio..
mmm... o forse da un warning..:mbe:
ora non ricordo perchè sono secoli che non scrivo codice c/c++.. :stordita:
^TiGeRShArK^
24-02-2008, 03:21
c builder 2006...a scuola ci fanno fare così. :stordita:
anzi a dirla proprio tutta facciamo c e c++ mischiati, per esempio tutto in c e poi usiamo cin e cout al posto di scanf e printf...mi chiedo ancora quale sia l'utilità di fare una cosa simile. :rolleyes:
semplice :O
vi confondono le idee in modo che non potrete mai riuscire ad impare la programmazione ad oggetti :D
:asd:
semplice :O
vi confondono le idee in modo che non potrete mai riuscire ad impare la programmazione ad oggetti :D
:asd:
si ma per imparare la programmazione ad oggetti serve qualcuno di capace che te la insegni...quindi credo che a scuola non la impareremo mai. :stordita:
marko.fatto
24-02-2008, 09:37
anche mingw se non sbaglio..
mmm... o forse da un warning..:mbe:
ora non ricordo perchè sono secoli che non scrivo codice c/c++.. :stordita:
anche mingw non l'accetta :O
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.