Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703

    [c++]tecniche per shiftare un array

    come da titolo vorrei alcuni chiarimenti sulle tecniche di shifting per quanto riguarda gli array;
    innanzitutto cosa si intende esattamente per "shiftare" ? Da quanto ho capito vuol dire letteramente "spostare", quindi di fatto, correggetemi se sbaglio, "eliminerei"(non dalla memoria,[perchè???]) ma semplicemente a video un elemento dell'array..ora mi servirebbero alcuni esempi:

    Se avessi il seg. array:
    codice:
    char a[]={5,8,4,2};
    for(int i=0;i<=3;i++)
    {
        //lo shifting lo devo fare qua dentro?, ad esempio lo vorrei fare sul elemento con indice 2
    }
    quindi deve risultare così la variabile a alla fine: 582

    grazie

  2. #2
    Utente di HTML.it L'avatar di MrX87
    Registrato dal
    Jun 2007
    Messaggi
    500
    bhè shiftare significa "scalare di posizione" un elemento e di conseguenza anche quelli al suo fiano. esempio:
    avendo il vettore di dimensione 5 in questo caso:
    codice:
    1 2 3 4 5
    se effettuassimo uno shift verso destra sarebbe:
    codice:
    (1)1 2 3 4
    in questo caso poichè il vettore è allocato di 5 elementi, il numero 5 scomparirebbe, e il primo numero risulterebbe duplicato, ma tramite degli accorgimenti si può fare anche:
    codice:
    5 1 2 3 4
    se invece il vettore fosse allocato di una dimensione maggiore a 5 allora verrebbero spostati tutti gli elementi.
    Però non capisco bene cosa intendi sul fare uno shift sull'elemento di dindice 2? al massimo puoi shiftare tutti gli elementi che stanno dopo l'indice 2! ovvero verrebbe:
    codice:
    1 2 (3) 3 4
    spero di essere stato chiaro...se ci sono problemi chiedi

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    ti ringrazio in anticipo per la risposta
    poi volevo chiederti una cosa:
    potresti farmi gli stessi esempi tramite codice?, sia se il vettore fosse allocato con una dimensione pari agli elementi che non.
    Ti ringrazio davvero

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Per shiftare elementi di un array puoi usare anche la funzione

    memmove

    http://www.cplusplus.com/reference/c...g/memmove.html
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di MrX87
    Registrato dal
    Jun 2007
    Messaggi
    500
    potresti farmi gli stessi esempi tramite codice?, sia se il vettore fosse allocato con una dimensione pari agli elementi che non.
    guarda potrei farti gli esempi in codice ma non in C++, al massimo in C. comunque prova a guardare la proposta di oregon e prova a implemetare una funzione che fa questo lavoro, se ci sono problemi, posta ancora.
    ciao

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 © 2025 vBulletin Solutions, Inc. All rights reserved.