esercizio in C

Pubblicità

Bernardo Chiaravalli

Nuovo Utente
Messaggi
63
Reazioni
6
Punteggio
26
dovrei costruire una matrice che si riempie di numeri casuali, nel quale il numero delle righe e delle colonne è stabilito dall'utente.
sono arrivato qua ma, dopo aver accettato i valori non riesco a riampirla di numeri.
Potreste darmi un aiuto?
Grazie

Codice:
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>

int NR;
int NC;
int i;
int j;


main() {
    
        printf("inserisci numero righe:\n");
        scanf("%d", &NR);
        
        
        printf("inserisci numero colonne:\n");
        scanf("%d", &NC);

        return NR;
        return NC;
        
        int matrix[NR][NC];
        int i, j, sum;
        sum = 0;
    
    
    
    
      { for (i = 0; i < NR; i++)
         
           {
            for (j = 0; j < NC; j++)
            {
                int z;
                z = rand() % 100;
                matrix[i][j] = z;

             
            }
           }
      }
 
Ciao, così ti funziona correttamente e ti stampa la matrice generata.

C:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>

int NR;
int NC;
int i;
int j;


main() {
    
    printf("inserisci numero righe:\n");
    scanf("%d", &NR);
    
    
    printf("inserisci numero colonne:\n");
    scanf("%d", &NC);
    
    int matrix[NR][NC];
    
    for (i = 0; i < NR; i++)
        for (j = 0; j < NC; j++){
            matrix[i][j] = rand() % 100;
        }
        
    for (i = 0; i < NR; i++)
        for (j = 0; j < NC; j++){
            printf("Riga %d Colonna %d : %d \n", i, j, matrix[i][j]);
        }
}
 
Ciao, così ti funziona correttamente e ti stampa la matrice generata.

C:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>

int NR;
int NC;
int i;
int j;


main() {
   
    printf("inserisci numero righe:\n");
    scanf("%d", &NR);
   
   
    printf("inserisci numero colonne:\n");
    scanf("%d", &NC);
   
    int matrix[NR][NC];
   
    for (i = 0; i < NR; i++)
        for (j = 0; j < NC; j++){
            matrix[i][j] = rand() % 100;
        }
       
    for (i = 0; i < NR; i++)
        for (j = 0; j < NC; j++){
            printf("Riga %d Colonna %d : %d \n", i, j, matrix[i][j]);
        }
}
Non è questione di dargli l’esercizio già fatto. Deve capire.
E comunque potevi anche rimuovere quelle variabili globali e inglobarle nel main. In più quella dichiarazione di matrice non è permessa da certi compilatori
 
Non è questione di dargli l’esercizio già fatto. Deve capire.
E comunque potevi anche rimuovere quelle variabili globali e inglobarle nel main. In più quella dichiarazione di matrice non è permessa da certi compilatori
Condivido il fargli capire l'esercizio, sarò io, ma leggere il codice delle soluzioni è la cosa che mi aiuta di più.
Per l'ottimizzazione si potrebbe anche rimuovere il secondo ciclo e stampare direttamente nel primo, ma considerando che parliamo di 3 righe di codice, non mi sembra manco il caso di perderci tempo.
Infine per quanto riguarda la dichiarazione della matrice, da quel che rircordo dalle superiori, borland e dev (ide piu' utilizzati a livello scolastico), accettano entrambi tale dichiarazione.
 
Condivido il fargli capire l'esercizio, sarò io, ma leggere il codice delle soluzioni è la cosa che mi aiuta di più.
Per l'ottimizzazione si potrebbe anche rimuovere il secondo ciclo e stampare direttamente nel primo, ma considerando che parliamo di 3 righe di codice, non mi sembra manco il caso di perderci tempo.
Infine per quanto riguarda la dichiarazione della matrice, da quel che rircordo dalle superiori, borland e dev (ide piu' utilizzati a livello scolastico), accettano entrambi tale dichiarazione.
Lo accetta il compilatore MinGW ma parliamo ormai di un compilatore poco supportato.
Ora non so cosa dichiari precisamente lo standard C, ma in C++ è proibito utilizzare valori non costanti e bisogna quindi utilizzare o vettori o la memoria dinamica.
 
Lo accetta il compilatore MinGW ma parliamo ormai di un compilatore poco supportato.
Ora non so cosa dichiari precisamente lo standard C, ma in C++ è proibito utilizzare valori non costanti e bisogna quindi utilizzare o vettori o la memoria dinamica.
Piccolo OT e poi basta, io quel che so dello C e C++ è relativo a delle infarinature scolastiche, ricordo anche io che per il c++ bisogna utilizzare dei vettori, ma nello specifico non saprei argomentarti.
Detto ciò, se il ragazzo ha dei dubbi, lo faccia presente e proveremo a chiarirli.
 
Condivido il fargli capire l'esercizio, sarò io, ma leggere il codice delle soluzioni è la cosa che mi aiuta di più.
Per l'ottimizzazione si potrebbe anche rimuovere il secondo ciclo e stampare direttamente nel primo, ma considerando che parliamo di 3 righe di codice, non mi sembra manco il caso di perderci tempo.
Infine per quanto riguarda la dichiarazione della matrice, da quel che rircordo dalle superiori, borland e dev (ide piu' utilizzati a livello scolastico), accettano entrambi tale dichiarazione.
La dichiarazione della matrice l'accetta anche il compilatore GCC (che è quello più usato ora).
Ma una volta che studia i puntatori, la matrice deve essere inizializzata con quelli
 
Pubblicità
Pubblicità
Indietro
Top