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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Bucle controlado por bandera
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Bucle controlado por bandera  (Leído 4,004 veces)
Katerina Dobreva

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Bucle controlado por bandera
« en: 2 Noviembre 2014, 14:58 pm »

Tengo que hacer un bucle controlado por bandera que muestre los números introducidos por teclado en orden creciente. No pide un nuevo número si tecleas uno que no esté ordenado. ¿Cómo puedo corregirlo? Gracias de antemano.

#include<stdio.h>
#include<stdlib.h>

int main ()
{
int a, k;

printf("\n\nEscribe un numero en orden creciente:\n\n");
k=a;
do
{
scanf("%d", &a);
}
while (a>k);

system ("pause");
return 0;
}


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Bucle controlado por bandera
« Respuesta #1 en: 2 Noviembre 2014, 16:37 pm »

El programa que muestras no imprime números, los lee mientras el numero introducido sea mayor que el anterior, el primer error es no darle un valor inicial a la variable "a" con lo cual esta inicia con un valor no definido, mejor conocido como "basura". El segundo es colocar la sentencia que resguarda el valor anterior "k = a;" fuera del bucle.

La solución mas sencilla es leer el primer valor fuera del bucle y los demás dentro de el:
Código
  1. puts("Escribe numeros en orden ascendente");
  2. scanf("%d", &a);
  3.  
  4. do {
  5.   k = a;
  6.   scanf("%d", &a);
  7. }while (a > k);

En cuanto a la impresión de los números el enunciado es vago ya que no indica si simplemente deben imprimirse de inmediato o almacenarse en un array.

Un saludo


En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Katerina Dobreva

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Bucle controlado por bandera
« Respuesta #2 en: 2 Noviembre 2014, 16:49 pm »

Muchísimas gracias. ¡Ya me sale!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda (Parar bucle con dato boolean) [bucle while]
Java
Dem0ny 5 18,296 Último mensaje 17 Diciembre 2008, 17:43 pm
por Dem0ny
Chemtrails cambio climático controlado.(conspiració cambio climático controlado) « 1 2 »
Foro Libre
usuario oculto 12 9,967 Último mensaje 21 Enero 2011, 00:33 am
por Oblivi0n
Crear una bandera
Diseño Gráfico
Attaque77 2 6,419 Último mensaje 22 Marzo 2011, 16:50 pm
por peib0l
Duda con la bandera de desbordamiento
ASM
.:UND3R:. 6 6,577 Último mensaje 22 Noviembre 2011, 04:16 am
por .:UND3R:.
Duda con la bandera [z]
Ingeniería Inversa
chEEtos 8 5,084 Último mensaje 30 Noviembre 2011, 01:30 am
por chEEtos
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines