PDA

View Full Version : [c++] triangolo di tarataglia con il comando cout


max0123
30-01-2011, 18:21
Ciao a tutti

volevo chiedere un piccolo aiuto o consiglio riguardo il comando cout.
io ho scritto un programma in c++ che mi stampa a video il triangolo di tartaglia,
solo che con il comando cout viene male mentre se uso il comando printf viene bene.
il codice è questo:

#include <iostream>
#include <cstdlib>
using namespace std;
//--------dichiarazioni--------
const int dim=10;
typedef int matrice[dim][dim];
//---------------------------
int main()
{
//---------------------------
matrice m1;
int i,j,n;
//--------dimensione matrice-------------------
do
{
cout<<"Inserisci la dimensione delle matrici"<<endl;
cin>>n;
}
while(n>dim);
cout<<endl;
//-------inizializzazione prima riga-----
m1[0][0]=1;
for(j=1;j<n;j++)
m1[0][j]=0;
//-------calcolo le righe successive-----
for(i=1;i<n;i++)
{
m1[i][0]=1;
for(j=1;j<n;j++)
m1[i][j]=m1[i-1][j-1]+m1[i-1][j];
}
//-------------lettura--------------------
for(i=0;i<n;i++)
{
for(j=1;j<(n);j++)
cout<<" ";
for(j=0;j<=i;j++)
cout<<m1[i][j]<<" ";//comando cout(viene male)
//printf("%4d",m1[i][j]);//comando printf(viene bene)
cout<<endl;
}
//----------------------------------------
system("pause");
return 0;
}

.................................................................................................

ecco le immagini a confronto:


****************con cout************

Inserisci la dimensione delle matrici
7

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
Premere un tasto per continuare . . .

**********************************

dovrebbe essere con cout, cioè con printf viene cosi però io vorrei lo stesso effetto ma con il comando cout e non con printf

****************versione esatta****************

Inserisci la dimensione delle matrici
7

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
Premere un tasto per continuare . . .

********************************************
Ringrazio anticipatamente chiunque mi possa dare una mano non so più come risolverlo.

max0123
30-01-2011, 18:32
scusate ho sbagliato ha scrive la versione esatta.
cmq è questa

grazie.