Dev - C++ - Imprime los triángulos indicados en la Interface de usuario

 
Vista:

Imprime los triángulos indicados en la Interface de usuario

Publicado por Lesli (2 intervenciones) el 30/03/2021 05:35:50
Me pidieron hacer un programa que imprima triángulos
Yo realice este programa:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/* P13EAsterisc1.CPP
*/
#include"gotoxy.h"
#include<cstring>
#include<iostream>
#define CEN 40
#define T1 "P13Asterisc1.CPP"
#define T2 "\t ALIMENTAR NUMERO DE RENGLONES <0<n<=30 : "
#define T3 "\t ALIMENTAR CARACTER: "
#define T4 "Otro Proceso (s/n)?: "
using namespace std;
int Ent();
void Proc(int);
char Sal();
int main(void){
int nr;
char opc;
while(1){
nr=Ent();
Proc(nr);
opc=Sal();
if(opc=='n')break;
}
return 0;
}
int Ent(){
int r;
system("cls"); //clrscr();
do{
gotoxy((80-strlen(T1)-strlen(T2)-2)/2,1);
cout<<T1<<T2; cin>>r;
}while(!(r>0 && r<=30));
return r;
}
void Proc(int nr){
int i,j;
char c;
int num=1;
for(i=1;i<=nr;i++) {
for(j=1;j<=i;j++)
//if(num>9)
cout<<num++%10;
//else cout<<num;
cout<<"\n";
//num++;
}
num=0;
for(int ter=1;ter<=nr;ter++)num=num+ter;
for(i=nr;i>0;i--) {
for(j=1;j<=i;j++){
//if(num>=10)
cout<<num%10;
//else cout<<num;
num--;
}
cout<<"\n";
}
}
char Sal(){
char s;
do{
gotoxy((80-strlen(T4)+2)/2,24);
cout<<T4; cin>>s;
cout<<"\n";
s=tolower(s);
}while(!(s=='s'||s=='n'));
return s;
}
El problema es que no imprime bien los triángulos
loa imprime asi
1
23
456
654
32
1
y deberia imprimirlos así
1 654
23 32
654 1
Les agradecería si me orientarán, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder