Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    26

    [C] Problema di output errato

    Ciao a tutti, vi posto il testo del programma che dovrei realizzare

    Esercizio 2 ----------- Sia data una matrice quadrata di numeri interi positivi di dimensione pari a N(con N < 16). Scrivere un programma C che: 1. Legga da tastiera la dimensione N della matrice; 2. Legga da tastiera gli NxN valori della matrice controllando che siano tutti numeri positivi; 3. Per ogni riga della matrice ne calcoli la somma degli elementi; 4. Raggruppi le righe la cui somma degli elementi è uguale producendo per ogni gruppo il seguente output: Somma <valore della somma>: Stampa delle righe la cui somma degli elementi vale <valore della somma> N.B. Ogni riga deve essere stampata racchiusa tra parentesi tonde e con gli elementi separati da uno spa-zio. Le varie righe devono essere separate da una virgola Esempio: Sia data la matrice 0 2 3 1 0 6 0 0 1 2 2 4 1 1 1 3 (N=4) Il programma deve produrre il seguente output: Somma 6: (0 2 3 1), (0 6 0 0), (1 1 1 3) Somma 9: (1 2 2 4)
    (L'ultimo punto non l'ho ancora fatto)

    Il problema sta nel fatto che nel vettore dove io ho deciso che andranno i valori della somma della matrice escono sempre valori a casaccio, non riesco a capire il motivo anche perchè ho ancora poca esperienza col C...

    Ecco il codice

    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #include <string.h>
    
    int main()
    {
     int N,i,j,temp; 
     int condizione=0;
    
    //Inserimento in N della grandezza matrice quadrata 
    do
    {
     printf("Inserisci la dimensione della matrice quadrata ");
     scanf("%d",&N);
     if(N<16)
      condizione=0;
     else
     {
      condizione=1;
      printf("Errore N, deve essere minore di 16 ");
     } 
    }while(condizione==1);
    
    //Creazione matrice quadrata, azzeramento condizione, creazione vettore somme righe
    int matrice[N][N];
    condizione=0;
    int vet[N];
    
    for(i=0;i<N;i++)
     vet[i]=0;
    
    //Input matrice con controllo sui numeri positivi
    for(i=0;i<N;i++)
    {
     for(j=0;j<N;j++)
     {
      do 
      {
       printf("[%d][%d]",i+1,j+1);
       scanf("%d",&matrice[i][j]);
       if(matrice[i][j]<0)
        {
         printf("Errore, i valori negativi non sono ammessi ");                 
         condizione=0;
        }
       else 
         condizione=1;
      }while(condizione==0); 
     }
     printf("\n");
    } 
    
    //Somma delle righe della matrice
    for(i=0;i<N;i++)
    {
     for(j=0;j<N;j++)
     {
      temp=temp+matrice[i][j];
      vet[i]=temp;
     }
    } 
      
    //Stampa vettore somma
    for(i=0;i<N;i++)
     printf("%d",vet[i]);
      
      system("pause");  
    }
    Grazie anticipatamente a tutti quelli che mi aiuteranno


  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    26
    Ti ringrazio tanto

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.