[RISOLTO] Programma sulle matrici

di il
12 risposte

[RISOLTO] Programma sulle matrici

Il seguente programma non eseguo quanto deve. Inoltre volevo capire cosa significasse nell'ultimo blocco "cout.with(7)".
Il programma chiede di leggere una sequenza di numeri interi e di memorizzarli in una matrice, e stampare la matrice, una riga della matrice per ogni linea di stampa. Il numero di righe e di colonne non è noto a priori e viene chiesto all'utente all'inizio del programma. Il massimo delle dimensioni della matrice è 100x100.
/* Programma che legga, memorizza e stampi una matrice di interi. */

#include <iostream>
using namespace std;

const int MAX_RIGHE = 100 ;
const int MAX_COLONNE = 100 ;

int main() {
	int righe;
	do {
		cout << "Numero di righe (max " << MAX_RIGHE << "): ";
		cin >> righe;
	   }
	while (righe < 1 || righe > MAX_RIGHE);

	int colonne;
	do {
		cout << "Numero di colonne (max " << MAX_COLONNE << "): ";
		cin >> colonne;
	   }
	while (colonne < 1 || colonne > MAX_COLONNE);

	int mat[MAX_RIGHE][MAX_COLONNE];
	for (int i = 0; i < righe ; i++)
	  for (int j = 0; i < colonne; j++) {
			cout << "Inserisci l'elemento (" << i << ", " << j << "): ";
			cin >> mat[i][j];
					    }

	for (int i = 0; i < righe; i++) {
					cout << endl;
	for (int j = 0; j < colonne; j++) {
					cout.width(7);
					cout << mat[i][j];
					  }
					}

	cout << endl;

 return 0;
}
	

12 Risposte

  • Re: [RISOLTO] Programma sulle matrici

    Puoi essere un po' più preciso riguardo a "non fa quello che deve"?

    La width (non with) serve ad impostare la larghezza del campo in cui visualizzare il dato.
  • Re: [RISOLTO] Programma sulle matrici

    Nell'esecuzione del programma fa cosi:

    Numero di righe (max 100): // Inserisco il numero di righe
    Numero di colonne (max 100): // Inserisco il numero di colonne
    Inserisci l'elemento (0, 0): // Se inserisco solo un numero intero (ad esempio 4) mi esce: "Inserisci l'elemento (0, 1). Qualsiasi singolo numero intero inserisco mi aggiunge uno al secondo termine, quindi "Inserisci l'elemento (0,2). Se inserisco due numeri affiancati mi escono "Inserisci l'elemento (0, 3) Inserisci l'elemento (0,4)". Se ne metto 3 mi escono tre inserisci l'elemento e cosi via.
  • Re: [RISOLTO] Programma sulle matrici

    Quindi c'è un problema nelle for. Le hai controllate? Io leggo

    for (int j = 0; i < colonne; j++) {
  • Re: [RISOLTO] Programma sulle matrici

    Ok primo problema modificato.
    Comunque sempre lo stesso mi fa.
  • Re: [RISOLTO] Programma sulle matrici

    Cioè? Mostra dei dati in input e cosa arriva in output
  • Re: [RISOLTO] Programma sulle matrici

    Come ti ho detto prima. Ecco il programma eseguito (I numeri a fianco indicano come avvengono i procedimenti in sequenza)

    1 - Numero di righe (max 100): // Inserisco il numero di righe

    2 - Numero di colonne (max 100): // Inserisco il numero di colonne

    3 - Inserisci l'elemento (0, 0): // Se inserisco solo un numero intero (ad esempio 4) mi esce: "Inserisci l'elemento (0, 1). Qualsiasi singolo numero intero inserisco mi aggiunge uno al secondo termine, quindi "Inserisci l'elemento (0,2). Se inserisco due numeri affiancati mi escono "Inserisci l'elemento (0, 3) Inserisci l'elemento (0,4)". Se ne metto 3 mi escono tre inserisci l'elemento e cosi via.
  • Re: [RISOLTO] Programma sulle matrici

    Esattamente alla prima domanda (numero righe) cosa rispondi ? E alla seconda (numero colonne) ?
  • Re: [RISOLTO] Programma sulle matrici

    Inserisco un numero intero

    es.

    Numero righe: 4
    Numero colonne: 3
  • Re: [RISOLTO] Programma sulle matrici

    Ok ... se faccio lo stesso ed inserisco valori in sequenza ottengo



    Numero di righe (max 100): 4
    Numero di colonne (max 100): 3
    Inserisci l'elemento (0, 0): 1
    Inserisci l'elemento (0, 1): 2
    Inserisci l'elemento (0, 2): 3
    Inserisci l'elemento (1, 0): 4
    Inserisci l'elemento (1, 1): 5
    Inserisci l'elemento (1, 2): 6
    Inserisci l'elemento (2, 0): 7
    Inserisci l'elemento (2, 1): 8
    Inserisci l'elemento (2, 2): 9
    Inserisci l'elemento (3, 0): 10
    Inserisci l'elemento (3, 1): 11
    Inserisci l'elemento (3, 2): 12

    1 2 3
    4 5 6
    7 8 9
    10 11 12
  • Re: [RISOLTO] Programma sulle matrici

    Ora si!! Grandee!!

    Quindi se ho capito bene cout.width(7) indica la distanza nella "tabella" tra i vari numeri?
  • Re: [RISOLTO] Programma sulle matrici

    Ora si? Ma che è cambiato? Boh

    Width è la larghezza usata per ogni campo in cui viene scritto un numero
  • Re: [RISOLTO] Programma sulle matrici

    Ok grazie modifico il post con risolto
Devi accedere o registrarti per scrivere nel forum
12 risposte