• Lunes 16 de Diciembre de 2024, 16:34

Autor Tema:  problemon novato  (Leído 1060 veces)

benne

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
problemon novato
« en: Martes 20 de Enero de 2009, 16:55 »
0
este año e empzado a programar y no tengo ni idea  y me esta costando mucho llevar a cabo los codigos

pero hoy me han dado una practica para traerla hecha para el martes y es para nota y nose ni por dodne cojerla aber si vostros me podeis  enseñar el codigo o vuestra forma de acerla:

practica!

-se rrecibiran 10 numeros enteros y se almacenaran en un array
-se recibiran dos numeros enteros que constituiran el limite max y limite min
-se  recibiran un entero positivo que indicara el numero de intentos
-los numeros almacenados deberan estar comprendidos entre el limite max y limite min
-se filtraran  numeros que no pertenezcan a dicho itnervalo, pero para ello se permitira un maximo de intentos indicados
si es el primer numero entonces e almacenara 0
para sucesivos numeros se almacenara el inmediato anterior
-tras obtener los 10 numeros se ordenadarn de mayor a menor
-se debera imprimir por pantalla:
-los enteros del array en una misma lina y separados por espacios
-el numero de fallos
se ofrecera la posibilidad de continuar

os pidoa ydua porque estoy muy perdido.. no por vagancia
de este ejercicio aunk aprezca mentira solose acer lo de ordenar los numero de mayor a menor.

y lo recibir 10 numeros y almacenarlos en un array
seria asi:
int arr[10]
siendo arr la variable
o asi tampoco es?

lo demas es que no tengo ni idea
y solo queria vuestras opiniones y como lo ariais sin PUNTEROS.. porque no los hemos dado
espero que me ayudeis lo que podais.. asique gracias :P

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: problemon novato
« Respuesta #1 en: Martes 20 de Enero de 2009, 17:14 »
0
Primero, que sepas que aquí nadie te va a hacer la práctica, en todo caso se te darán consejos  ^_^

Cita de: "benne"
-se rrecibiran 10 numeros enteros y se almacenaran en un array
Cita de: "benne"
int arr[10];
Cita de: "benne"
y como lo ariais sin PUNTEROS
Efectivamente, aunque arr es un puntero (los arrays son punteros :P), pero bueno supongo que te referirás al operador *.

Cita de: "benne"
-se rrecibiran

Échale un vistazo a la función scanf().

Cita de: "benne"
-los numeros almacenados deberan estar comprendidos entre el limite max y limite min
Simple comparación >= y <=

Cita de: "benne"
se filtraran numeros que no pertenezcan a dicho itnervalo, pero para ello se permitira un maximo de intentos indicados
Bucle con condición <= número máximo de intentos

Cita de: "benne"
-se debera imprimir por pantalla:
Función printf()

Bueno, ve haciendo algo y ya me cuentas. Y por favor, el código con etiqueta y razonablemente formateado ;)

¡Salud y suerte!

benne

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: problemon novato
« Respuesta #2 en: Martes 27 de Enero de 2009, 16:47 »
0
aki esta el codigo del programa pero q me falta algo pork me da error

// practica3new.cpp: define el punto de entrada de la aplicación de consola.
//


#include "stdafx.h"

int _tmain(){



/*Variables*/
  int max, min,intentos, fin, j, i,k,l,temp;
  int v[10];

/*bucle principal, terminará cuando fin=1*/
 while(!fin){
    /*Inicializaciones*/
    temp=0;
    fin=0;
    k=0;
    i=0;
    j=0;
    l=0;
    printf("introduce el valor máximo del intervalon");
    scanf("%d", &max); //guardamos el valor máximo en max

    printf("introduce el valor mínimo del intervalon");
    scanf("%d",&min); //guardamos el mínimo en min

    printf("introduce el número máximo de intentosn");
    scanf("%d",&intentos);
 /*mientras el array no tenga 10 elementos (j<10) y el número de intentos no
sea mayor del que toca (k<intentos) seguimos metiendo datos.*/
    while(j<10&&k<intentos){
       printf("introduce el elemento %d del vector n", j);
       scanf("%d",&i);
       if(i>max||i<min){
       /*Si el valor introducido está fuera del intervalo:*/
          if(j==0){
             /*Si es el primer elemento, le metemos un 0*/
             v[j]=0;
          }
          else{
             /*Si nos, le metemos el elemento anterior*/
             v[j]=v[j-1];
          }
          /*incrementamos el contador de intentos K*/
          k=k+1;      
       }
       else{
       /*Si el valor introducido está dentro del intervalo, lo metemos al
array*/
          v[j]=i;
       }
       /*incrementamos el contador de elementos del array J*/
       j=j+1;
    }
    /*Algoritmo de ordenación de vectores bubblesort (o sea, que ordena el
array)*/
    for (i=1; i<j; i=i+1){
       for (l=0 ; l<j - 1; l=l+1){
          if (v[l] > v[l+1]){
                    temp = v[l];
                    v[l] = v[l+1];
                    v[l+1] = temp;
          }
       }
    }
    /*Empezamos a imprimir cosas*/
    printf("nElementos del vector:");
    for(i=0;i<j;i=i+1){
       /*imprimos los J elementos que hemos metido en el array*/
       printf("nv[%d] = %d ",i, v);  
    }
    /*imprimimos el número de intentos realizados en una nueva linea*/
    printf("nNúmero de intentos: %dn", k);

    /*y ofrecemos la oportunidad de seguir:*/
    printf("desea terminar? (Si- cerrar, No - continuar)");
    scanf("%d", &fin);
  }
 
  getchar ();
  return 0;
}


el error q me ad esq dice q la variable fin  is being used without being initialized
y estoy mirando y nose pork sale eso

me señala en la linea
del
while (!fin){
mirarmelo aber q pasa

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: problemon novato
« Respuesta #3 en: Miércoles 28 de Enero de 2009, 09:26 »
0
Cita de: "benne"
while (!fin){
No inicializas el valor de fin. Cuando comienza el programa, fin tiene un valor indeterminado, por tanto no pueeds saber cómo se va a comportar el programa. Dale un valor 0 antes del while.

Ah, y es la última vez que miro tu código si no usas las etiquetas de código para que se entienda algo.

Salud