Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - crack81

#171
Bueno te dejo esta version hecha en c, el codigo no esta tan limpio como deberia pero te dara una idea en c++ es mucho mejor la implementacion

#include <stdio.h>



void fPalabrasNumeros2(char *palabra){
     
     char almacen[255];
     int entro=0;
     int i=0;
     int cont=0;
     for(i=1;i<strlen(palabra);i++){
             
        if((isdigit(palabra[i]) && isdigit(palabra[i+1])||(isdigit(palabra[i]) && isdigit(palabra[i-1]))
            || (isdigit(palabra[i]) && palabra[i+1]==' '&& palabra[i-1]==' '))){
          entro=1;                               
          almacen[cont]=palabra[i];
          almacen[cont+1]='\0';
          cont++;
        }
        else if(entro==1){
            entro=0;
            almacen[cont]=' ';
            almacen[cont+1]='\0';
            cont++; 
        }
     }
     
     printf("%s",almacen);
}

int main(int argc, char *argv[])
{
   
  char *palabra="la casa 23 es mas bonita que la 56 y la 5+6";
  fPalabrasNumeros2(palabra);
 
  getchar();
  return 0;
}




Edito:
te dejo otra opcion usando funciones como strcpy y strcat

#include <stdio.h>



void fPalabrasNumeros2(char *palabra){
     
     char almacen[255];
     int entro=0,i=0;
     char *x=malloc(sizeof(char));
     strcpy(almacen,"");
     
     for(i=1;i<strlen(palabra);i++){
             
        if((isdigit(palabra[i]) && isdigit(palabra[i+1])||(isdigit(palabra[i]) && isdigit(palabra[i-1]))
            || (isdigit(palabra[i]) && palabra[i+1]==' '&& palabra[i-1]==' '))){
          entro=1;                             
          *x=palabra[i];
          strcat(almacen,x);
        }
        else if(entro==1){
            entro=0;
            *x=' ';
            strcat(almacen,x);
        }
     }
     
     printf("%s",almacen);
     free(x);
}

int main(void)
{
   
  char *palabra="la casa 23 es mas bonita que la 56 y la 5+6";

 
  fPalabrasNumeros2(palabra);
 
  getchar();
  return 0;
}


#172
Bueno de entrada no puedes comparar a python y c porque el primer posee un tipado dinamico versus el tipado estatico de c o c++ a eso se le añade que python es un lenguaje de alto de nivel lo contrario a c

Al ser tipado dinamico en c o c++ por fuerzas tienes que especifar que tipo de dato vas a leer por eso tu trabajo es pensar que tipo tengo que escoger, si necesito hacer operaciones como divisiones o raices lo mejor es usar valores reales como los float o double pero si lo necesito hacer sumas o restas quizas solo enteros tipo int, short int etc.

El ejemplo es burdo espero se entienda, es cierto lo que dice  ivancea96 que en c++ con el operador "cout" da un ejemplo mas parecido al de python.

personalmente me gusta las cout de c++ que los printf de c porque te evita el formateo del tipo de dato

te dejo un ejemplo:
Código (cpp) [Seleccionar]
#include <iostream>

using namespace std;

int main()
{
    float x;
    cout<<"Ingrese un valor"<<endl;
    cin>>x;//leemos el valor
    cout<<x<<endl;//lo imprimimos
   
    cin.get();//estados lineas es para que no se cierre tu programa hasta dar un enter
    cin.get();
    return 0;
}
#173
Mira este codigo espero te sirva

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

int main()
{

    char **pDobleOriginal=(char**)malloc(sizeof(char*)*20);
    unsigned long long int mac=123456789123;//12 valoress no se de cuanto sea la mac

    char buffer[20];
    sprintf(buffer,"%llu",mac);//convertimos el long long a char
    *pDobleOriginal=buffer;//copiamos la direccion

    printf("%s",*pDobleOriginal);//lo mostramos

    //aqui liberamos la memoria
    //.
    //.
    //.
    getchar();
    return 0;
}

#174
Programación General / Re: libros
24 Junio 2015, 02:56 AM
Yo generalmente siempre recomiendo object pascal(Delphi) porque es un lenguaje sencillo que enseña todas las bases necesarias, posee un manejo de puntero mas sencillo que c o c++ pero igual de efectivo es multiparadigma ya que posee programacion tanto imperativa como orientada a objetos.

Ademas que aunque tiene una comunidad mas pequeña que la de c++ o java es muy capacitada

te dejo algunos links:http://clubdelphi.com/foros/showthread.php?t=85907
#175
Bueno de entrada te conviene darle una revisada a los metodos de ordenacion para que te des una idea su funcionamiento y entiedas las distintas formas de implementacion como su uso, cuando usar uno y cuanod no.

link metodos ordenacion:http://www.c.conclase.net/orden/

Respecto a tu pregunta he implementado un codigo que utiliza el metodo de ordenacion burbuja que aunque es el mas ineficiente es el mas sencillo de aplicar y entender.


te dejo esta version

#include <stdio.h>

void ordernarPorBurbuja(int *lista,int TAM){
   
   int i,j;
   int temp; 
   
   for (i=1; i<TAM; i++){
      for(j=0; j<TAM - 1; j++){
          if (lista[j] > lista[j+1]){
             temp = lista[j];
             lista[j] = lista[j+1];
             lista[j+1] = temp;
          }
      }
   }

}

int main()
{
   
    int tam,i,valor;
    int *datos;
   
    printf("Introduce la cantidad de valores a introducir: ");
    scanf("%d",&tam);
   
    datos=malloc(tam*sizeof(int));
   
    for(i=0;i<tam;i++){
       printf("Ingrese el valor #%d\n",i+1);
       scanf("%d",&valor);
       datos[i]=valor;                   
    }
   
    ordernarPorBurbuja(datos,tam);
    printf("\nValores ordenados: \n");   
   
    for(i=0;i<tam;i++){
                       
      printf("%d ",datos[i]);
    }
   
   
   
    free(datos);
    getchar();
    getchar();
  return 0;
}

Si tienes preguntas no dudes en comentarlas saludos....
#176
Java / Re: Manejo de archivos en Java
26 Mayo 2015, 02:08 AM
El problema es sencillo pero necesitas dar mas info y claro como dicen daryo entender los temas pon ojo con el polimorfismo que me he dado cuenta que ha muchas personas no entienden la teoria como se deberia

saludos...
#177
Especifica un poco mas tu problema porque es muy general y no quiero hacerte una recomendacion que no sea la que estas buscando
#178
Programación C/C++ / Re: ????? :(
26 Mayo 2015, 01:57 AM
Te dejo esta version

Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;

int main()
{
    string arreglo="Bienvenido a la programacion XD";


    //usando for
    for(unsigned int i=0;i<arreglo.length();i++){
       cout<<(int)arreglo[i]<<" ";
    }
    cout<<endl;
    //------------------------------------<------------
    //usando while
    unsigned int i=0;

    while(i<arreglo.length()){
       cout<<(int)arreglo[i]<<" ";
       i++;
    }
    cout<<endl;
    //---------------------------------------------------
    //usando don while

    i=0;

    do{
      cout<<(int)arreglo[i]<<" ";
      i++;
    }
    while(i<arreglo.length());

    cin.get();
    cin.get();
    return 0;
}
#179
Programación C/C++ / Re: Duda
24 Mayo 2015, 05:13 AM
Una de las formas mas sencillas de hacerlo es haciendo lo siguiente

Código (cpp) [Seleccionar]
#include<iostream>
using namespace std;

int main(){

   long long int x=1234567891234567;

   if(x>=1000000000000000 || x<=9999999999999999){
       cout<<"solo posee 16 digitos"<<endl;
   }
   else{
       cout<<"No posee 16 digitos"<<endl;
       }


cin.get();
cin.get();
return 0;
}
#180
A mi me funciona bien no se cual es tu problema quiza necesitas especificar mejor tu pregunta para poder ayudarte saludos

yo probe esto

Código (c_mac) [Seleccionar]
#include<stdio.h>
#include <stdlib.h>
#include <string.h>


int valor=14;
char varPantalla[3];

void Bton_LCD_Dwn(int index){
    if (index==1){
           if(valor>=0){
                 valor=valor-1;
                 strcpy(varPantalla,"");
                 itoa(valor,varPantalla,10);
            }
        }
       
     printf("%d",valor-1);
}


int main(){

   Bton_LCD_Dwn(1);

return 0;
}