Oppure

Loading
19/12/12 17:23
arovandi
MAIN:
#include <stdio.h>
#include <iostream>
#include <string>
#include "array2.h"
#include<stdlib.h>

using namespace std;

int main (){
// Creazione matrice A
float A[2][2];

NewMatrixA(&A[2][2]); <------errore

for (int i=0;i<1;i++){
     for(int j=0;j<1;j++){
         cout<<A[i][j]<<endl;
    system("pause";);
}
}        
return 0;
}

Sottoprogramma
float NewMatrixA(float *A[2][2]){
float vett_A[4]={1.1,1.2,1.3,1.4};
int i,j;
int a=0;

for (i=0;i<1;i++){
    for(j=0;j<1;j++){
        
        *A[i][j]=vett_A[a];
        a=a+1;
}
}
}
    
ho questo errore: cannot convert `float' to `float* (*)[2]' for argument `1' to `float NewMatrixA(float* (*)[2])'

essenzialmente quello che devo fare è passare una matrice vuota al sottoprogramma che me la restituisce piena prendendo i valori da quel vettore.

vi ringrazio in anticipo
aaa
19/12/12 18:51
Poggi Marco
Ciao!

Il passaggio di una matrice bidimensionale avviene in questo modo:

Alla dichiarazione del sottoprogramma:
float NewMatrixA(float  A[][2])

La prima dimensione viene omessa, oppure:
float NewMatrixA(float  **A)


Mentre alla chiamata:
float A[2][2]; 
// ...                    
NewMatrixA(A);


E' bene passare anche il numero di righe e colonne alla funzione.
aaa
20/12/12 9:49
arovandi
perfetto!!!!

grazie mille !!!! maledetta ruggine :D
aaa
02/02/13 5:25
allen05
come posso usare il comando cat di linux in un programma c++?
aaa
02/02/13 10:40
Poggi Marco
Postato originariamente da allen05:

come posso usare il comando cat di linux in un programma c++?


La tua domanda è fuori tema.
Apri una nuova discussione su un' apposita sezione.
aaa