Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2023
    Messaggi
    2

    [C] Stampare elementi di una matrice che occorrono più di N volte

    Salve avrei bisogno di aiuto per svolgere un esercizio di programmazione in linguaggio C.
    Premetto di essere alle prime armi...
    La traccia dell'esercizio è la seguente (senza utilizzo di funzioni):
    Scrivere un programma che, data in input una matrice di interi m di dimensione NxN, definisce e stampa un vettore v contenente gli elementi di m che occorrono nella matrice più di tre volte.
    ESEMPIO: se m[n][n]=
    1 2 1
    2 5 7
    7 7 1
    il vettore v={1,7}

    Grazie in anticipo

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    I tuoi tentativi per risolvere questo esercizio quali sono stati? Che difficoltà stai trovando?
    Il forum non è un posto dove si ottiene codice pronto all'uso senza fare niente, è un posto inteso per imparare, ti si aiuta a risolvere i problemi che incontri e ti si correggono gli errori che fai, ma devi mostrare che stai facendo qualcosa di tuo.
    Ultima modifica di Alhazred; 10-06-2023 a 11:44

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2023
    Messaggi
    2
    Certo!
    Nel mio programma, dopo aver inizializzato la matrice, ho posto che il vettore abbia gli stessi elementi della matrice (non so quanto sia corretto) in modo da fare il controllo/calcolo delle occorrenze sul vettore stesso.
    Il calcolo delle occorrenze credo avvenga correttamente, il problema lo incontro nel dover riscrivere il vettore con i soli elementi che occorrono.
    Di seguito il programma che ho scritto:

    codice:
    #define DIM 100
    #include <stdio.h>
    
    
    int main()
    {
        int n; 
        int m[DIM][DIM]; 
        int v[DIM*DIM]={0}; // vettore per memorizzare le sequenze degli elementi
        int i,j,k;
     //inserire dimensione matrice
        scanf("%d",&n);
        for(i=0;i<n;i++){
            for(j=0;j<n;j++){
                scanf("%d",&m[i][j]);
            }
        }
        printf("la matrice:\n");
      for(i=0;i<n;i++){
            for(j=0;j<n;j++){
                printf(" %d\t",m[i][j]);
            }printf("\n");
    }
    for(i=0;i<n;i++){
        for(j=0;j<n;j++){
            v[k]=m[i][j];
            k++;
        }
    }
    printf("\n vettore occorrenze:\n ");
    int occ=0;
    for (k=0; k<n*n; k++){ 
       if (v[k]==v[k+1]) 
       occ++; 
      if(occ>3){
         printf("%d\t",v[k]);}
    }
     
    
        return 0;
    }
    Ultima modifica di alka; 12-06-2023 a 09:18 Motivo: Formattato il codice

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