Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    337

    [C] struct e array // Cancellazione-Algoritmo

    consideriamo questo codice:

    codice:
    typede struct {
      char nome[30];}
       persona;
    persona persone[50];
    ...
    ...
    ...
    //algoritmo per cancellare una persona data la posizione dall'utente 
    
    for (i=posizione; i<50; i++){
         strcpy(persone[i].nome, persone[i+1]); //uso strcpy per scalare le posizioni 
         }
    il punto è che cosi facendo mi ritrovo nelle ultime posizioni sempre lo stesso nome, esiste una funzione che invece che copiare mi sposti, oppure come faccio a ottimizzare questa cancellando gli indici

    inoltre potrei fare tutto questo con un vettore bidimensionale, in tal caso il vettore sarebbe
    char persone[50][30]; ????

    Grazie



    [/code]

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Non ho capito molto ...

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    337
    "il punto è che cosi facendo mi ritrovo nelle ultime posizioni sempre lo stesso nome, esiste una funzione che invece che copiare mi sposti, oppure come faccio a ottimizzare questa cancellando gli indici"
    facendo così mi ritorvo esempio

    codice:
    marco
    massimo
    antonio
    luca 
    gianni
    
    ora cancello marco e ottengo
    massimo
    antonio
    luca 
    gianni
    gianni
    
    ora cancello luca
    massimo
    antonio
    gianni
    gianni
    gianni
    dovrei diminuire l'indice i a ogni cancellazione , non c'è un modo più elegante per non avere doppioni?


    "inoltre potrei fare tutto questo con un vettore bidimensionale, in tal caso il vettore sarebbe
    char persone[50][30]; ????"

    tradotto in modo comprensibile:
    prima ho definito una struct contenente il nome di una persona e poi ho definito un numero di 50 persone con un array.

    posso fare lo stesso senza struct ovvero con un array bidimensionale?
    in tal caso la definizione sarebbe

    char persone[50][30]
    ???

    Grazie

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.