Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    173

    Problema con matrici e numeri casuali

    Ciao ragazzi,
    devo fare un programma che prenda in input da riga di comando un numero n pari compreso tra 2 e 8 estremi compresi.
    Poi costruire un matrice n*n e riempirla di numeri casuali che vanno da n+1 a 2*n+1.
    Poi stampare a video la matrice e successivamente scambiare le n/2 righe con le altre n/2 righe e stampare a video.
    es: C:/prog.exe 4
    597
    997
    579
    797

    579
    797
    597
    997

    L'input del numero e i messaggi di errore riesco a farli ma non riesco a capire come fare una matrice n*n e riempirla di numeri casuali da n+1 a 2*n+1.
    Grazie a tutti coloro che mi aiuteranno.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Intanto devi indicare il linguaggio (ricorda il regolamento),

    In secondo luogo, devi dire come aiutarti ... non hai mostrato il codice della parte che hai fatto ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    173
    Scusatemi, il codice è linguaggio c.
    Vorrei un aiuto a scrivere il codice della parte restante.

    #include<stdio.h>
    #include<stdlib.h>

    int main(int argc, char*argv[])
    {
    int a;

    if(argc!=2)
    {
    printf("inserire solo un numero per indicare di quale dimensione deve essere la matrice quadrata\n");
    }
    if -> non riesco a scrivere la condizione per prendere numeri pari compresi tra 2 e 8;
    a=atoi(argv[1]);

    P.S
    Sapreste consigliarmi un buon libro o manuale. Io uso Corso completo di programmazione C di Deitel, però non mi trovo bene dice mezze cose.

  4. #4
    puoi verificare se un numero è pari o dispari controllando il resto della divisione intera per 2

    numero % 2;

    ciao
    sergio

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    18
    io lo uso e mi ci trovo bene , come ha detto "mondobimbi" per sapere se un numero è divisibile per 2 devi usare l'operatore % e si potrebbe fare ..

    codice:
    for(n=0;!(n>=2 && n<=8 && n%2==0);)
    scanf("%d",&n);
    per richiedere l'input finchè non immetti un numero n >= 2 , <= 8 e divisibile per 2 ...

    per riempire la matrice farei una cosa del genere
    codice:
    int righe,colonne,ncasual;
    
      for(righe=0;righe<n;righe++)
         for(colonne=0;colonne<n;colonne++){
            for(ncasual=0;!(ncasual>=n+1);ncasual=rand()%((2*n)+1));
     	    matrice[righe][colonne]=ncasual;
    	  }

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 © 2024 vBulletin Solutions, Inc. All rights reserved.