• Martes 12 de Noviembre de 2024, 21:31

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - kikocrak

Páginas: [1]
1
C/C++ / Mostrar numeros ordenados de una lista
« en: Domingo 3 de Enero de 2010, 16:59 »
Buenas gente, tego que hacer un programa que muestre ordenada una lista de numeros enteros. Muchas gracias, Un saludo.

Código: C
  1.  
/* Programa que meta ordenados los numeros a una lista */
#include<stdio.h>
#include<stdlib.h>

    struct nodo{
        int numero;
        struct nodo *siguiente;
    };
 
int  main(void){  
    void IntroducirOrden(struct nodo *primero, int num);
    void Mostrar(struct nodo*primero);
   
    struct nodo *primero;
    primero=NULL;
    int opcion;
    int num;
   
    do{
       
        printf("MENU.n");
        printf("1.-Introducir Numero.n");
        printf("2.-Mostrar lista.n");
        printf("3.-Salir.n");
        printf("OPCION:");
        scanf("%d",&opcion);
   
    switch(opcion){
       
        case 1:
                printf("Introduzca un numero:");
                scanf("%d",&num);  
                system("cls");
                IntroducirOrden(primero,num);
        break;
        case 2:
                Mostrar(primero);
        break;
       
        case 3:
       
        break;
       
        default :
            printf("Opcion Incorrecta.n ");
        break;
     
      }/*switch */  

}while(opcion!=3);


}/*main */



void IntroducirOrden(struct nodo *primero, int num){
   
    struct nodo *nuevo;
    struct nodo *anterior;
    struct nodo *actual;
   
/* Busoc la posicion en la que debo insertar el nodo */

    anterior=actual=primero;
   
    while((actual!=NULL)&&(actual->numero<num)){
       
        anterior=actual;
        actual=actual->siguiente;
    }
   
/* Creo el nodo */

nuevo=(struct nodo*)malloc(sizeof(struct nodo));

nuevo->numero=num;

/* Ajusto los punteros */

if((actual==NULL)||(anterior=actual)){ /* Inserto al principio */
        nuevo->siguiente=anterior;
        primero=nuevo;

}else{   /* Inserto entre medias o al final */
   
    nuevo->siguiente=actual;
    anterior->siguiente=nuevo;
}

}

void Mostrar(struct nodo*primero){
   
    struct nodo *auxiliar;
   
    auxiliar=primero;
   
    while(auxiliar!=NULL){
        printf("%d",auxiliar->numero);
        auxiliar=auxiliar->siguiente;
    }
}

2
C/C++ / Matrices y punteros
« en: Lunes 28 de Diciembre de 2009, 22:38 »
Buenas gente tengo que hacer un programa que pase una matriz por referencia y de esa matriz me diga el numero de ceros, de valores positicos y de negativos, lo he hecho de la siguiente forma pero nada. Muchas gracias.
Código: C
  1.  
/* Dada una matriz de dimensiones d1xd2 devuelva el numero de elementos negativos, iguales a cero y positivos que tenga*/

#include<stdio.h>
#include<stdlib.h>

main(){
   
        int filas, columnas;
        int *ceros,*pos,*nega;
        int *m;
        int i,j;
        void Cuenta(int *m,int filas,int columnas,int *ceros,int *pos,int *nega);
       
        do{
            printf("Introduzca el numero de filas][%d]=",i,j);
                scanf("%d",(m+columnas*i+j));
            }
        }
      ceros=0;
      pos=0;
      nega=0;
Cuenta(m,filas,columnas,&ceros,&pos,&nega);
      printf("Hay %d ceros.n",ceros);
      printf("Hay %d numeros positivos.n",pos);
      printf("Hay %d numeros negativos.n",nega);
    }
       

void Cuenta(int *m,int filas,int columnas,int *ceros,int *pos,int *nega){
   
   
    int i,j;
   
    for(i=0;i<filas;i++){
            for(j=0;j<columnas;j++){
               
                if(*(m+columnas*i+j)==0){
                    (*ceros)++;
                }
                if(*(m+columnas*i+j)<0){
                    (*nega)++;
                }
                if(*(m+columnas*i+j)>0){
                    (*pos)++;
                }
            }
        }

}

3
C/C++ / Borrar espacioes en blanoc de una cadena de caracteres
« en: Sábado 28 de Noviembre de 2009, 18:14 »
Buenas chicos:

Tengo que hacer un programa que elimine los espacios en blanco de una cadena de caracteres, no se donde esta el fallo, no puedo utiolizar funciones.
/* Programa que elimina de una cadena de caracteres espacios en blanco */
#include<stdio.h>
#define N 40

main(){
   
    char cad_esp[N];
    char cad_sinesp[N];
    int i,je;
   
    printf("Introduzca la cadena a eliminar los espacios:");
    scanf("%s",cad_esp);
   
    for(i=j=0;cad_esp!='';i++)
        cad_sinesp[j]=cad_esp;
       
        if(cad_esp==' '){
            cad_sinesp[j]=cad_esp[i+1];
            j++;
        }
       
    cad_sinesp[j]='';

    printf("La cadena sin espacios es: %sn",cad_sinesp);

}


Os agradeceria vuestra colaboracion, muchas gracias.

Páginas: [1]