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.


Mensajes - berto

Páginas: [1]
1
Gracias por el aporte pero pasar a cadenas, tratar con arrays es lo ultimo que quería yo hasta ahora no he utilizado char en ccs. Tampoco me convence algo que he visto a base de meter bucles for para concatenar enteros (por el tiempo de ejecución)

Creo que esto seria mas rápido

if (dato1>99){ multiplica=1000; }//Esto es lo mas probable que se cumpla
else { if(dato1>9) { multiplica=100; }
else { multiplica=10; } }

resultado = dato1+(dato2*multiplica);//dto2 concatenacion dato1

2
Ejemplo :

dato=0009...resultado debe ser...1
dato=0025...2
dato=0109...3
dato=4830...4

También me gustaría hacer lo siguiente, no se si  tendrá  un nombre matemático yo lo desconozco.

dato1=25; dato2=109....resultado debe ser....25109 

Lo que mas me gustaría es un ejemplo de codigo o saber si hay alguna funcion en C que desempeñe esto, mas su correspondiente #libreria pero agradeceria tambiénel nombre matemático de ambas para saber que tengo que buscar.

3
Citar
Has probado a hacer esto int[5]{4564,3454,444,1,99};

Perdón, queria decir int[5]{99,1,444,300,400};

Esto solo me favorece a mí buscando el menor

4
Hola Sixtoes gracias por el código, me ha servido de base

Pero creo que te lo has puesto demasiado fácil con int[5]{4564,3454,444,1,99};

¿Has probado a hacer esto int[5]{4564,3454,444,1,99};

Siguiéndolo mentalmente creo que haría esto:

//i=0//[0]99[1]1.../i=1//[1]444[2]1....if[0]444[1]1"[2]1(pierdes el valor 99 "creo" 

Me pasaba en mi caso contrario porque yo necesito de menor a mayor

Y lo he modificado yo estoy con ccs de esta forma: lis[5]//lista[] me gustan nombres cortos

Lo he probado con un array[10] nu=5; valores aleatorios y también funciona

Código: [Seleccionar]
//He quitado algunas cosas para hacer referencia a lo principal
//originalmente l is [ x] seria di s[psz[x]] (dis tancia [pos icion[x]])

Código: [Seleccionar]
.......
unsigned int16 va16,lis[11];
unsigned int8 c1;
.....
void burbuja(){
unsigned int8 c0=0;
for(c0=0;nu>=c0;c0++){//si nu=5---> 0 1 2 3 4 pasadas
c1=c0+1;
//nu=5//90...500....120....370....25.....50//25 es primero
//resultado esperado
//c0=0/lis[0]=90...[1]=500   //c0=1/[1]=120...[2]=500   
//c0=2/[2]=370...[3]=500     //c0=3/[3]=25...[4]=500....(IF[0]>[3])....[0]=25...[3]=90
//C0=4/[4]=50...[5]=500
if(lis[c0]>lis[c1]){//si c0 esta a + distancia k c1 ...c1 tiene prioridad + cercano
va16=lis[c1];//guarda al prioritario(menor valor)
lis[c1]=lis[c0];//pon al secundario en posicion array[mayor++];
lis[c0]=va16; }
if(c0>1){// && c1<nu){//3ª pasada 2 3 4
if(lis[0]>lis[c0]){//si [0]=90 y [3]=25.....
va16=lis[0];
lis[0]=lis[c0];
lis[c0]=va16;
}//.....................[0]=25 y [3]=90
}//3ª pasada
}//si nu=5---> 0 1 2 3 4 5 pasadas
}

Código: [Seleccionar]
El menor valor=25 siempre se guarda en li s [0]

El resultado no es perfecto seria lis[0]=25 [1]=120 [2]=370 [3]=90 [4]=50 [5]=500
pero no se pierde ningún valor lis[x] y todo se corrige a base de efectuar void burbuja()
4ºejecucion burbuja(); es exacto (en este caso)

lis[0-5]={25,50,90,120,370,500}

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".