Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 18 su 18
  1. #11
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Comunque il problema è nell'include ... non deve essere

    void leggi(matrice, int&, int&, const stringa);


    ma


    void leggi(matrice, int&, int&, stringa);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  2. #12
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    16
    Lib.h
    codice:
    const int maxdim=30;
    typedef int vettore [maxdim];
    typedef int matrice [maxdim][maxdim];
    typedef char stringa [maxdim+1];
    struct coordinate{
           int riga;
           int colonna;
           };
    typedef coordinate vett_str[maxdim];
    
    
    void leggi_mat(matrice, int&, int&, const stringa);
    void vett_positivo(const matrice, int, int, vettore, int&);
    lib.cpp
    codice:
     
    #include <iostream>
    #include <cstdlib>
    #include <stdio>
    #include "lib.h"
    
    using namespace std;
    
    void leggi_mat(matrice mat, int&rig, int&col, stringa nomefile){
         int i,j;
         
         FILE*fp=fopen(nomefile, "r");
         if(fp==0){
                   cout<<"\n Impossibile trovare il file: "<<nomefile<<" ! \nConstrollare la directory...";
                   system("PAUSE");
                   exit(1);
                   }
         fscanf(fp, "%d %d", &rig, &col);
         for(i=0;i<rig;i++)  
            for(j=0;j<col;j++)
               fscanf(fp,"%d", &mat[i][j]);
               
         fclose(fp);
    }
    
    
    void vett_positivo(matrice mat, int rig, int col, vettore v, int& riempv){
         int i,j,k;
         bool trovato=false;
         riempv=0;
         
         for(i=0;i<rig;i++){
             j=0;
             trovato=false;
             while(j<col && !trovato)
                         if(mat[i][j]>0){
                             k=mat[i][j];
                             v[riempv]=k;
                             riempv++;
                             trovato = true;
                             }
                             else j++;
                                
            
            
            }
    }
    main.cpp
    codice:
     
    #include <iostream>
    #include <cstdlib>
    #include "stdio.h"
    #include "lib.h"
    using namespace std;
    
    int main()
    {
        int rig, col,riempv_pos;
        vettore vposit;
        matrice mat;
        vett_str info;
        stringa nomefile;
        cout<<"Inserire il nome del file per prelevarne i dati: ";
        cin>>nomefile;
        leggi_mat(mat, rig, col, nomefile);
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    ecco qua :s

  3. #13
    Una osservazione, perché dichiari
    codice:
    typedef int vettore [maxdim];
    typedef int matrice [maxdim][maxdim];
    con lunghezza maxdim

    mentre
    codice:
    typedef char stringa [maxdim+1];
    con lunghezza maxdim+1 ?

    Sarebbe più razionale fossere tutti con la stessa lunghezza, maxdim oppure maxdim+1
    Inoltre in nessuna parte del codice effettui i controlli necessari affinchè questi limiti non vengano superati.
    Ultima modifica di Samuele_70; 11-02-2015 a 13:45
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  4. #14
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    16
    Lo dichiaro così prima di tutto perchè così preferisce il prof, inoltre perchè so che sicuramente la stringa sarà massimo lunga 30 caratteri e quel +1 assume il '\0' cioè il "tappo" della stringa xD
    Non so se mi so spiegato bene.

  5. #15
    In ambiente windows, per contenere i nomi di file in formato ANSI, è consuetudine usare stringhe di 260 caratteri.
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  6. #16
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    16
    Vabbe questo non lo so...
    il mio prof così ci ha detto e io così faccio

  7. #17
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quote Originariamente inviata da Wimmo Visualizza il messaggio
    Vabbe questo non lo so...
    il mio prof così ci ha detto e io così faccio

    Questo è un ottimo modo per "non capire" le cose ...

    Comunque, hai letto il mio post per la soluzione del problema del linker?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #18
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    16
    Sisi infatti ora mi compila!
    Grazie mille!

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.