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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


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

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Necesito una ayuda con este programa
« en: 14 Febrero 2011, 12:12 pm »

La idea es un programa que lea x números (en este ejemplo son 10), que recibe del usuario (números entre 1 y 10) y al final del programa pedirá al usuario que diga que número quiere ver y le mostrará cuantas veces se repite.

Código:
#include <iostream>

const int MAXARRAY = 5;
using namespace std;


int miFuncion (int numero , int contador);

struct contNumeros
{
int numero;


} contNumeros [MAXARRAY];


//:::::::::::::::::::::::::::::::::::::::::::::::::::


int main()
{
//CONTADORES:::::::::::::::::::::::::::::::
int contador1 = 0;
int contador2 = 0;
int contador3 = 0;
int contador4 = 0;
int contador5 = 0;
int contador6 = 0;
int contador7 = 0;
int contador8 = 0;
int contador9 = 0;
int contador10 = 0;
//:::::::::::::::::::::::::::::::::::::::::::
int x=0;


cout << "Introduce " << MAXARRAY << " números: " << endl;


int i = 0;
while (i < MAXARRAY)
{
cout << "Número " << i + 1 << " : ";
{
cin >> contNumeros[i].numero;

}

if (contNumeros[i].numero < 1 || contNumeros[i].numero > 10)
{
cout << "Introduzca números entre el 1 y el 10" << endl;
}
else
i++;
}
//::::::::::::::::::::::::::


cout << "Introduzca el número que quiere ver: ";
cin >> x;
if (x == 1)
{
cout << "El número 1 se repite: " << contador1 << " veces." << endl;
}
if (x == 2)
{
cout << "El número 2 se repite: " << contador2 << " veces." << endl;
}
if (x == 3)
{
cout << "El número 3 se repite: " << contador3 << " veces." << endl;
}
if (x == 4)
{
cout << "El número 4 se repite: " << contador4 << " veces." << endl;
}
if (x == 5)
{
cout << "El número 5 se repite: " << contador5 << " veces." << endl;
}
if (x == 6)
{
cout << "El número 6 se repite: " << contador6 << " veces." << endl;
}
if (x == 7)
{
cout << "El número 7 se repite: " << contador7 << " veces." << endl;
}
if (x == 8)
{
cout << "El número 8 se repite: " << contador8 << " veces." << endl;
}
if (x == 9)
{
cout << "El número 9 se repite: " << contador9 << " veces." << endl;
}
if (x == 10)
{
cout << "El número 10 se repite: " << contador10 << " veces." << endl;
}


return 0;
}


int miFuncion (int numero, int contador)
{

int final = 0;
int i = 0;
while (i<MAXARRAY)
{
contNumeros[i].numero/1;
if (final == 1)
  {
  contNumeros[i].contador ++;
  }
 

    }
}

Lo que quería hacer era que en la función coja los valores introducidos por el usuario y los divida a todos entre los números del 1 al 10 cada vez que de como resultado 1 se sumara 1 a su contador, el problema es que no soy capaz de que el programa me haga esa división


En línea

Shut

Desconectado Desconectado

Mensajes: 7



Ver Perfil
Re: Necesito una ayuda con este programa
« Respuesta #1 en: 14 Febrero 2011, 21:31 pm »

Hola, supongo que ya lo tendras solucionao, pero ya que estaba por aqui queria poner otra forma de hacerlo. Por poner una forma sin tantos if y darte otras ideas.
Lo ultimo que pones de dividir no entendi muy bien lo que quieres decir que hay que hacer.Si quieres aclaralo un poco, aunque por lo que mire la i con la que recorres el vector de la estructura no lo incrementas.

Ahi va otra manera, de entre tantas que hay xdd  :silbar:

Código
  1. #define TAM 4
  2.  
  3. #include <stdio.h>
  4. #include <conio.h>
  5.  
  6. void comprobar(int * ,int *,int * );
  7.  
  8. int main(int argc, char *argv[])
  9. {
  10.    int vector[TAM];
  11.    int i=0;
  12.    int numbuscar=0;
  13.    int repite=0;
  14.  
  15.    for(i=0;i<TAM;i++)
  16.    {
  17.  
  18.     printf("Deme un numero");                  
  19.     scanf("%d",&vector[i]);                                  
  20.  
  21.    }
  22.  
  23.  
  24.    printf("Deme un numero a buscar las veces que se repitio");
  25.    scanf("%d",&numbuscar);
  26.  
  27. //aqui paso el vector a la funcion para comprobar cuantas veces se repite el numero    
  28.  
  29.    comprobar(vector,&numbuscar,&repite);
  30.  
  31.    printf("El numero %d se repite %d veces \n",numbuscar,repite);
  32.  
  33.  
  34.  
  35. getch();
  36. }//fin main
  37.  
  38. void comprobar (int *vector, int *numbuscar, int *repite)
  39. {
  40.  
  41.    int i=0;
  42.    for(i=0;i<TAM;i++)
  43.    {
  44.     if(vector[i]==*numbuscar)
  45.     {
  46.      *repite=*repite+1;//se que es raro ponerlo asi, pero sino no se incrementaba                  
  47.     }                  
  48.  
  49.    }
  50.  
  51.  
  52. }
  53.  






« Última modificación: 14 Febrero 2011, 22:22 pm por Shut » En línea

do-while


Desconectado Desconectado

Mensajes: 1.276


¿Habra que sacarla de paseo?


Ver Perfil
Re: Necesito una ayuda con este programa
« Respuesta #2 en: 15 Febrero 2011, 01:45 am »

¡Buenas!

Yo tampoco entiendo muy bien a que te refieres con eso de las divisiones...

Aqui tienes otra solucion mas, no se si te servira, porque viendo tu codigo me parece que no habras visto muchas de las cosas que aparecen, pero asi puedes ir investigando un poco.

Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. #define MAX_NUMEROS 20
  5.  
  6. struct Nodo
  7. {
  8.    int valor;
  9.    int nrep;
  10.  
  11.    struct Nodo* mayor;
  12.    struct Nodo* menor;
  13. };
  14. typedef struct Nodo Nodo;
  15. typedef struct Nodo* NodoPtr;
  16.  
  17. void insertar(NodoPtr *root,int valor);
  18. int repeticiones(NodoPtr root,int valor);
  19. void liberar(NodoPtr *root);
  20.  
  21. int main(int argc, char *argv[])
  22. {
  23.    NodoPtr arbol = NULL;
  24.    int leidos,numero,i;
  25.  
  26.    for(i = 0 ; i < MAX_NUMEROS ; i++)
  27.    {
  28.        printf("Introducir numero: ");
  29.  
  30.        while(!scanf("%d",&numero));
  31.        while(getchar() != '\n');
  32.  
  33.        insertar(&arbol , numero);
  34.    }
  35.  
  36.    printf("Buscar repeticiones del numero: ");
  37.  
  38.    while(!scanf("%d",&numero));
  39.    while(getchar() != '\n');
  40.  
  41.    printf("%d repeticiones.\n",repeticiones(arbol,numero));
  42.  
  43.    printf("pulsar intro para continuar...");
  44.  
  45.    while(getchar() != '\n');
  46.  
  47.    liberar(&arbol);
  48.  
  49.    return 0;
  50. }
  51.  
  52. void insertar(NodoPtr *root,int valor)
  53. {
  54.    if(!(*root))
  55.    {
  56.        (*root) = (Nodo*) malloc(sizeof(Nodo));
  57.  
  58.        (*root)->valor = valor;
  59.        (*root)->nrep = 1;
  60.  
  61.        (*root)->mayor = NULL;
  62.        (*root)->menor = NULL;
  63.  
  64.        return;
  65.    }
  66.  
  67.    if(valor < (*root)->valor)
  68.        insertar(&((*root)->menor) , valor);
  69.    else if(valor > (*root)->valor)
  70.        insertar(&((*root)->mayor) , valor);
  71.    else
  72.        (*root)->nrep++;
  73.  
  74.    return;
  75. }
  76.  
  77. int repeticiones(NodoPtr root,int valor)
  78. {
  79.    if(!root)
  80.        return 0;
  81.  
  82.    if(valor == root->valor)
  83.        return root->nrep;
  84.  
  85.    if(valor < root->valor)
  86.        return repeticiones(root->menor , valor);
  87.  
  88.    return repeticiones(root->mayor , valor);
  89. }
  90.  
  91. void liberar(NodoPtr *root)
  92. {
  93.    if(!(*root))
  94.        return;
  95.  
  96.    liberar(&((*root)->menor));
  97.    liberar(&((*root)->mayor));
  98.  
  99.    free(*root);
  100.  
  101.    return;
  102. }
  103.  

iSaludos!
En línea

- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
necesito ayuda con este programa que me falta
Programación General
aneudys 0 3,002 Último mensaje 23 Octubre 2012, 21:38 pm
por aneudys
necesito ayuda con este programa que me falta
Programación C/C++
aneudys 0 1,608 Último mensaje 23 Octubre 2012, 21:39 pm
por aneudys
necesito ayuda para este programa edumax
Programación General
ROSGATIS 0 3,479 Último mensaje 4 Enero 2013, 03:54 am
por ROSGATIS
Necesito ayuda para este programa
Programación C/C++
Hackeruniva 3 2,062 Último mensaje 4 Octubre 2019, 23:16 pm
por K-YreX
Re: Necesito ayuda para este programa
Programación C/C++
Hackeruniva 1 2,030 Último mensaje 4 Octubre 2019, 14:33 pm
por @XSStringManolo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines