Problema di visualizzazione di un programma C

di il
6 risposte

Problema di visualizzazione di un programma C

 #include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define N 8

void stampamatrice(int matrice[N][N]);

main()
{
      int i,j,somma_riga,somma_colonna,sdp,sds;
      int matrice[N][N];
      int sr[N],sc[N];
      srand(time(NULL));
      for(i=1;i<=N;i++)
      for(j=1;j<=N;j++)
      matrice[i][j]=rand()%10 ;
      printf("\n Genero una matrice di dimensioni %dX%d:\n\n",N,N);
      stampamatrice(matrice);
       //fuoricorso(matrice);
      //operation(matrice);
      //operazioni(matrice);
      
      getchar();
}

void stampamatrice(int matrice[N][N])
{
     int i,j;
     for(i=1;i<=N;i++)
     {
                     for(j=1;j<=N;j++)printf("%4d",matrice[i][j]);
                     printf("\n\n");                                    
     }
}


Visualizzando questo programma , se imposto N superiore a 5 non mi visualizza più nulla ; inoltre a volte mi visualizza numeri del genere 1112233999 . Sapete aiutarmi??!!

6 Risposte

  • Re: Problema di visualizzazione di un programma C

    Dovresti sapere che in C gli indici degli array partono da 0

    Quindi le for devono partire da 0 e terminare con <N
  • Re: Problema di visualizzazione di un programma C

    Scusa ma se parto da 1 e termino a minore uguale N cambia molto? e comunque questo strano fenomeno a cosa è dovuto?
  • Re: Problema di visualizzazione di un programma C

    Cambia molto? Ovvio che cambia! Vai a scrivere fuori dall'array, in memoria chissà dove ...

    Non è uno "strano fenomeno" ... se scrivi in memoria dove non dovresti puoi sporcare variabili che non dovrebbero essere modificate.

    Ripeto ... hai studiato gli array e gli indici del C? E' importante ...
  • Re: Problema di visualizzazione di un programma C

    scusa ma se parto da 1 e termino a minore uguale N cambia molto
    Se parti da uno effettivamente non cambia molto ma se termini in N si!
    perchè array[n] è "out of bound" ovvero esci dalla memoria allocata e vai a "leggere/scrivere" fuori dalla memoria,in fase di scrittura errori gravi nel sistema.
  • Re: Problema di visualizzazione di un programma C

    In principio ero partito da i=0 , poi ho modificato via dicendo per inserire una nuova funzione nel main che mi sommasse a quarti a quarti la matrice e quindi avere più semplicità degli indici i e j. ( scelta sbagliata).
    Inoltre mi viene chiesto di verificare una certa condizione e in caso di esito positivo, ''il programma salvi i valori della matrice in un file''. Non ho proprio idea di come fare ques'ultima parte, qualche suggerimento?? grazie
  • Re: Problema di visualizzazione di un programma C

    Questa è un'altra richiesta. Hai capito che in un forum si fa una domanda per argomento?

    Non possiamo parlare di file in un thread che ha come titolo "Problemi di visualizzazione ..." ... non è una chat.
Devi accedere o registrarti per scrivere nel forum
6 risposte