Nuevas NORMAS para el foro
Bienvenido(a),
Visitante
. Favor de
ingresar
o
registrarse
.
¿Perdiste tu
email de activación?
- Agosto 29, 2008, 01:15:28
Boton Buscar
Visita:
Articulos
-
Juegos Gratis
-
Da Foros
Comunidad Underground Hispana
|
Programacion
|
Programación
|
Carbide C/C#/C++
| Tema:
Ejercicios C++ 2
0 Usuarios y 1 Visitante están viendo este tema.
« anterior
próximo »
Páginas:
[
1
]
2
Autor
Tema: Ejercicios C++ 2 (Leído 1557 veces)
lann
Habitual
Desconectado
Mensajes: 309
maamamma
Ejercicios C++ 2
«
en:
Julio 25, 2007, 07:28:45 »
si estos temas de alguna manera parecen spam o algo asi pues me avisan =P
habia puesto un ejercicio sobre declaraciones de control aqui hay unos sobre funciones y arrays.
*(Digitos al reves) Escribe una funcion que tome un numero entero y regrese el numero con sus digitos al reves. Por ejemplo, dado el numero 7631, la funcion debe regresar 1367.Esta funcion esta bastante facil.
*(Encontrar el minimo valor en un array) Escribir una funcion recursiva recursiveMinimum que tome un array de numeros enteros, un subindice para empezar y un subindice para terminar como argumentos, y regrese el menor elemento del array. La funcion debe parar y regresar cuando el subindice para empezar sea igual al subindice para terminar.
es decir
int main()
{
int array[ 8 ] = { 0, 2, 3, 8, 1, 6, 5, 9 };
cout << recursiveMinimum( array, 3, 5 );
return 0;
}
regresara 1
«
Última modificación: Julio 25, 2007, 07:31:27 por lann
»
En línea
am
Alma De Dark
Visitante
Re: Ejercicios C++ 2
«
Respuesta #1 en:
Julio 26, 2007, 07:38:37 »
Cita de: lann en Julio 25, 2007, 07:28:45
*(Digitos al reves) Escribe una funcion que tome un numero entero y regrese el numero con sus digitos al reves. Por ejemplo, dado el numero 7631, la funcion debe regresar 1367.Esta funcion esta bastante facil.
#include <stdio.h>
#include <stdlib.h>
void lea_cadena(char a[]);
int main()
{
char numero[256];
printf("Escribe un numero entero
: ");
lea_cadena(numero);
strrev(numero);
printf("\nEl numero al reves es
: %s",numero);
getch();
}
void lea_cadena(char a[])
{
fgets(a,256,stdin);
a[strlen(a)-1]='\0';
}
ahi esta
En línea
Micki Qwerty
Visitante
Re: Ejercicios C++ 2
«
Respuesta #2 en:
Julio 26, 2007, 08:57:46 »
Y dale con manejar strings en lugar de numeros... y con usar memoria estatica...
«
Última modificación: Julio 26, 2007, 08:59:49 por Scofield
»
En línea
FreakMind
Habitual
Desconectado
Mensajes: 181
Re: Ejercicios C++ 2
«
Respuesta #3 en:
Julio 26, 2007, 09:20:08 »
Buenas
Crei que el "ejercicio" era mostrar como uno haria la funcion, no como la invocaria en el main.
Salu2, FreakMind
En línea
Connoisseurs of C semantics find C++ inferior to ++C
Alma De Dark
Visitante
Re: Ejercicios C++ 2
«
Respuesta #4 en:
Julio 26, 2007, 10:27:38 »
Cita de: FreakMind en Julio 26, 2007, 09:20:08
Buenas
Crei que el "ejercicio" era mostrar como uno haria la funcion, no como la invocaria en el main.
Salu2, FreakMind
juassssssss
no habia leido bien
eso me pasa por no leer
En línea
lann
Habitual
Desconectado
Mensajes: 309
maamamma
Re: Ejercicios C++ 2
«
Respuesta #5 en:
Julio 26, 2007, 09:48:27 »
utilizarla en main supongo que no tiene nada de malo, podemos aprender de como implementarla y como funciona, pero lo que pasa es que se pide que la funcion regrese un numero entero y tome un numero entero... i.e. ( int reverseDigits( int ); )
Bueno un tip para
Citar
*(Digitos al reves) Escribe una funcion que tome un numero entero y regrese el numero con sus digitos al reves. Por ejemplo, dado el numero 7631, la funcion debe regresar 1367.Esta funcion esta bastante facil.
podrias usar el operador %
«
Última modificación: Julio 26, 2007, 09:58:44 por lann
»
En línea
am
Kira & Eva :D
Habitual
Desconectado
Mensajes: 288
Senior Programmer
Re: Ejercicios C++ 2
«
Respuesta #6 en:
Julio 27, 2007, 05:29:15 »
Cita de: Scofield en Julio 26, 2007, 08:57:46
Y dale con manejar strings en lugar de numeros... y con usar memoria estatica...
Que exigente es mi niño!!!
En línea
Micki Qwerty
Visitante
Re: Ejercicios C++ 2
«
Respuesta #7 en:
Julio 27, 2007, 07:35:36 »
Que pasa peque que no sabes hacerlo tu tampoco asi?
jajj bueno niña, besos
En línea
Kira & Eva :D
Habitual
Desconectado
Mensajes: 288
Senior Programmer
Re: Ejercicios C++ 2
«
Respuesta #8 en:
Julio 28, 2007, 06:38:17 »
Es más que obvio que para aprobar mis estudios mis conocimientos fueron superiores a eso
Los retos se hacen cuando de vedad se consideran retos Scofield
«
Última modificación: Julio 28, 2007, 06:39:47 por She-Devil
»
En línea
FreakMind
Habitual
Desconectado
Mensajes: 181
Re: Ejercicios C++ 2
«
Respuesta #9 en:
Julio 29, 2007, 11:50:49 »
Buenas
Aca dejo algunas recomendaciones de ejercicios ya que estamos en esto:
1) Hacer una funcion que muestre los primeros N numeros primos.
2)Realizar una función que dada una matriz de chars de n x m y una posición inicial (x,y) que tiene una “I” en la matriz, encuentre el camino a la posición completada con una “S”, considerando que existen posiciones en la matriz, marcadas con “X” que representan “muros”, los cuales no se pueden traspasar.
3)Dada la sig estructura (una lista doblemente enlazada), escribir una funcion
recursiva
cuyo prototipo es void sort(struct nodo *), la cual ordene la lista y elimine las claves repetidas.
struct nodo{
unsigned char clave;
struct nodo *prev;
struct nodo *next;
struct dato *datos;
}
4) Decir que hace el siguiente codigo
Código:
void funcion(int *num, int b)
{
int c, i, fin, aux;
if(b < 1){
for( i = 1, fin = b, c = num[0]; i < fin; i++){
if( c >= num[i]){
num[i - 1] = num[i];
}else{
aux = num[fin];
num[fin] = num[i];
num[i] = aux;
fin--;
i--;
}
}
num[i] = c;
funcion(num, i);
funcion(num + i, b);
}
return;
}
Bueno, espero que se entretengan un poco con esos ejercicios.
Salu2, FreakMind
«
Última modificación: Julio 29, 2007, 12:55:42 por FreakMind
»
En línea
Connoisseurs of C semantics find C++ inferior to ++C
lann
Habitual
Desconectado
Mensajes: 309
maamamma
Re: Ejercicios C++ 2
«
Respuesta #10 en:
Julio 30, 2007, 09:19:06 »
bueno mi intencion era crear ejercicios sencillos y que luego fueran aumentando la dificultad ( o el uso de otras diferentes caracteristicas de c++, para practicar, pointers, herencia, loops, estructuras de control, recursividad, arrays... blah... ), en cada tema, poner algunos ejercicios y que publicaran las posibles soluciones o tansiquiera de los que son tan buenos programandos y no publican las soluciones a estos sencillos ejercicios por que alomejor daña su reputacion o alomejor no les dan chance a los principiantes... o solo por que el resolverlos no aumentara su gran conocimiento...
«
Última modificación: Julio 30, 2007, 09:22:16 por lann
»
En línea
am
FreakMind
Habitual
Desconectado
Mensajes: 181
Re: Ejercicios C++ 2
«
Respuesta #11 en:
Julio 31, 2007, 11:21:25 »
Buenas
Bueno no crei que estos ejercicios fueran TAN dificiles.
El de los numeros primos es el mas complicado porque hay que pensar un poco mas.
Pero lo del laberinto es recursividad simple (con simple quiero decir nada como recursividad donde 2 funciones se llaman mutuamente) y lo de la lista pasa lo mismo. Ni siquiera necesitas incluir ningun .h .
Aca va otro ejercicio si quieren mas "sencillo".
Salu2, FreakMind
Ejercicio:
Recorrer un arbol binario con una funcion recursiva en post-orden, in-order y pre-orden
«
Última modificación: Julio 31, 2007, 11:28:39 por FreakMind
»
En línea
Connoisseurs of C semantics find C++ inferior to ++C
lann
Habitual
Desconectado
Mensajes: 309
maamamma
Re: Ejercicios C++ 2
«
Respuesta #12 en:
Agosto 01, 2007, 04:18:46 »
FreakMind mi comentario sobre la dificultad de los ejercicios no fue por la publicacion de tus ejercicios, ( fue un comentario sarcastico sobre que las personas no resolvian mis ejercicios por lo simple que eran, alomejor me di a entender mal =P ) solo decia que mi intesion era que publicaran opiniones o la solucion sobre estos ejercicios y que iria publicando ejercicios sencillos, etc, ...pero incluso ese comentario no era para ti... bueno no lo hice por haber visto tus ejercicios... como pienso que tu pensaste D=
pero ok
pues tengo esta funcion
bool prime( int num )
{
if( num == 1 || num == 0 )
return false;
int n = num;
int count = 0;
for( int i = 0; i < num; i++ )
{
n = num - i;
if( num % n == 0 )
count++;
}
if( count > 2 )
return false;
else if( count == 2 )
return true;
}
supongo que a de funcionar
«
Última modificación: Agosto 04, 2007, 04:02:43 por lann
»
En línea
am
FreakMind
Habitual
Desconectado
Mensajes: 181
Re: Ejercicios C++ 2
«
Respuesta #13 en:
Agosto 01, 2007, 10:22:58 »
Buenas
La funcion esta relativamente bien porque dado un numero num te dice si es primo o no. Lo que el ejercicio pedia era que des los primeros N numeros primos
PD: Tu funcion no contempla el 0 ni el 1 que tambien son primos
Salu2, FreakMind
En línea
Connoisseurs of C semantics find C++ inferior to ++C
FreakMind
Habitual
Desconectado
Mensajes: 181
Re: Ejercicios C++ 2
«
Respuesta #14 en:
Agosto 03, 2007, 11:41:35 »
Buenas
Que pasa? Nadie mas se anima a hacer ninguno? Vamos... son faciles
Salu2, FreakMind
En línea
Connoisseurs of C semantics find C++ inferior to ++C
D-Lor
Miembro
Desconectado
Mensajes: 84
Re: Ejercicios C++ 2
«
Respuesta #15 en:
Agosto 03, 2007, 06:52:40 »
void Primos(int N)
{
int num = N;
int primo = 0;
cout << "Numero" << " " << "Primo?\n" << endl;
for(int x = 0; x <= num; x++){
for( int y = 0; y < x; y++ )
if( (x % (x-y)) == 0 )
primo++;
if(primo == 2)
cout << x << " " << "yep\n";
else
cout << x << " " << "nel\n";
primo = 0;
}
}
En línea
FreakMind
Habitual
Desconectado
Mensajes: 181
Re: Ejercicios C++ 2
«
Respuesta #16 en:
Agosto 04, 2007, 01:44:07 »
Buenas...
Pues la verdad parece el codigo de Iann pero con un for extra
Aca va el codigo que pense. Dos formas: una dinamica y otra estatica por decirlo de alguna manera
Forma estatica:
Código:
#define N 1000
void primos(void)
{
register int
i = 2; j;
unsigned int
flags[N] = {0};
for(; i < N ; ++i){
if(!flags[i]){
for(j = i + i; j < N; j += i)
flags[j] = 1;
}
}
for(i = 2; i < N; i++){
if(!flags[i])
printf("[%d] ", i);
}
return;
}
Forma dinamica:
Código:
void primos(int n)
{
register int
i = 2; j;
unsigned int
*flags;
if(!(flags = (unsigned int *) calloc(sizeof(int), n)))
return;
for(; i < n ; ++i){
if(!flags[i]){
for(j = i + i; j < n; j += i)
flags[j] = 1;
}
}
for(i = 2; i < n; i++
if(!flags[i])
printf("[%d] ", i);
}
free(flags);
return;
}
Salu2, Diego
«
Última modificación: Agosto 05, 2007, 10:45:52 por FreakMind
»
En línea
Connoisseurs of C semantics find C++ inferior to ++C
lann
Habitual
Desconectado
Mensajes: 309
maamamma
Re: Ejercicios C++ 2
«
Respuesta #17 en:
Agosto 04, 2007, 03:49:21 »
bueno freakmind en wikipedia dice
El conjunto de los números primos es un subconjunto de los números naturales que engloba a todos los elementos de este conjunto que son divisibles unicamente por dos números enteros positivos. Los veinte primeros números primos son: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67 y 71.
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
aqui tambien dice que no lo son
Para ver los enlaces debes ser usuario
Crear Usuario
o
Hacer Sesion
y no es por alardear o lo que sea ( de hecho no estoy seguro que es alardear =p) pero mi funcion que regresa true o false la concidero mejor, por lo reusable, sencilla, reusable por que podria ser implementada en cualquier funcion ( creo ) que trate de numeros primos, puesto que sabes si el numero que manejas es o no es primo, no solo imprime un mensaje en la salida standard, podria ser usada como en el ejercicio que pusiste asi como lo que dices que con un for se podria, pero pues bueno el ejercicio era mostrar los primeros n numeros primos =p
aver nadie a resuelto mis ejercicios =P!
«
Última modificación: Agosto 04, 2007, 04:04:39 por lann
»
En línea
am
FreakMind
Habitual
Desconectado
Mensajes: 181
Re: Ejercicios C++ 2
«
Respuesta #18 en:
Agosto 04, 2007, 05:57:46 »
Buenas.
Iann, yo nunca dije que tu funcion fuera mejor o peor que la mia. Solo dije 2 cosas: 1) que no era lo que el ejercicio pedia y 2) que no contemplaba el 0 y el 1.
Por otro lado, si quieres saber cual es la mejor, por lo pronto puedes ver cuanto tarda cada funcion en encontrar e imprimir los primeros ... em digamos por ejemplo 10.000 numeros primos y despues me cuentas.
Para hacerlo tenes que usar la funcion clock_t clock(void); de time.h ...
Salu2, FreakMind
En línea
Connoisseurs of C semantics find C++ inferior to ++C
lann
Habitual
Desconectado
Mensajes: 309
maamamma
Re: Ejercicios C++ 2
«
Respuesta #19 en:
Agosto 04, 2007, 07:59:01 »
es una L no una I...
yo nunca dije que tu dijieras que tu funcion es mejor o peor que la mia...
y bueno, ya dije por que pienso que es mejor, no me referia al rendimiento, pero dije que era reusable y sencillo, y si dijiste que no contemplaba el 1 y el 0 y que son primos...
bueno, solo fue una opinion de que esa funcion es mejor... resuelve un trabajo pequeño y puede ser usada para realizar otras funciones que tengan que ver con numeros primos...
En línea
am
FreakMind
Habitual
Desconectado
Mensajes: 181
Re: Ejercicios C++ 2
«
Respuesta #20 en:
Agosto 05, 2007, 09:24:46 »
Buenas
A ver, seguramente tu funcion es reutilizable y todo lo que quieras, pero el ejercicio no era hacer una funcion reutilizable que dijiera si un numero es o no primo. Solo eso digo
PD: Lo del 0 fue una aberracion mia por pensar que existe la division por 0
, pero sinceramente pensaba que el 1 si era primo (como un caso particular) .. my bad
Y como respuesta a uno de tus ejercicios, pense algo asi:
Código:
int minimo(int v[], int a, int b)
{
int aux;
if( a < b){
aux = minimo(v, a + 1, b);
if(v[a] <= aux)
return v[a];
else
return aux;
}
return v[a];
}
Salu2, FreakMind
«
Última modificación: Agosto 05, 2007, 10:42:15 por FreakMind
»
En línea
Connoisseurs of C semantics find C++ inferior to ++C
lann
Habitual
Desconectado
Mensajes: 309
maamamma
Re: Ejercicios C++ 2
«
Respuesta #21 en:
Agosto 05, 2007, 10:04:28 »
bueno bueno...
la funcion que puse dije que podria servir... no especifique pero me referia en la solucion de tu ejercicio...
y a tu solucion yo lo habia solucionado asi...
Código:
int recursiveMinimum( int array[], int staSub, int endSub )
{
if( staSub == endSub )
return array[ endSub ];
else
{
if( array[ staSub ] < array[ endSub ] )
array[ endSub ] = array[ staSub ];
return recursiveMinimum( array, staSub + 1, endSub );
}
}
bueno alomejor opiniones de cual es la mejor solucion no es buena idea ya que se pueden molestar
En línea
am
FreakMind
Habitual
Desconectado
Mensajes: 181
Re: Ejercicios C++ 2
«
Respuesta #22 en:
Agosto 06, 2007, 08:31:30 »
Buenas.
Supongo que debe funcionar. Te fijaste que no destruya info de la pos endSub del array?
PD: Si queres decir cual es mejor o peor decilo... a mi no me jode
Salu2, FreakMind
En línea
Connoisseurs of C semantics find C++ inferior to ++C
Kira & Eva :D
Habitual
Desconectado
Mensajes: 288
Senior Programmer
Re: Ejercicios C++ 2
«
Respuesta #23 en:
Agosto 06, 2007, 10:53:40 »
Hay que ver que estilazo tienes FreakMind
En línea
FreakMind
Habitual
Desconectado
Mensajes: 181
Re: Ejercicios C++ 2
«
Respuesta #24 en:
Agosto 06, 2007, 04:44:36 »
Buenas
Cita de: She-Devil en Agosto 06, 2007, 10:53:40
Hay que ver que estilazo tienes FreakMind
Lo tomo como un cumplido asi que gracias...
Por cierto, resolucion de el otro ejercicio de Iann:
Código:
int reverse(int n)
{
int i = 0, aux = n;
if( n / 10){
while(aux /= 10)
i++;
return ( n % 10 * (int)pow(10, i) ) + reverse(n / 10);
}
return n % 10;
}
Salu2, FreakMind
«
Última modificación: Agosto 06, 2007, 07:59:04 por FreakMind
»
En línea
Connoisseurs of C semantics find C++ inferior to ++C
Páginas:
[
1
]
2
Comunidad Underground Hispana
|
Programacion
|
Programación
|
Carbide C/C#/C++
| Tema:
Ejercicios C++ 2
« anterior
próximo »
Ir a:
Por favor selecciona un destino:
-----------------------------
Foros De Consulta General
-----------------------------
=> Novedades
=> Dudas, Comentarios Y Sugerencias
=> Top 100
=> Off-Topic
=> Revista E-Zine
===> Noticias
-----------------------------
Phreaking, Hacking y Seguridad
-----------------------------
=> HacK GeneraL
===> Ingenieria Inversa
===> Encriptacion, Cryptografia
===> TV HACK
===> Seguridad
===> Cursos y Ezines
=====> Trucos Internet
=====> Textos Hacking
===> Defacing
=> Phreaking
===> Moviles
=> Bug y Exploits
-----------------------------
Hack Novato
-----------------------------
=> Hack para newbies
=> Todo Messenger
=> Troyanos y virus
-----------------------------
Sistemas Operativos
-----------------------------
=> Windows y otros sistemas operativos no libres
===> Problemas Tecnicos Windows
=> Sistemas operativos libres.
===> GNU/Linux
===> Manuales y Tutoriales
===> Descargas
-----------------------------
Programacion
-----------------------------
=> Programación
===> Programación Basica
===> Otros Lenguajes
===> Visual Basic y Net
===> ASM
===> Programacion Shell
===> Perl
===> Carbide C/C#/C++
===> Batch
===> SQL
=> Programacion para webmasters
===> Consultas
===> Php
===> Html
===> Java - Java Script
===> Php Nuke
===> Scripts Pre-Fabricados
===> Mysql
===> CSS y Diseño Web
-----------------------------
Artes Graficas
-----------------------------
=> Diseño Grafico
===> Battle Arts
===> Flash
===> Tutoriales
===> Galerías
===> Software
-----------------------------
Area Tecnica
-----------------------------
=> Networking & Wireless
=> Overclocking, Refrigeracion y demas
=> Hardware
===> Cursos Y manuales
=> Electronica Y Robotica
-----------------------------
Programas
-----------------------------
=> Software
===> Configuraciones de software
===> Pedidos de software
=> Cracks & Serialz
=> P2p, Bittorrent, Elinks
-----------------------------
Multimedia Y Divx
-----------------------------
=> Juegos PC Y Consolas
===> Dudas ayudas y comentarios de juegos
===> Pedidos de juegos
=> Mp3
=> Multimedia
=> Peliculas Divx
-----------------------------
Entretenimiento Y sitios de interes
-----------------------------
=> Juegos, Humor y Adultos. (Diversión)
===> Adultos
=> Paginas Webs Recomendadas
=> Videos
Powered by SMF 1.1.5
|
SMF © 2006-2007, Simple Machines LLC
Loading...