Autor
|
Tema: Necesito una ayuda con este programa (Leído 3,176 veces)
|
XV8
Desconectado
Mensajes: 9
|
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. #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
Mensajes: 7
|
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 #define TAM 4 #include <stdio.h> #include <conio.h> void comprobar(int * ,int *,int * ); int main(int argc, char *argv[]) { int vector[TAM]; int i=0; int numbuscar=0; int repite=0; for(i=0;i<TAM;i++) { } printf("Deme un numero a buscar las veces que se repitio"); //aqui paso el vector a la funcion para comprobar cuantas veces se repite el numero comprobar(vector,&numbuscar,&repite); printf("El numero %d se repite %d veces \n",numbuscar ,repite ); }//fin main void comprobar (int *vector, int *numbuscar, int *repite) { int i=0; for(i=0;i<TAM;i++) { if(vector[i]==*numbuscar) { *repite=*repite+1;//se que es raro ponerlo asi, pero sino no se incrementaba } } }
|
|
« Última modificación: 14 Febrero 2011, 22:22 pm por Shut »
|
En línea
|
|
|
|
do-while
Desconectado
Mensajes: 1.276
¿Habra que sacarla de paseo?
|
¡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. #include <stdlib.h> #include <stdio.h> #define MAX_NUMEROS 20 struct Nodo { int valor; int nrep; struct Nodo* mayor; struct Nodo* menor; }; typedef struct Nodo Nodo; typedef struct Nodo* NodoPtr; void insertar(NodoPtr *root,int valor); int repeticiones(NodoPtr root,int valor); void liberar(NodoPtr *root); int main(int argc, char *argv[]) { NodoPtr arbol = NULL; int leidos,numero,i; for(i = 0 ; i < MAX_NUMEROS ; i++) { printf("Introducir numero: "); while(!scanf("%d",&numero )); insertar(&arbol , numero); } printf("Buscar repeticiones del numero: "); while(!scanf("%d",&numero )); printf("%d repeticiones.\n",repeticiones (arbol ,numero )); printf("pulsar intro para continuar..."); liberar(&arbol); return 0; } void insertar(NodoPtr *root,int valor) { if(!(*root)) { (*root ) = (Nodo *) malloc(sizeof(Nodo )); (*root)->valor = valor; (*root)->nrep = 1; (*root)->mayor = NULL; (*root)->menor = NULL; return; } if(valor < (*root)->valor) insertar(&((*root)->menor) , valor); else if(valor > (*root)->valor) insertar(&((*root)->mayor) , valor); else (*root)->nrep++; return; } int repeticiones(NodoPtr root,int valor) { if(!root) return 0; if(valor == root->valor) return root->nrep; if(valor < root->valor) return repeticiones(root->menor , valor); return repeticiones(root->mayor , valor); } void liberar(NodoPtr *root) { if(!(*root)) return; liberar(&((*root)->menor)); liberar(&((*root)->mayor)); return; }
iSaludos!
|
|
|
En línea
|
- Doctor, confundo los números y los colores. - Vaya marrón. - ¿Marrón? ¡Por el culo te la hinco!
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
necesito ayuda con este programa que me falta
Programación General
|
aneudys
|
0
|
2,973
|
23 Octubre 2012, 21:38 pm
por aneudys
|
|
|
necesito ayuda con este programa que me falta
Programación C/C++
|
aneudys
|
0
|
1,603
|
23 Octubre 2012, 21:39 pm
por aneudys
|
|
|
necesito ayuda para este programa edumax
Programación General
|
ROSGATIS
|
0
|
3,447
|
4 Enero 2013, 03:54 am
por ROSGATIS
|
|
|
Necesito ayuda para este programa
Programación C/C++
|
Hackeruniva
|
3
|
2,053
|
4 Octubre 2019, 23:16 pm
por K-YreX
|
|
|
Re: Necesito ayuda para este programa
Programación C/C++
|
Hackeruniva
|
1
|
2,019
|
4 Octubre 2019, 14:33 pm
por @XSStringManolo
|
|