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

#101
Bueno, sí entendí mejor por lo menos la idea.

Ahora si yo quisiera por ejemplo escribir esto pero sin un while ¿Cómo lo haría?

while ((buffer[0] = c = getchar()) == ' ' || c == '\t' || c=='\n');

O sea yo en realidad todavía no entiendo que hace ese while cuando se cumple la condición y si no se cumple.

:-\

Saludos!
#102
Me parece muy confusa tu forma de explicar.

Todavía no lo entiendo bien, o sea yo creía que solo cuando se daba la igualdad no se hacía la asignación algo así

¿Podrías explicarmelo de nuevo, con otras palabras?

Saludos!
#103
#include <stdio.h>

int main (void){

  int a,c;
  a=c=3;

  while ((a=c=getchar()) == '1');

  printf ("c:%c\n",c);
  printf ("a:%c\n",a);

  return 0;
}



[dresuer@emachine TRABAJILLO]$ echo '3' | ./TEST
c:3
a:3
[dresuer@emachine TRABAJILLO]$ echo '1' | ./TEST
c:

a:

[dresuer@emachine TRABAJILLO]$


¿Qué hace este programa?

¿Por qué a y c valen una nueva linea?

¿a=c='\n'?

No entiendo.
#104
/*
Escribir un programa que lea enteros y los almacene en un arreglo
sin conocer de antemano la cantidad de valores que se leerán.
El programa deberá completar el arreglo hasta que se ingrese un número negativo,
valor que no se agregará a la mencionada estructura de datos. Finalmente deberá imprimir
el promedio de los elementos del arreglo.
*/

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


int main (void){
int promedio;
int i;
int *AR=malloc(1*sizeof(int));
int *AR_tmp;

i=promedio=0;


printf ("Introduce un numero positivo: \n");
scanf ("%d",&AR[i]);


while (AR[i]>=0){
promedio+=AR[i];
i++;
AR_tmp = realloc(AR, (1+i) * sizeof(int));
if (AR_tmp==NULL){free(AR_tmp); exit(1);}

AR=AR_tmp;
// Ya no lo necesitamos.
AR_tmp=NULL;
scanf ("%d",&AR[i]);
printf ("Tamaño de a: %lu\n",sizeof(AR));
}
printf ("Promedio: %f\n",(double)promedio/(i));

free(AR);


return 0;
}


Listo!
#105
Hola a todos!

Me tira un error, en realidad no sé bien como usar realloc.

/*
Escribir un programa que lea enteros y los almacene en un arreglo
sin conocer de antemano la cantidad de valores que se leerán.
El programa deberá completar el arreglo hasta que se ingrese un número negativo,
valor que no se agregará a la mencionada estructura de datos. Finalmente deberá imprimir
el promedio de los elementos del arreglo.
*/

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


int main (void){
int a,promedio;
int i;
int *AR=malloc (1*sizeof(int));
int *tmp_AR;

i=promedio=0;
printf ("Number no negative: \n");
scanf ("%d",&AR[i]);
while (AR[i]>=0) {
promedio+=AR[i];
scanf ("%d",&AR[i]);

tmp_AR=realloc(AR,(1+i)*sizeof(int));
if (tmp_AR == NULL){
// Falló la asignación de memoria.
exit (-1);
}
else {  
// Asignar memoria a AR
AR=tmp_AR;
}
i++;
}

printf ("Average: %f\n",(double)promedio);




return 0;
}


Me tira este error : Error in `./12': realloc(): invalid next size: 0x0000000001a63010 ***

Y encima después me acepta numeros negativos no entiendo por qué

¿Cómo lo debería hacer?
Saludos!
#106
Programación C/C++ / [C] Estructuras
18 Noviembre 2015, 22:21 PM
Buenas!  ;D

/*Escribir un programa que defina el tipo Persona, con nombre, edad y nacionalidad; solicite al
usuario el ingreso de los datos de 8 personas y los guarde en un arreglo con elementos de tipo Persona,
para finalmente extraer del arreglo los datos de la persona más joven e imprimirlos en pantalla.
Sugerencia: para probar el programa rápidamente se pueden guardar datos de personas
en un archivo de texto y redirigir el contenido del mismo, usando la consola de Linux, al binario del programa.*/


¿Alguien me ayuda con esto por lo menos me guia un poco?
No digo que lo hagan todo.

Hice tantos ejercicios que llegué a este y me trabé, ya estoy algo cansado.
Apreciaría mucho que mas o menos me den una idea o como debería pensarlo.

Saludos.
#107
Entendido, muchas gracias.
#108
Si eso si lo sé, a eso no me refiero, me refiero al (void*) que está adentro printf, no como está definida la función.

¿O entendí mal?
#109
Programación C/C++ / [C] (void*) ¿Para qué sirve?
18 Noviembre 2015, 15:55 PM
Hola a todos!, ¿para que sirve usar (void*) ahí?

#include <stdio.h>

void imprimir_dir(int x) {

printf("La direccion de memoria de a es: %p.\n", (void*) &x);
}

int main(void) {
int n;

printf("Introduzca un valor entero: ");
scanf("%d", &n);

printf("La direccion de memoria de a es: %p.\n", (void*) &n);

imprimir_dir(n);
return 0;
}


¿Qué pasa si yo hago esto?

/*
Definir una simple función imprimir_dir(int x) cuyo único propósito sea imprimir la dirección del entero
x que se le pasa. Crear una variable entera en main, imprimir su dirección ahí mismo y
luego pasar la variable a imprimir_dir. Comparar los resultados. ¿Es el comportamiento esperado?
*/

#include <stdio.h>

void imprimir_dir(int x){

printf ("%p\n",&x);

}

int main (void){
int a;
a=20;
printf ("%p\n",&a);

imprimir_dir(a);

return 0;
}



Lo que se me pide es: Definir una simple función imprimir_dir(int x) cuyo único propósito sea imprimir la dirección del entero x que se le pasa. Crear una variable entera en main, imprimir su dirección ahí mismo y luego pasar la variable a imprimir_dir. Comparar los resultados. ¿Es el comportamiento esperado?

Saludos!
#110
Hacking / [How] Bypassing chrome XSS protection
18 Octubre 2015, 16:16 PM
Hola a todos,

cómo dice el título como puedo saltearme filtros anti-xss de Chrome?, busqué información en internet pero no la entendí del todo, ¿alguien me lo podría dejar más claro y si puede ser darme un ejemplo?

Saludos!