Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: sandra84 en 08 de Febrero 2013, 17:41
-
hola, soy nueva en el grupo, necesito aprender espero me puedan ayudar, necesito, empezar un diagrama de flujo, que me me diga los nombre de los numeros, de unidades, decenas centenas, millar, mil de millar
-
Hola Sandra, hemos separado el mensaje en un nuevo tema para no mezclarlo con otra conversación. Saludos.
-
Hola! Antes de plantear el diagrama de flujo tienes que saber cómo vas a plantear la solución del problema. A mí se me ocurre una cosa, pero depende de las restricciones con las que trabajes.
Voy a empezar con el planteamiento:
Pedir número al usuario
Seleccionar el caso
caso número <10 entonces numeroCifras = 1
caso número /10 >=1 y número/10 <=10 entonces numeroCifras = 2
caso número/100 >=1 y número/100 <=10 entonces numeroCifras = 3
caso número/1000 >=1 y número/1000 <=10 entonces numeroCifras = 4
caso número/10000 >=1 y número/10000 <=10 entonces numeroCifras = 5
crear el array nombre(5)
nombre(1) = "Unidades"
nombre(2) = "Decenas"
nombre(3) = "Centenas"
nombre(4) = "Millar"
nombre(5) = "Decenas de millar"
Si ingreso 225, el número dividido entre 10 es mayor que 1 pero no menor de 10, no se cumple el primer ni el segundo caso. El número dividido entre 100 es 2,25, es mayor que uno y al dividirlo entre 100 es menor que 10, se cumple el tercer caso y ya hemos obtenido que el número de cifras es 3.
A su vez ya sabemos que la última yendo desde el final hacia delante del número la última cifra es nombre(1) = Unidades, la segunda cifra es decenas y la tercera centenas.
Me falta pensar cómo continuar pero creo que ya estaría enfocado :)
-
ok, mil gracias!!! es de gran ayuda
-
De hecho estamos trabajando con DEV c++ , y si el chiste es que al poner 100 nos aparezca en pantalla cien. 999 e imprima su nombre
-
#include <stdio.h>
#include <conio.h>
int main ()
{
int i, j, x, aux, num[10];
/* recorremos todos los elementos, desde el primero hasta el ante último (ya que el último quedará siempre en la última posición) */
printf ("introduce los 10 numeros: \n");
for (i=1; i<=10; i++)
{
printf("\n");
scanf("%d", &num );
}
/* comenzamos a buscar desde el próximo elemento del actual (i+1), y vamos hasta el final */
for(x=1; x<=9; x++)
{
for(j=x+1; j<10; j++)
{
/* comparamos, si el primero es mayor, debe ir al final, por lo que intercambiaremos los valores */
if (num[j]<num
{
aux=num
num
num[j]=aux;
}
}
}
printf ("\n Los numeros son:\n");
for(i=1; i<=10; i++)
{
printf ("%i\n", num);
}
printf("Presiona cualquier tecla para terminar");
getch();
-
Hola Sandra, para pegar código debes hacerlo cuando estés escribiendo el mensaje pulsando el icono # que aparece en el editor del foro y pegando el código entre las etiquetas code y /code que te aparecerán entre corchetes, si no lo haces así no sale bien
Ejemplo:
Aquí va el código
Otra línea
Otra línea
#include <stdio.h>
#include <conio.h>
int main ()
{
int i, j, x, aux, num[10];
etc
etc
Saludos.
-
ok, gracias intentare!!
sorry!
-
¿puedes poner el código que pusiste antes en este hilo pero usando el formato de código?
-
#include <stdio.h>
#include <conio.h>
int main ()
{
int i, j, x, aux, num[10];
/* recorremos todos los elementos, desde el primero hasta el ante último (ya que el último quedará siempre en la última posición) */
printf ("introduce los 10 numeros: \n");
for (i=1; i<=10; i++)
{
printf("\n");
scanf("%d", &num [i]);
}
/* comenzamos a buscar desde el próximo elemento del actual (i+1), y vamos hasta el final */
for(x=1; x<=9; x++)
{
for(j=x+1; j<10; j++)
{
/* comparamos, si el primero es mayor, debe ir al final, por lo que intercambiaremos los valores */
if (num[j]<num[x])
{
aux=num[x];
num[x]=num[j];
num[j]=aux;
}
}
}
/* imprimir la tabla ordenada */
printf ("\n Los numeros son:\n");
for (i=1; i<=10; i++)
{
printf("[%d]", num[i]);
}
printf("\n");
getch();
return 0;
}