No se que condición pongo mal, pero siempre me imprime una cifra más de la que quiero. Os pongo el codigo fuente, a ver si sabéis que es lo que hago mal.
Gracias de antemano.
// TRIANGULO DE FLOYD en C++, David JIménez Marco
#include<iostream>
using namespace std;
int main()
{
cout<< " TRIANGULO DE FLOYD,David Jimenez Marco,grado en Ingenieria Informatica,UDIMA";
cout<< "*******************************************************************************";
cout<< endl;
//Introducimos las variables
int k=0,i,linea=1,ultimo=1;
// Leemos el número de filas del triangulo de Floyd
cout<<"Introduce el numero de filas:";
cin >> i;
cout<< endl;
// En la iteracion, indicamos cuando tenemos que hacer el salto de linea
do {k++;
if (k>ultimo)
{
linea=linea+1;
ultimo=ultimo+linea;
cout<<endl;
}
cout<< k ;
}while (linea<=i);
cout << endl;
system("pause");
}