Visualizzazione dei risultati da 1 a 3 su 3

Visualizzazione discussione

  1. #1

    [C] Esercizio su shift di array

    Ciao a tutti, ho un dubbio esistenziale sugli array e i puntatori.
    Il testo dell'esercizio e' il seguente: Scrivere un programma in linguaggio C che, acquisito da tastiera un vettore di N numeri, ne ruoti circolarmente il contenuto di M posizioni e visualizzi la configurazione finale. Il verso della rotazione ed il valore di M sono richiesti come input.

    Ho tentato di risolvere il problema con un ciclo for:
    codice:
    if (verso == 1) { // SHIFT VERSO SINISTRA
            printf("Vettore shiftato verso sinistra: \n");
            for (i = 0; i < N; i++) {
                vet[i] = vet[i + posizioni];
                x = vet[i];
                printf("Elemento %d: %d\n", i + 1, x);
            }
        }
    se per esempio decido di fare uno shift di 3 posizioni e il vettore e' di [6], gli ultimi 3 elementi del vettore vengono shiftati correttamente di 3 posizioni. i primi 3 invece non risultano shiftati e viene riportato nel print questo numero: -858993460

    Scusate per il linguaggio non preciso, sono alle prime armi

    PS ovviamente non ho riportato tutto il codice completo ma includeva la lettura delle dimensioni del vettore (N), l'acquisizione degli elementi del vettore, la richiesta all'utente del numero di posizioni da shiftare (posizioni), la richiesta all'utente del verso di rotazione (1 = sinistra, 2 = destra)
    Ultima modifica di sophkant; 05-01-2018 a 18:18

Tag per questa discussione

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.