elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 10:09  


Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  EJERCICIOS BASICOS C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: EJERCICIOS BASICOS C++  (Leído 13,253 veces)
WiseHidden

Desconectado Desconectado

Mensajes: 183


La curiosidad es la semilla de la genialidad.


Ver Perfil
EJERCICIOS BASICOS C++
« en: 3 Diciembre 2010, 11:53 »

Hola,
La idea de este Tema es para todos aquellos que estemos empezando en el maravilloso mundo de la Programación C++, expongamos nuestros Ejercicios y nos ayudemos cuando sea necesario y asi de un modo mas amenos aprendamos unos de los otros.

Mi primer ejercicio es muy sencillo (Pues apenas estoy empezando a gatear en C++)

Asi pues expongo un Ejercicio "Creado expresamente por mi".

Se pide que Creemos un programa en el cual se Introduzca el Total de Votos "Recogidos" En la ultima campaña politica.

El resultado debe dar con los siguientes resultado.
40% Para el Primer Partido Politico (A vuestro gusto)
30% Para el Segundo Partido Politico (A vuestro gusto)
20% Para el tercer Partido Politico (A vuestro gusto)
10% Para el Cuarto Partido Politico (A vuestro gusto)

PD: Mi programa el cual expondré a continuación el muy simple, si hay viera algun pequeño fallo, o algun comando innecesario o incluso si pudiera aportar algo nuevo agradeceria cualquier ayuda u orientación

Nota: Esto es un simple ejercicio no importa quien sea el partido con mas o menos votos, No intento fomentar una idea politica u otra  :D  
De hecho "Tengo cierto reparo con ella" jajaja Solo que me pareció un buen ejercicio para empezar


Código
#include <iostream.h>
 
int main ()
 
{
 
float v,p,s,c,i;
 
cout<<"Introduce el total de votos:"<<endl;
cin>>v;
 
p=v*40/100;
cout<<"El total de votos del PP es:"<<p<<endl;
 
s=v*30/100;
cout<<"El total de votos del Psoe es:"<<s<<endl;
 
c=v*20/100;
cout<<"El total de votos del Partido Comunista es:"<<c<<endl;
 
i=v*10/100;
cout<<"El total de votos del Izquierda Unida es:"<<i<<endl;
 
}

Un saludo y espero os animeis

WiseHidden


« Última modificación: 3 Diciembre 2010, 18:48 por Novlucker » En línea

Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)
Garfield07


Desconectado Desconectado

Mensajes: 1.123


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: EJERCICIOS BASICOS C++
« Respuesta #1 en: 4 Enero 2011, 22:58 »

Bueno, acabo de ver tu code de pasada y esta muy bien. A lo mejor podrias hacer que se puedan meter x numeros de partidos, y se vayan metiendo el nombre de los partidos, y el porcentaje, y se haga todo con esos datos... Digo yo, vamos. Sinceramente esta muy bien...


En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
Tzhed\ Kyperf/
Wiki

Desconectado Desconectado

Mensajes: 800


Tzhed > /dev/sda


Ver Perfil WWW
Re: EJERCICIOS BASICOS C++
« Respuesta #2 en: 4 Enero 2011, 23:12 »

Puedes hacerlo con una sola variable.
En línea

Garfield07


Desconectado Desconectado

Mensajes: 1.123


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: EJERCICIOS BASICOS C++
« Respuesta #3 en: 17 Enero 2011, 13:27 »

Código
#include <stdio.h>
 
int main ()
{
float total, a;
printf ("Introduce el total de votos: ");
scanf ("%d", &total);
 
a = total * 40 / 100;
printf ("El total de votos del PP es: %d", a);
 
a = total * 30 / 100;
printf ("El total de votos del PSOE es: %d", a);
 
a = total * 20 / 100;
printf ("El total de votos del Partido Comunista es: %d", a);
 
a = total * 10 / 100;
printf ("El total de votos de IU es: %d", a);
 
return 0;
}
 
 

Ahi va TzHed xD... Podrias retocarlo para lo que te he dicho...
En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.507


El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: EJERCICIOS BASICOS C++
« Respuesta #4 en: 18 Enero 2011, 05:37 »

Sagrini estas utilizando dos variables, la variable a y la variable total.

Código
#include <stdio.h>
 
int main ()
{
float total;
printf ("Introduce el total de votos: ");
scanf ("%d", &total);
       printf ("El total de votos del PP es: %d", total*0.4);
printf ("El total de votos del PSOE es: %d", total*0.3);
printf ("El total de votos del Partido Comunista es: %d", total*0.2);
printf ("El total de votos de IU es: %d", total/10);
return 0;
}
« Última modificación: 26 Enero 2011, 23:48 por Lord R.N.A. » En línea

Garfield07


Desconectado Desconectado

Mensajes: 1.123


¡Este año voy a por todas! JMJ 2011


Ver Perfil WWW
Re: EJERCICIOS BASICOS C++
« Respuesta #5 en: 19 Enero 2011, 19:06 »

Si, cierto. Eso lo pense luego, una vez ido, para mas sencillez, pero no me di cuenta que Tzhed se referia a eso...
Bueno, ahora que hemos limpiado y reducido el code, podriamos hacer lo que dije en el primer post no?
En línea



* Quiero cambiar el mundo, pero estoy seguro de que no me darían el código fuente.
* No estoy tratando de destruir a Microsoft. Ese será tan solo un efecto colateral no intencionado.
* Si compila esta bien, si arranca es perfecto.

¡Wiki elhacker.net!
Un saludo
WiseHidden

Desconectado Desconectado

Mensajes: 183


La curiosidad es la semilla de la genialidad.


Ver Perfil
Re: EJERCICIOS BASICOS C++
« Respuesta #6 en: 8 Marzo 2011, 13:43 »

Disculpen todo este tiempo en espera!! Pero he andado muy liado, veo que el post acojio a unos cuantos "amantes" de este maravilloso lenguaje. Me alegra ver que ha gustado, pero tambien veo un poco parado el tema, asi pues si alguien sigue interesado en la propuesta inicial porfavor que sea bienvenido.

PD: Sagrini, a que te refieres?? No se exactamente lo que proponias en el primer post? Disculpa pero hace unos meses y he perdido un poco el hilo de la conversacion.

Un saludo

Vuestro Fiel amigo

WH
En línea

Si tu tienes una manzana y yo otra y decidimos intercambiarlas, seguiremos teniendo una manzana cada uno, pero si tu tienes una idea y yo otra y la intercambiamos, ambos tendremos dos ideas. (Origen Anónimo)
Eckonet

Desconectado Desconectado

Mensajes: 1


ProgramerNewBie


Ver Perfil
Re: EJERCICIOS BASICOS C++
« Respuesta #7 en: 18 Marzo 2011, 14:26 »

Yo lo hice algo parecido a [L]ord [R]NA la unica diferencia es que el uso C pero a la final da los mismos Resultados =)
Código
#include <iostream>
 
using namespace std;
 
int main()
{
   int q;
   cout << "Introduce el total de votos obtenidos: " << endl;
   cin >> q;
   cout << endl;
   cout << "El total de votos del PPT es: " << q*50/100 << "%" <<endl;
   cout << "El total de votos del ASD es: " << q*40/100 << "%" <<endl;
   cout << "El total de votos del EZT es: " << q*30/100 << "%" <<endl;
   cout << "El total de votos del PAE es: " << q*20/100 << "%" <<endl;
   cout << "El total de votos del SOL es: " << q*10/100 << "%" <<endl;
 
   cin.get();cin.get();
}
 

Tambien lo queria hacer de este modo pero no me resulto muy bien por falta de conocimiento xD

Código
#include <iostream>
 
using namespace std;
 
int main()
{
   int A, B, C, D, E;
   cout << "Esta aplicacion te dira cuanto porcentaje tiene tu partido politico favorito:" << endl;
   cout << "Para ver el porcentaje de votos de PAE introduce:  A" << endl;
   cout << "Para ver el porcentaje de votos de TET introduce:  D" << endl;
   cout << "Para ver el porcentaje de votos de SAZ introduce:  B" << endl;
   cout << "Para ver el porcentaje de votos de DIP introduce:  C" << endl;
   cin >> A;
   cin >> B;
   cin >> C;
   cin >> D;
   cout << endl;
 
   if (xA)
   {
    cout << "50% de los votos a favor de PAE!" << endl;
   }
 
   if (B)
   {
    cout << "40% de los votos a favor de SAZ!" << endl;
   }
 
   if (C)
   {
    cout << "30% de los votos a favor de SAZ!" << endl;
   }
   if (D)
   {
    cout << "20% de los votos a favor de SAZ!" << endl;
   }
   cin.get();cin.get();
}
 

Ahora les va otro ejercicio.....!!!!

Imprime en pantalla todos los números impares de tres sifras desde el 100 hasta el 500.

Este es mi codigo:

Código
#include <iostream>
using namespace std;
 
int main()
{
   int principio, final;
 
   principio = 100;
   final = 300;
 
   for(int i=principio; i < final; i++)
   {
       if(i%2==1)
       cout<<i<<endl;
   }
   cin.get();cin.get();
}
 

Si lo pueden mejorar seria exelente


« Última modificación: 18 Marzo 2011, 16:43 por Eckonet » En línea

#include <iostream>
using namespace std;

int main()
{
    cout << "Hello world!" << endl;
    cin.get(); cin.get();
}
Lx

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: EJERCICIOS BASICOS C++
« Respuesta #8 en: 20 Mayo 2011, 03:30 »

Código
#include <stdio.h>
 
int main()
{
  int li = 100, ls = 500;
 
  for( int i = li; i < ls + li%2; i += 2){
 
     printf("%d\t", i + (i+1)%2);
  }
  printf("\n\nPresione ENTER para salir . . .");
  getchar();
  return 0;
}
En línea
RyogiShiki


Desconectado Desconectado

Mensajes: 707


げんしけん - Hikkikomori FTW!!!


Ver Perfil WWW
Re: EJERCICIOS BASICOS C++
« Respuesta #9 en: 20 Mayo 2011, 15:53 »

Código
#include <stdio.h>
 
int main()
{
  int li = 100, ls = 500;
 
  for( int i = li; i < ls + li%2; i += 2){
 
     printf("%d\t", i + (i+1)%2);
  }
  printf("\n\nPresione ENTER para salir . . .");
  getchar();
  return 0;
}

Te das cuenta que haces cosas innecesarias en el código, que lo vuelven poco entendible confuso y algo dificil de leer, por ejemplo esta linea:
Código
 for( int i = li; i < ls + li%2; i += 2)
Para que haces ls + li % 2 cuando li % 2 siempre va a ser igual a 0, entonces seria como ls + 0 osea, es completamente innecesario..
Código
for( int i = li; i < ls; i += 2)
Esta ya es una line más entendible!

Y ahora en esta linea:
Código
printf("%d\t", i + (i+1)%2);
en este caso y en tu código (i + 1)%2 siempre va a ser igual a 1, basta con colocar simplemente:
Código
printf("%d\t", i + 1);
para obtener el resultado.

Te sugiero que no te compliques la vida haciendo tantas cosas (por demás innecesarias) el código simple, legible y facil de entender siempre será el más elegante.

Saludos

« Última modificación: 20 Mayo 2011, 16:00 por gankutsuo » En línea

Lx

Desconectado Desconectado

Mensajes: 12


Ver Perfil
Re: EJERCICIOS BASICOS C++
« Respuesta #10 en: 20 Mayo 2011, 18:11 »

:)

Lo que hice funciona para cualquier li (límite inferior) y ls (límite superior), no te límites al rango ya dado, siempre se debe hacer algo GENERAL.

Nos vemos.
En línea
RyogiShiki


Desconectado Desconectado

Mensajes: 707


げんしけん - Hikkikomori FTW!!!


Ver Perfil WWW
Re: EJERCICIOS BASICOS C++
« Respuesta #11 en: 20 Mayo 2011, 18:18 »

Eso no tiene nada que ver! tu código está hecho para 100 y 500 y mostrara los impares en esos rangos, pero como ves, las operaciones que exponga arriba también son generales y es cierto en todo momento, lo que quiere decir que si cambias los rangos igual tendrás los números impares en los valores que sean asignados a las variables sin importar si se hace con tú código o can las correcciones que expongo. QUE quede claro que las expongo para hacer más claro el código, si ves el tuyo hace operaciones innecesarias que consumen memoria, pero en la práctica entre tú código y las correcciones es básicamente lo mismo (mismos resultados independientes del rango: mostrar impares entre dos límites), tal vez en lo que gana tu code es en el funcionamiento de limites impares, lo cual es bueno.

Saludos
« Última modificación: 20 Mayo 2011, 18:33 por gankutsuo » En línea

ghastlyX
Colaborador
***
Desconectado Desconectado

Mensajes: 1.894



Ver Perfil
Re: EJERCICIOS BASICOS C++
« Respuesta #12 en: 21 Mayo 2011, 16:25 »

Sin entrar en temas de si es mejor hacer de una forma u otra lo que comentáis, a modo de apunte comento una mejora que puede hacerse respecto al código original que son los módulos. Realizar la operación módulo es costoso, mucho más que una suma o una resta. Una técnica estándar para optimizar el código cuando se hacen módulos por potencias de dos es sustituir los módulos por ANDs bit a bit. Puede parecer una tontería, pero puede mejorar mucho el tiempo de ejecución de un programa.

La norma general sería convertir esto:
Código:
a%pot
en esto otro:
Código:
a&(pot - 1)
En línea
civans89

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: EJERCICIOS BASICOS C++
« Respuesta #13 en: 27 Mayo 2011, 05:26 »

Hola amigos. quisiera saber paginas para aprender a programar desde el inicio. desde pseudocodigo hasta c++
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ejercicios básicos C# « 1 2 »
.NET
~~ 22 98,233 Último mensaje 3 Diciembre 2011, 04:31
por wilman1010
ejercicios basicos C#
.NET
Choclito 2 10,160 Último mensaje 30 Enero 2009, 23:53
por aydemy
Ejercicios Basicos en C#
Ejercicios
Choclito 1 25,634 Último mensaje 21 Abril 2012, 18:08
por Luciitafloze
Ejercicios Básicos « 1 2 »
Ejercicios
Myth.ck 16 6,796 Último mensaje 28 Mayo 2009, 09:27
por Eliptico
ejercicios basicos .net
.NET
leliCabello 12 4,672 Último mensaje 24 Marzo 2010, 23:14
por Shell Root
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines