PDA

Visualizza la versione completa : Errore programma Segmentation fault


Zorgatone
11-09-2010, 18:33
Ciao a tutti ho fatto un programma che inizializza un vettore inserendo degli uno nella colonna principale e stampa il vettore.

Dopo averlo compilato (senza che il compilatore mi abbia segnalato nessun warning, ed erano attivati tutti!!) perņ, quando lo eseguo mi dice "Segmentation fault".

Cos'ho sbagliato???



#include <stdio.h>

#define N 10

int main(void)
{
double ident[N][N], *p;
int zeros, row, col;

for (p = &ident[0][0], zeros = N; p < &ident[N][N]; p++) {
if (zeros == N) {
*p = 1;
zeros = 0;
}
else {
*p = 0;
zeros++;
}
}

for (row = 0; row < N; row++) {
for (col = 0; col < N; col++) {
printf("%10.0lf", ident[row][col]);
}
printf("/n");
}

return 0;
}


Grazie a tutti

Zorgatone
11-09-2010, 22:10
Mmh, proprio non riesco a capire...

Dovrebbe essere un output tipo tabella come questo: link (http://it.wikipedia.org/wiki/Matrice_identit%C3%A0).

Devo aver fatto qualche errore coi puntatori li sto ancora studiando...

Zorgatone
11-09-2010, 23:17
Originariamente inviato da Zorgatone
Mmh, proprio non riesco a capire...

Dovrebbe essere un output tipo tabella come questo: link (http://it.wikipedia.org/wiki/Matrice_identit%C3%A0).

Devo aver fatto qualche errore coi puntatori li sto ancora studiando...

Risolto!: ho inizializzato il vettore con tutti zeri e ho cambiato la clausola else con solo zeros++.

Loading