Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [C] uso di liste

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    26

    [C] uso di liste

    ciao a tutti...devo utilizzare per un programma delle liste (multiple) come strutture dati..dato che nelle liste ci si muove tramite i puntatori alla lista successiva come faccio ad accedere ad un determinato elemento sapendo solamente in che posizione è?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462

    Re: [C] uso di liste

    Originariamente inviato da annam90
    ciao a tutti...devo utilizzare per un programma delle liste (multiple) come strutture dati..dato che nelle liste ci si muove tramite i puntatori alla lista successiva come faccio ad accedere ad un determinato elemento sapendo solamente in che posizione è?
    Non alla lista successiva, ma al nodo successivo.

    In che senso dici che "sai in che posizione è"?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    26
    conosco la posizione in quanto ho una matrice costruita sulla lista multipla..e quindi ho gli indici di righe e colonne di questa matrice..
    dato che tra le varie funzioni da implementare ne ho una in cui devo leggere un elemento della matrice conoscendone la posizione, mi chiedevo come poter accedere a quel determinato elemento

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da annam90
    ... ho una matrice costruita sulla lista multipla..e quindi ho gli indici di righe e colonne di questa matrice..
    A saperlo ...


    dato che tra le varie funzioni da implementare ne ho una in cui devo leggere un elemento della matrice conoscendone la posizione, mi chiedevo come poter accedere a quel determinato elemento
    Della matrice o della lista?

    Dalla posizione nella matrice non puoi arrivare immediatamente all'elemento della lista se non scorrendola ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    26
    scorrendo la lista? come?

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Per capirci, praticamente, che tipo di dati hai memorizzato ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    26
    allora nel mio programma questo è il main:

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include "funzioni.h"
    
    int main()
    {
      matrice matrice1;
      int i,righe,colonne;
      
      matrice1.prox=&matrice1;
      matrice1.colonne.prox=&matrice1.colonne;
      
      scanf("%d",&righe);
      scanf("%d",&colonne);
      creamatrice(&matrice1,righe,colonne);
      
      for(i=0;i<4;i++){
      printf("%f ",matrice1.colonne.element);
      matrice1.colonne=*matrice1.colonne.prox;}
      
      system("PAUSE");	
      return 0;
    }
    questo il file .c con la funzione:

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include "funzioni.h"
    
    void creamatrice(matrice* matrice1, int righe, int colonne)
    {
         int count,i;
         
         count=0;
         while(count<colonne){
                              
         for(i=0;i<2;i++){
         matrice1->colonne.element=5;
         if(i!=righe-1)
         matrice1->colonne = *matrice1->colonne.prox;
         else
         matrice1->colonne.prox=NULL; }
         
         for(i=2;i<4;i++){
         matrice1->colonne.element=2;
         if(i!=righe-1)
         matrice1->colonne = *matrice1->colonne.prox;
         else
         matrice1->colonne.prox=NULL; }
         matrice1=matrice1->prox; count++; }
    }
    file .h
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    
    typedef struct A { float element; struct A * prox; } RIGHE;
    typedef struct B { RIGHE colonne; struct B * prox; } matrice;
    
    extern void creamatrice(matrice* matrice1, int righe, int colonne);
    extern void stampamatrice(matrice *);
    extern void scrivielemento(matrice *, float, int, int);
    extern float leggielemento(matrice *, int, int);
    extern int numerorighe(matrice *);
    extern int numerocolonne(matrice *);

    ora cm ora il puntatore punta sempre alla stessa struttura mentre io voglio che punti
    sempre ad una nuova struttura qnd chiamato...come fare?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    26
    qualcuno sa come fare?

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.