Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Shift di una stringa

    scusate ragazzi ho questo problema ....
    Data una stringa es. ROMA
    stampare:
    AROM
    MARO
    OMAR
    ROMA

    mi dite come fare per spostare le lettere? nn riesco a fare solo quello .... però nn mi dite cose difficili in C++ xD vorrie sapere come fare attaverso il C e molto semplicemente grazie !!

  2. #2
    usa un char di appoggio

    salvi il valore in prima posizione nel char, quindi sposti l'i+1esimo nell'isemo e vai avanti così sino alla posizione finale. Quindi metti il valore salvato nel char temporaneo in esso

    codice:
    char temp = \0
    int i=0
    char *parola = "R O M A"
    
    temp = parola[i]; //in questo caso, R
    
    parola[i] = parola[i+1];
    O O M A
    
    i=1
    parola[i] = parola[i+1];
    O M M A
    
    i=2
    parola[i] = parola[i+1];
    O M A A
    
    i=3 stop ciclo 
    O M A A 
    
    parola[i] = temp;
    O M A R
    edit: ops, notato ora che lo volevi nell'ordine inverso XD vabbé è abbastanza intuibile ora cosa devi fare

  3. #3
    forse mi sono spiegato male xD o forse nn capisco il tuo codice ... che significa quel temp? è forse la variabile di appoggio? ....
    Comunque io dovrei creare un programma che data una parola fa lo shift verso destra (la nostra destra) fino ad arrivare a quella setssa parola.
    Quindi faccio

    Codice PHP:
    #include <stdio.h> 
    #include <stdlib.h> 
    #include <string.h>
     
    main () 
    {     
         
    int n,k;      
        
    char a[100];      
        
    printf ("Inserisci una parola: ");      
        
    scanf ("%s",a);      
        
    nstrlen(a); 
    così basta fare k=0; e poi while (k<n) così che ripetendolo n volte di sicuro fara lo shift fino a trovare la parola data, es. ROMA ha 4 lettere quindi facendolo 4 volte tornerà a ROMA.
    ORa quindi cosa dovrei scriverci nel ciclo ? :\

  4. #4
    temp è la variabile di appoggio si

    devi creare quello che ho fatto io con l'esempio di sopra muovendo un carattere per volta

    se ti fai un esempio su un foglio sta sicuro che ti verrà estremamente facile riportarlo poi in un semplice ciclo for all'interno di quel while (il for si occupa di shiftare tutte le lettere e il while di stampare una parola completamente shiftata)

  5. #5
    è prprio quello che sto cercando di fare da mezz'ora XD ma non riesco :\ abbiamo appena introdotto le stringhe e nn lo so proprio fare .... cioè sul foglio è normale che lo so fare ma nn so come tradurlo in un flow chart :|

  6. #6
    guarda ho semplificato un po' la spiegazione nel post di prima, dovrebbe essere ancora più intuitivo ora

  7. #7
    Grazie mille =)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.