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 - NOB2014

#181
Muy bien, me queda todo claro. ;-) ;-) ;-)
Saludos.
#182
Creo que en parte me cayo la ficha, díganme, el código que pongo a continuación demuestra correctamente que el paso de un puntero a función es por valor? . -
Sosar, realmente lo tuyo fue muy didáctico. -   
Alberto... me podes decir de donde sacaste esto, ¿cómo se mastica?
q[0] +=1;

#include <stdio.h>

void funcionCp(int *q);


int main( void ){
int a=100, *p = &a;

funcionCp(p);

printf("\n En main *p = %d", *p);


return 0;
}

void funcionCp(int *q) {
    q++;
}


Mucha gracia al resto que me ayudo a entender un poco más de los punteros. -
Un abrazo.
#183
Gracia por ocuparte, voy a intentarlo en partes, porque con el barullo que tengo no logro explicarme, ¿es correcto que los punteros se pasan a las funciones por valor? -
#184
Hola gente.
No quería molestarlos por esta nimiedad pero en realidad no logro realizar el código correcto para demostrarlo, en todos los manuales dice que los punteros se pasan a las funciones por valor, ¿es este un Ej. correcto para demostrarlo? porque estoy pasando el puntero y en main se modifica el valor al pasar un puntero a la función, y en el otro caso es correcto porque estoy pasando la variable "a" por referencia pasando la dirección de memoria.-

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

void funcionCp(int *q);
void funcionDm(int *q);


int main( void ){
int a=100, *p = &a;

funcionCp(p);

printf("\n Variable *p = %d", *p);

funcionDm(&a);

printf("\n Variable *p = %d", *p);

return 0;
}

void funcionCp(int *q) {
*q+=1;
}

void funcionDm(int *q) {
*q+=1;
}


Saludos.
#185
Hola.
El programa que dejo a continuación funciona perfectamente en Linux pero no en Windows, la primera línea borra la pantalla y la segunda cambia la posición del cursor. -
La pregunta es ¿conocen algo tan sencillo como esto para hacer lo mismo en Windows?, sin utilizar bibliotecas externas o el API de Windows. -
Solo que las coordenadas no las puedo hacer funcionar utilizando los valores insertados en una variable, estoy practicándolo. -

int x = 10, y = 10;
printf("\033[x;yH");


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

int main( void ){

printf("\033[2J\033[1;1H");
printf("\033[10;10H");

printf( "\n Pulse una tecla para cambiar la posicion del cursor en pantalla..." );
getchar();

printf("\033[2J\033[1;1H");
printf("\033[1;1H");
printf( "\n Ahora estoy en otro lugar..." );

getchar();

return 0;
}


Eternal , Littlehorse desconozco la legalidad en los foros por ello si necesitan la fuente me lo dicen y la posteo.- 

Saludos.
#186
Hola.
Ufff, lo de Orubatosu me había desconcertado, si la condición es falsa el bucle no se ejecuta nunca tanto en for como en while por qué la misma se verifica al comienzo, en cambio, con do while aunque sea falsa la primera vez se lee lo que está dentro del bloque porqué la condición se encuentra al final, espero estar en lo cierto.-     

Saludos.
#187
Hola.
Gracias a ambos por ocuparse, como lamentablemente todavía desconozco cómo desensamblar
un programa me quedo con que es indiferente utilizar uno u otro. -

Saludos.
#188
Hola a todos.
Bueno esa es mi intriga, estoy haciendo un programa para practicar y note que tiene más de 10 bucles y sin pensar demasiado los hice todos con while, quisiera saber si esto de utilizar uno u otro pude afectar la memoria como a la velocidad del programa. -

Saludos.
#189
Hola, Alberto. -
Mil disculpas, me olvide lo principal, te dejo lo que tengo de la función para que veas que lo estoy haciendo todo con el tipo char. - 

void alinear( char operandoUno[], char operandoDos[] ){
char resultado[MAX_COL], *pUno = NULL, *pDos = NULL;
int puntoUno=-1, puntoDos=-1; size_t i = 0, j;
memset( resultado, 0, MAX_COL-1 );


if((pUno=strchr(operandoUno, '.'))) {puntoUno = pUno-operandoUno;}
if((pDos=strchr(operandoDos, '.'))) {puntoDos = pDos-operandoDos;}

if( puntoUno != puntoDos ) {
j = puntoDos - 1;
if( puntoUno > puntoDos ){
if( puntoDos >= 0 ){
resultado[puntoUno] = '.';
}
while( 1 ){
if( isdigit([operandoDos[i])){
resultado[j] = operandoDos[i];
}

}
}
else{
printf("\n puntoDos %u > puntoUno %u", puntoDos, puntoUno);
}
}
}

Saludos.
#190
Hola.
Estoy realmente trabado con esto, hace más de 2 días que le doy vueltas (tire unas 30 hojas oficio) al asunto y nada, como estoy a punto de abandonarlo por unos días me dije seguramente en ese foro debe haber mentes iluminadas que me puedan tirar una soga. - :huh: :huh: :huh:
Para comenzar, les dejo unos posibles ingresos que se pueden dar, la pregunta es: ¿alinearían las 2 cifras con respecto al punto o lo harían directamente? -

Se trata de la opción: Sumar

123.45  ==> 123.45
6.5                    6.5

12.34     ==>       12.34
1234.56            1234.56

1234.56  => 1234.56
123                123

Si desean no poner código no importa, solo necesitaría un poco de pseudocódigo para aclarar un poco el panorama.-

Saludos.