elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ciclos anidados
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ciclos anidados  (Leído 3,803 veces)
naiken

Desconectado Desconectado

Mensajes: 6



Ver Perfil
Ciclos anidados
« en: 5 Enero 2019, 22:33 pm »

Hola buenas tardes, empecé a practicar sobre programación y me topo con este programa:

Utilizando ciclos anidados generar las siguientes parejas de enteros:

0   1
1   1
2   2
3   2
4   3
5   3
6   4
7   4
8   5
9   5

Y no me lo genera :/ estuve pensando bastante tiempo y nada ...
Aquí está mi código:

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. main()
  6. {
  7.    int i,j;
  8.  
  9.    for(i=0;i<=9;i++)
  10.    {
  11.        cout<<"\t"<<i<<" ";
  12.  
  13.  
  14.        for(j=1;j<=5;j++)
  15.        {
  16.            cout<<" "<<j<<endl;
  17.        }
  18.    }
  19.  
  20.  
  21.  
  22. }

Soy nueva en esto y por supuesto que lo intento pero por más que analizo no doy... Si alguien puede apoyarme en qué error tengo o algo lo agradecería mucho. 


En línea

Beginner Web


Desconectado Desconectado

Mensajes: 634


youtu.be/0YhflLRE-DA


Ver Perfil
Re: Ciclos anidados
« Respuesta #1 en: 6 Enero 2019, 00:06 am »

Algo asi?
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. main()
  6. {
  7. int k=0, l=1;
  8. for(int i=0; i<1; i++){
  9. for (int j=0; j<=99999; j++){
  10. cout<<j<<","<<i+l<<endl;
  11.   k++;
  12.   if(k==2){
  13.   l+=1;
  14.   k=0;
  15.   }
  16. }
  17.   }
  18. }
  :huh:


« Última modificación: 6 Enero 2019, 02:44 am por Beginner Web » En línea

7w7
MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Ciclos anidados
« Respuesta #2 en: 6 Enero 2019, 00:16 am »

No se puede realizar con ciclos anidados pues cada vez que el ciclo exterior avanza una vez el interior hace todo el recorrido.

Esto tiene cara de un único ciclo con dos variables.
En línea

naiken

Desconectado Desconectado

Mensajes: 6



Ver Perfil
Re: Ciclos anidados
« Respuesta #3 en: 9 Enero 2019, 07:16 am »

Algo asi?
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. main()
  6. {
  7. int k=0, l=1;
  8. for(int i=0; i<1; i++){
  9. for (int j=0; j<=99999; j++){
  10. cout<<j<<","<<i+l<<endl;
  11.   k++;
  12.   if(k==2){
  13.   l+=1;
  14.   k=0;
  15.   }
  16. }
  17.   }
  18. }
  :huh:

Siiiiii!!!! el único detalle de tu código era la limitante de i , en vez de 99999 es 9 que es hasta donde llegará la serie :D te agradezco mucho !!!!! GRACIAS!!!!
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Ciclos anidados
« Respuesta #4 en: 9 Enero 2019, 09:10 am »

Pero aquí lo de bucle anidado es porqué hay dos for, pero el del i es cómo si no existiera.

Lo vemos
Código
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.    int k=0, l=1;
  5.    for (int j=0; j<=9; j++) {
  6.        printf("%d,%d\n", j, l);
  7.        k++;
  8.        if(k==2) {
  9.            l++;
  10.            k=0;
  11.        }
  12.    }
  13. }
En línea

CalgaryCorpus


Desconectado Desconectado

Mensajes: 323


Ver Perfil WWW
Re: Ciclos anidados
« Respuesta #5 en: 9 Enero 2019, 14:58 pm »

Una posibilidad de solucion, alternativa a lo que ya se ha dicho, es tomar el numero de la segunda columna para iterar, y hacer unroll del primer ciclo, asi:

Código
  1. int main() {
  2.    int i = 0;
  3.    for (int j = 1; j <= 5; j++) {
  4.        printf("%d,%d\n", i++, j);
  5.        printf("%d,%d\n", i++, j);
  6.    }
  7. }
  8.  
En línea

Aqui mi perfil en LinkedIn, invitame un cafe aqui
CalgaryCorpus


Desconectado Desconectado

Mensajes: 323


Ver Perfil WWW
Re: Ciclos anidados
« Respuesta #6 en: 9 Enero 2019, 15:02 pm »

Y usando el primer numero, sin variables adicionales:

Código
  1. int main() {
  2.    for (int i = 0; i <= 9; i++) {
  3.        printf("%d,%d\n", i, (i+2) / 2);
  4.    }
  5. }
  6.  
En línea

Aqui mi perfil en LinkedIn, invitame un cafe aqui
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema if's anidados
Programación C/C++
m@o_614 1 2,096 Último mensaje 27 Diciembre 2012, 03:45 am
por rir3760
Div anidados
Desarrollo Web
mapers 2 2,586 Último mensaje 18 Septiembre 2013, 07:24 am
por mapers
JdateChooser anidados
Java
FISH in the house 0 1,695 Último mensaje 21 Febrero 2017, 16:43 pm
por FISH in the house
Ciclos anidados
Programación C/C++
mikeluna 3 2,440 Último mensaje 14 Agosto 2017, 12:25 pm
por ivancea96
como hacer este barco con ciclos anidados ayuddaaaaa por favor
Programación C/C++
silfer_1908 2 2,725 Último mensaje 30 Septiembre 2018, 14:08 pm
por 3n31ch
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines