PDA

Visualizza la versione completa : Dividere a metÓ una stringa C++


michele2000plus
30-10-2016, 17:05
Salve

In un programma in c++ devo scrivere in due stringhe differenti le due metÓ della parola inserita ad esempio di MARIO devo visualizzare in uscita nella stringa1 MA e nella stringa2 RIO, oppure un altro esempio SALE stringa 1 SA, nella stringa2 LE.
GRAZIE PER CHI MI AIUTA.

oregon
30-10-2016, 18:01
Beh, comincia a scrivere il codice, proponi qualcosa ... qui non si fanno gli esercizi.

michele2000plus
30-10-2016, 19:56
Ah...ok, Ŕ la prima volta che ho scritto non lo sapevo; comunque l'esercizio non chiedeva solo quello ma io mi sono bloccato a quella richiesta se vuoi ti copio quello che ho giÓ fatto...


#include <cstdlib>
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char stringa1[20];
cout<<"INSERISCI UNA STRINGA DI MAX 20 CARATTERI"<<endl;
cin>>stringa1;
int x=strlen(stringa1);
cout<<x<<endl;
int z=x/2;
cout<<z<<endl;

system("PAUSE");
return EXIT_SUCCESS;
}


Se qualcuno pu˛ darmi anche solo dei suggerimenti mi farebbe un piacere enorme. Anche solo un link dove spiegano qualcosa del genere. Grazie

oregon
30-10-2016, 20:17
Conosci le funzioni che copiano le stringhe, come la strcpy ?

michele2000plus
31-10-2016, 16:40
Si, con strcpy puoi copiare il contenuto di una stringa in un'altra
es:
strcpy(*string1, *string2);
quindi in teoria se si usa sempre come esempio la parola Mario, se copio in due stringhe (mario) dovrei dividere per due ma non
riesco a capire come siccome mario/2 non si pu˛ fare XD; non so se hai capito cosa intendo? c'Ŕ con una parola e basta lo saprei fare ma con tutte siccome hanno lunghezza diverse non so...:confused:
grazie della disponibilitÓ:)

oregon
31-10-2016, 17:51
Prepara le due stringhe in cui devi inserire le due metÓ della stringa iniziale.
Possono essere anch'esse lunghe al massimo 20.

Per la prima puoi copiare tutta la stringa e poi inserire il terminatore '\0' nell'elemento che sta a metÓ

Per la seconda copi a partire dal carattere successivo alla metÓ calcolata.

Provaci.

michele2000plus
01-11-2016, 15:37
Prepara le due stringhe in cui devi inserire le due metÓ della stringa iniziale.
Possono essere anch'esse lunghe al massimo 20.

Per la prima puoi copiare tutta la stringa e poi inserire il terminatore '\0' nell'elemento che sta a metÓ

Per la seconda copi a partire dal carattere successivo alla metÓ calcolata.

Provaci.

ok, ora provo; comunque cosi non funziona solo con una parola che dico io? la parola la deve inserire l utente quindi pu˛ essere mario, cme luigi, come pippo... fra poco ti mando quello che mi Ŕ riuscito con quello che mi hai detto
grazie !

Loading