Invertire una stringa.

di il
1 risposte

Invertire una stringa.

Ho una stringa caricata e vorrei invertirla, ovvero: se la stringa è 'ciao' mi aspetto di trovare 'oaic'
Come posso farlo, senza stravolgere il corpo del problema.
In particolare mi interessa sapere il codice di questo:
if (risposta == 4)
	{
		
	}
Questo è il programma per intero;
/*Programma che acquisita una stringa ti fa scegliere cosa fare tra 1) leggere la stringa 2 ) vederla in maiuscolo 3) sapere quanto e' grande  per ora!! ) */
#include <iostream>
#define N 100
using namespace std;
int main()
{
	typedef char stringa [N];
	stringa s;
	cout << " Inserire stringa " ;
	cin >> s; 
	
	float risposta;
	
	cout << "\n Cosa vuoi fare ora : \n 1) Rispondere 1 se vuoi leggere la stringa. \n 2) Rispondere 2 se vuoi vedere la stringa in maiuscolo. \n 3) Rispondere 3 se vuoi sapere quanto e' grande la stringa. \n 4) Rispondere 4 se vuoi la stringa al contrario. ";
	cin >> risposta;
	
	if (risposta == 1)
	{
		cout << "\n Hai deciso di leggere la stringa ";
		cout << " Eccola:  " << s ;
	}
	
	if (risposta == 2)
	{
		cout << "\n Hai deciso di leggere la stringa in maiuscolo ";
		int i;
		char S [N];
		
		for (i=0; s [i] != '\0'; i++)
		{
			if (s[i]>= 'a' && s[i]<= 'z')
			{
				S [i] = s [i] - 32;
			}
		}
		
		cout << "\n La stringa in maiuscolo risulta " << S ;
	}
	
	if (risposta == 3)
	{
		cout <<"\n Hai deciso di sapere la lunghezza della stringa ";
		
		int lung = 0;
		while (s[lung] != '\0' )
		{
			lung++;
		}
		cout << "\n La lunghezza della stringa e' " << lung << endl;
	}
	
	if (risposta == 4)
	{
		
	}
	
	if (risposta != 1 && risposta != 2 && risposta != 3 && risposta != 4)
	{
		cout << " Non hai voluto sapere nulla ";
	}
	
	
}

1 Risposte

  • Re: Invertire una stringa.

    Così hai trovato la lunghezza giusto?
    
     int lung = 0;
          while (s[lung] != '\0' )
          {
             lung++;
          }
    
    Così puoi scrivere la stringa al contrario
    
    for (i=lung - 1; i > 0; i--)
            cout << s[i];
    
    p.s: Non usare float per il confronto ma dei semplici int.
Devi accedere o registrarti per scrivere nel forum
1 risposte