Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Darkenes en 10 Octubre 2010, 23:26 pm



Título: Ayuda Con Dos programitas MUY simples u.u
Publicado por: Darkenes en 10 Octubre 2010, 23:26 pm
Buenas tardes gente
les escribo porqe tengo un dilema que la verdad hasta ami me sorprende
ya que llevo algunos meses programando en C++ y casi nunca habia tenido problemas solo que el dia de hoy al repasar unos apuntes me encontre con dos ejercicios muy simples los cuales no puedo realizar... a continuacion se los presento:

1.- Imprime los nueros del 0 al -100 (negativos)

    CODIGO
      
Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <conio.h>
  4. #include <iostream>
  5. using namespace std;
  6.  
  7. int main (void)
  8. {
  9.    int i=0;
  10.    cout<<"Te imprimire los numeros del 0 al -100"<<endl;
  11.    for(i=0; i<101; i--)
  12.  {
  13.   cout<<"\nNumero :"<<i<<"";
  14.  }
  15.  getch();
  16. }

El dilema esta en que para el ciclo for aunque le ponga -101 no lo detecta y no recuerdo como solucionar este problema...


2.- Pide un caracter y el programa se cierra o se pausa hasta que ingreses Y o N(mayuscula o minuscula)


    CODIGO
      
Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<iostream>
  4. using namespace std;
  5. int main (void)
  6. {
  7.    int i;
  8.    char carac;
  9.  
  10.    cout<<"Escribe tu caracter"<<endl;
  11.    cin>>carac;
  12.    while (carac!=89||carac!=121||carac!=78||carac!=110)
  13. {  
  14.  
  15.    cout<<"\nTu caracter es:"<<carac<<""<<endl;
  16.    getch();
  17.  
  18. }
  19.  getch();
  20.  return 0;
  21. }

En este no se como valla acomodado el ciclo for para que repita la accion de pedir el caracter...tambien aunqe se ponga el caracter que se ponga se queda trabado y la verdad no se cual pueda ser el error.

De antemano un saludo y gracias.


Título: Re: Ayuda Con Dos programitas MUY simples u.u
Publicado por: xassiz~ en 10 Octubre 2010, 23:34 pm
Utiliza el GeSHi al postear códigos.


Código
  1. for(i=0; i<101; i--)
  2. {
  3.     cout<<"\nNumero :"<<i<<"";
  4. }
  5.  

Fijate en el for:
Citar
-Desde cero.
-Mientras i sea menor que 101
-Restar i

Si restas a cero, siempre va ser menor que 101 ;D

Puedes arreglar eso o mostrar los números del 0 al 100 y en el cout poner el signo negativo.


En el segundo utiliza getchar() dentro de la condición del while.


Título: Re: Ayuda Con Dos programitas MUY simples u.u
Publicado por: do-while en 11 Octubre 2010, 00:17 am
¡Buenas!

No se trata de recordar como se hace un programa, se trata de pensar como se hace. Ya te han indicado como puedes resolver el primero. En el segundo tienes un problema con la logica del programa. Repasa los aspectos logicos del programa y encontraras el error.

¡Saludos!


Título: Re: Ayuda Con Dos programitas MUY simples u.u
Publicado por: Darkenes en 11 Octubre 2010, 01:16 am
perfecto...muchas gracias por las respuestas :D y disculpen por las molestias
saludos!


Título: Re: Ayuda Con Dos programitas MUY simples u.u
Publicado por: WestOn en 11 Octubre 2010, 03:22 am
Buenas, ami me funciona así:
Código:
for (i=-100;i<0;i++)
//escribe i
...

Saludos ;)


Título: Re: Ayuda Con Dos programitas MUY simples u.u
Publicado por: xassiz~ en 11 Octubre 2010, 15:29 pm
Buenas, ami me funciona así:
Código:
for (i=-100;i<0;i++)
//escribe i
...

Saludos ;)
Se supone que necesita del 0 al -100, no del -100 al cero :P


Título: Re: Ayuda Con Dos programitas MUY simples u.u
Publicado por: cbug en 11 Octubre 2010, 19:12 pm
Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5. int i;
  6. for(i = 0; i <= 100; i++)
  7. printf(" |%d| ", i * (-1));
  8. printf("\n");
  9. for(i = 0; i >= -100; i--)
  10. printf(" |%d| ", i);
  11. return 0;
  12. }


Título: Re: Ayuda Con Dos programitas MUY simples u.u
Publicado por: WestOn en 11 Octubre 2010, 19:48 pm
Se supone que necesita del 0 al -100, no del -100 al cero :P
:xD Es cierto que fallo, esque era tarde jeje.

Aquí te dejo el code:
Código
  1. #include <stdio.h>
  2.  
  3. main(){
  4.   int i;
  5.      for (i=0;i>-101;i--)
  6.      printf("%d",i);
  7. // tu código...
  8. }

Saludos ;)

PD: Vaya que tiempo mas preciado he perdido a lo tonto...había leido solo el primer for de cbug...xD