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.
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.