Autor
|
Tema: Duda bucles for anidados (Leído 2,191 veces)
|
ArnauCC
Desconectado
Mensajes: 4
|
Hola buenas a todos, tengo que hacer un ejercicio usando solamente dos bucles for y condicionales. El ejercicio consiste de lo siguiente: El usuario introduce un numero, y tiene que mostrarse una figura así: Numero: 4 * ** *** **** *** ** * Llevo horas intentandolo y no consigo hacer la parte decreciente bien, alguien puede ayudarme?
|
|
|
En línea
|
|
|
|
AlbertoBSD
Programador y
Moderador Global
Desconectado
Mensajes: 3.705
🏴 Libertad!!!!!
|
Pues lo hice con While, pero si entienes como se forman estos, lo podras migrar facilmente a for #include<stdio.h> #include<stdlib.h> int main() { char temporal[20]; int N,i,j,k; fgets(temporal ,20,stdin ); k=1; i = 0; while(i < (N+ (N-1))) { j = 0; while(j < ((i<N)? (i+1):(N-k) )) { j++; } k+=(i>=N); i++; } }
Saludos!
|
|
|
En línea
|
|
|
|
ArnauCC
Desconectado
Mensajes: 4
|
Tu codigo funciona perfectamente, pero estamos en un nivel muy inicial de c++ y no hemos trabajado esas funciones, asi que no puedo entregarlo asi
|
|
|
En línea
|
|
|
|
ArnauCC
Desconectado
Mensajes: 4
|
El ejercicio es pasar este codigo que he hecho a uno que solo use dos bucles for: #include <iostream> using namespace std;
void main() { setlocale(LC_CTYPE, "Spanish"); int num; cout << "Número: "; cin >> num;
for (int i = 1; i <= num; i++) { for (int j = 1; j <= i; j++) { cout << "*"; } cout << endl; } for (int i = num; i >= 1; i--) { for (int j = 1; j <= i; j++) { cout << "*"; } cout << endl; }
system("pause"); }
|
|
|
En línea
|
|
|
|
AlbertoBSD
Programador y
Moderador Global
Desconectado
Mensajes: 3.705
🏴 Libertad!!!!!
|
Nivel avanzado de C? Tengo 15 años programando en C y C++, y nunca he visto ni se, para que se utiliza la funcion "setlocale".... ni mi interesa saber para que es. #include<iostream> using namespace std; int main() { int N,i,j,k; cout<< "Cantidad: "; cin>>N; k=1; i = 0; while(i < (N+ (N-1))) { j = 0; while(j < ((i<N)? (i+1):(N-k) )) { cout<<'*'; j++; } k+=(i>=N); cout<<'\n'; i++; } }
Todavia lo quieres con FOR? #include<iostream> using namespace std; int main() { int N,i,j,k; cout<< "Cantidad: "; cin>>N; k=1; for(i = 0; i < (N+ (N-1)); i++,k+=(i>=N) ) { for(j = 0; j < ((i<N)? (i+1):(N-k) );j++) { cout<<'*'; } cout<<'\n'; } }
|
|
« Última modificación: 9 Noviembre 2018, 18:57 pm por AlbertoBSD »
|
En línea
|
|
|
|
ArnauCC
Desconectado
Mensajes: 4
|
Ese codigo me funciona mal, al poner por ejemplo un 5 hace esto: * ** *** **** ***** *** ** *
falta una linea despues que llegue al maximo de asteriscos
|
|
|
En línea
|
|
|
|
AlbertoBSD
Programador y
Moderador Global
Desconectado
Mensajes: 3.705
🏴 Libertad!!!!!
|
Hola ArnauCC, el codigo lleva un error para que tu lo corrigas, ya se te dio un codigo que funciona y uno que no, si realmente te interesara aprender, estarias investigando. que hace o que no hace las partes del codigo que no entiendes, te aseguro que asi aprenderás mas.
Saludos
|
|
|
En línea
|
|
|
|
zonahurbana
Desconectado
Mensajes: 178
RS, JC.
|
Muy buena sugerencia Alberto. 15 años es mucha experiencia... creo que sólo usé C++ unos 5 meses, pero es todo un gusto que haya sido el 1er lenguaje que vi.
|
|
|
En línea
|
Nunca dejar de aprender es importante, más allá del ritmo que se siga ...
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
problema if's anidados
Programación C/C++
|
m@o_614
|
1
|
2,098
|
27 Diciembre 2012, 03:45 am
por rir3760
|
|
|
Div anidados
Desarrollo Web
|
mapers
|
2
|
2,591
|
18 Septiembre 2013, 07:24 am
por mapers
|
|
|
Duda con respecto al uso de bucles para extraer datos de un fichero.
Programación C/C++
|
Lagged Player
|
0
|
1,772
|
25 Agosto 2017, 00:44 am
por Lagged Player
|
|
|
Angular 4 Array anidados duda
Desarrollo Web
|
alexis33de
|
0
|
1,288
|
31 Enero 2019, 15:03 pm
por alexis33de
|
|
|
DOS BUCLES FOR ANIDADOS : DUDA
Programación C/C++
|
snoopty
|
2
|
2,690
|
27 Septiembre 2021, 13:43 pm
por K-YreX
|
|