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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / ayuda con mi programa en C en: 16 Octubre 2010, 15:52 pm
tengo que hacer un progrma en el que se inserten datos de personas y sus salarios y decir quien cobro mas y cuanto fue y quien cobro y menos y cuanto.,suena sencillo pero no lo consigoo... :-(

mi codigo por el momento es el siguiente ,si me podeis ayudar os lo agradeceria.
no digo que me deis el codigo correcto sino con que me deis algun consejo..me seria muyutil. gracias
Código
  1. #include<stdio.h>
  2. #define elem 3
  3. struct empleado{
  4. char nombre[100];
  5. int sueldo_neto;
  6. };
  7. struct empleado empleado[elem];
  8.  
  9. int main(void){
  10.  
  11. int i=0,temp=0,b=0;
  12. char basura;
  13. for(i=0;i<elem;i++){
  14. printf("Introduce nombre del empleado %d[maximo 100 caracteres]\n",i+1);
  15. gets(empleado[i].nombre);
  16.  
  17. printf("Introduce sueldo neto del empleado %d\n",i+1);
  18. scanf("%d",&empleado[i].sueldo_neto);
  19. scanf("%c",&basura);
  20.  
  21.  
  22.  
  23. }
  24. for(i=0;i<elem;i++){
  25. for(b=0;b<elem;b++){
  26. if(empleado[b].sueldo_neto>empleado[b+1].sueldo_neto){
  27. temp=empleado[b].sueldo_neto;
  28. empleado[b].sueldo_neto=empleado[b+1].sueldo_neto;
  29. empleado[b+1].sueldo_neto=temp;
  30.  
  31.  
  32. }
  33.  
  34.  
  35. }
  36. }
  37.  
  38. printf("El empleado que cobra el sueldo minimo es %s siendo sus sueldo %d:\n",empleado[0].nombre,empleado[0].sueldo_neto);
  39.  
  40.  
  41.  
  42.  
  43. return 0;
  44.  
  45. }
2  Programación / Programación C/C++ / funcion palindroma por referencia(con punteros) en: 6 Mayo 2010, 00:08 am
Hola chicos,me estoy liando con este ejercicio llego 1 hora en el  no doy con el asusnto..

mi codigo actual es este:
Código
  1. //*8. Crear una función a la que se le pasará una cadena de caracteres de cualquier
  2. longitud y retornará si dicha cadena es palíndroma, es decir, si se resulta ser
  3. exactamente
  4. igual leída de izquierda a derecha que viceversa. Genera el programa principal
  5. para poder ejecutar la función creada.*/
  6. #include<stdio.h>
  7. #include<stdlib.h>
  8. #include<string.h>
  9. void f_palindroma(char *,int);
  10. void f_visualiza(char *);
  11. int main(){
  12.  
  13. char basura;
  14. int lon;
  15. do{
  16. printf("Indica la longitud de la cadena:\n");
  17. scanf("%d",&lon);
  18. scanf("%c",&basura);
  19. }while(lon<1);
  20. char *cad=(char *)(malloc(sizeof(char)*lon));
  21.  
  22. printf("introduce la palabra:\n");
  23. fgets(cad,lon,stdin);
  24.  
  25. f_palindroma(cad,lon);
  26. f_visualiza(cad);
  27. free(cad);
  28. return 0;
  29. }
  30.  
  31. void f_palindroma(char *cadena,int size)
  32. {
  33. int flag=0;
  34. unsigned int i=0,j=0;
  35.  
  36.  
  37. for(i=0;*(cadena+i)!='\0'&&i<size;i++){
  38. for(j=0;*(cadena+j)!='\0'&&j<size;j--){
  39. if(*(cadena+i)= *(cadena+j)){
  40. flag=1;
  41. }
  42. else{
  43. flag=0;
  44. }
  45. }
  46. }
  47. if(flag==1){
  48. printf("Es palindroma");
  49. }
  50. else if(flag==0){
  51. printf("no es palindroma");
  52. }
  53.  
  54. }
  55. void f_visualiza(char *cadena){
  56. printf("\nla cadena es %s ",cadena);
  57. }[code]
  58.  
  59.  
  60. porfis hecharle un vistazillo cuando podais,realmente es estresante que no me ejecute bien.. :-(
  61.  
  62. la funcion palindroma no me la ejecuta bien... y no se porque..
[/code]
3  Programación / Programación C/C++ / Que hago mal? compilar pero no ejecuta bien en: 5 Mayo 2010, 20:46 pm
Hola chicos,pues tal y como dice el titulo empeze a hacer el siguiente ejercicio no me da errores en la compilacion y ejecuta pero solo hasta cuando inserto la cadena.. probe  con gets con scanf para leerla pero sigue igual,una vez le doy intro me da un error y se cierra .. :(,por favor si podeis mirarlo y si veis los errores indicarmelo,de momento solo quise validar la letra A ..Salu2


Código
  1. /*7. Crear una función a la que se le pasará una cadena de caracteres de cualquier
  2. longitud y retornará el número
  3.  de vocales distintas que la forman. Genera un programa principal en el se introduzca
  4.   una cadena que se validará para que incluya todas las vocales.*/
  5.  #include<stdio.h>
  6.  #include<string.h>
  7.  #include<stdlib.h>
  8.  void f_vocales(char *,int);
  9.  void f_visu(char *,int);
  10.  int main(){
  11.  
  12.  int l,aux;
  13.  
  14. printf("Introduce la longitud de la cadena:\n");
  15. scanf("%d",&l);
  16. char *cad=(char *)(malloc(sizeof(char)*l));
  17.  
  18.  
  19. do{
  20. printf("Introduce la cadena:\n");
  21. scanf("%s",cad);
  22. //gets(cad);
  23. aux=strlen(cad);
  24. }while(aux<0 || aux>l);
  25.  
  26. f_vocales(cad,aux);
  27. f_visu(cad,aux);
  28. free(cad);
  29. return 0;
  30. }
  31.  
  32. void f_vocales(char *cadena,int size){
  33.  int i=0,cont=0;
  34.  for(i=0;*(cadena+i)!='\0'&& i<size;i++){
  35.  if(*(cadena+i)=='a'){
  36.  cont++;
  37. }
  38. }
  39. printf("el numero de veces que aparece a es:%d",cont);
  40. }
  41.  
  42. void f_visu(char *cadena,int size){
  43. int i=0;
  44. for(i=0;*(cadena+i)!='\0'&&i<size;i++){
  45. printf("%s",*(cadena+i));
  46. }
  47. }
4  Programación / Programación C/C++ / Malloc ... en: 5 Mayo 2010, 18:41 pm
Hola chicos :-[..
Usando malloc como seria para usar el valor de la longitud de mi vector?
me explico con new era algo asi:float *vec=new float[l]; // donde l era la longitud que el usuario indico en el programa... bien con malloc viendo su estructura en google seria lo siguiente:
float *vec = malloc(sizeof(float));//como hago para indicar la longitud del vector?

Y en cadenas me podeis decir porfavor algun ejemplo de cadenas y como reservar memoria con malloc?..que reciba la cadena en el main y luego trabaje con el contenido de ella en una funcion por referencia usando punteros..

Muxisisimas gracias de antemano
5  Programación / Programación C/C++ / Consultas sobre punteros en funciones por referencia.. en: 5 Mayo 2010, 10:11 am
Hola chicos,primeramente al ser mi primer post presentarme mi nombre es rosario y he estado viendo C por mi cuenta pero al llegar a punteros me he detenido ya que se me han generado dudas..

Por ejemplo,
Cuando en el enunciado de un ejercicio me dicen:
Crear una función a la que se le pasará una cadena de caracteres de cualquier
 longitud
  o  " Crear una función que copie el contenido de un primer vector de flotantes
en otro segundo con el mismo número de elementos. ",en Relacion al numero de elementos yo realize los ejercicios usando despues del printf en el cual el usuario indique la longitud lo siguiente:
float *vec=new float[l]; // caso 1 donde l es la longitud..
char *cad = new char[l+1];// le puse el mas uno por el /0 ..

claro que luego use un delete para liberar la memoria reservado delete []vec;
Pero no se si hago bien..
os pongo el codigo del primer ejercicio para que porfavor me deis vuestra opinion..
Salu2
Código
  1. /*5.    Crear una función que copie el contenido de un primer vector de flotantes
  2. en otro segundo con el mismo número de elementos. La función debe ser válida para
  3. cualquier par de vectores con el mismo número de elementos. Genera el
  4. programa principal para poder ejecutar la función creada.*/
  5.  
  6. #include<stdio.h>
  7. #include<string.h>
  8. void copiar_valor(float *,int,float *);
  9. void print_vector(float *,int,float *);
  10. void main(){
  11.  
  12. int l=0,i=0;
  13. do{
  14. printf("Introduce la longitud del primer vector:\n");
  15. scanf("%d",&l);
  16. }while(l<0);
  17. printf("La longitud del segundo vector sera la misma\n");
  18. float *vec=new float[l];
  19. float *vec2=new float[l];
  20.  
  21. for(i=0;i<l;i++){
  22. printf("inserta valores para el primer vector %d:",i);
  23. scanf("%f",vec+i);
  24. }
  25.  
  26.  
  27. copiar_valor(vec,l,vec2);
  28. print_vector(vec,l,vec2);
  29. delete []vec;
  30. delete []vec2;
  31. }
  32. void copiar_valor(float *vector,int size,float *vector2){
  33. int i;
  34. for(i=0;i<size;i++){
  35.  
  36. *(vector2+i) = *(vector+i);
  37. }
  38.  
  39.  
  40. }
  41. void print_vector(float *vector,int size,float *vector2){
  42. int j;
  43. for(j=0;j<size;j++){
  44. printf("%0.2f\n",*(vector2+j));
  45. }
  46. for(j=0;j<size;j++){
  47. printf("\n%0.2f",*(vector+j));
  48.  
  49.  
  50. }
  51. }
  52.  

..Mil gracias  :)
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines