UTNianos

Versión completa: [APORTE] Informática I.
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Páginas: 1 2
Hola colegas (?)

Estuve hablando y vi que somos varios los que vamos a intentar aprobar este maldito final en la fecha siguiente. Por ende se me ocurrió compartir lo que vine haciendo hasta el momento. A continuación adjunto programas que incluyen lista (simpley doblemente enlazada), manejo de archivo y un mini tutorial de las más que conocidas funciones de ordenamiento. Más adelante subiré algún programa que simule un juego de cartas (que vi que se tomó en los últimos finales). Obviamente funcionan, sino no subiría nada.
Agradecería a aquel que aporte algo de sockets. El .rar son las imágenes adjuntas para el que le parezca más cómodo.

Saludos! thumbup3

LISTAS+MANEJO DE ARCHIVO.

[attachment=3203]
[attachment=3204]
[attachment=3205]
[attachment=3206]
[attachment=3207]

ORDENAMIENTO.
[attachment=3208]
[attachment=3209]

[attachment=3210]
Buen aporte mati!
Yo deberia darlo ahora que tengo todo fresco, pero estan todas las fechas muy juntas lptm

Practicar en papel es la posta de la milanga.. There's no other way
Por nada =D
Jugatela, total un pato más un pato menos no hace la diferencia (?)
Ahora que vi la fecha es el 24 a las 19, y el parcial de am2 es el sabado anterior.
Tendria 5/6 dias, lo voy a pensarr
El dilema es sockets si o sockets no jajaj
Julian yo hago analisis y proba el 21... de última me como un 2.. :/
Analisis tenemos el 19, no el 21!
Por cierto.. como nos hizo ir al pedo Amed hoy ;)
A vos.. yo no fui jajajajaja
Mando un mail ayer a todos!, No tenia pc y me costaba entrar a todos lados y le avise a los que pude perdon =(

Yo tengo proba el 21^^
lptmqlp, eso me pasa por no haberme inscripto al curso del campus virtual thumbdown
Nono no te inscribas solo mandale un mail y en asunto ponele: Curso: 20xx nombre-apellido y listo!

Off-topic:
Ahi se lo mande, gracias..
Soy un colgado

Le offtopiaquemos todo el thread a mati =P
(12-05-2012 14:40)JulianD escribió: [ -> ]El dilema es sockets si o sockets no jajaj
Mmm yo capaz lo veo por arriba a eso Jajaja

(12-05-2012 14:56)Feer escribió: [ -> ]Julian yo hago analisis y proba el 21... de última me como un 2.. :/
Esa es la actitud!
Bueno, como prometí vengo a seguir subiendo programitas (pero esta vez no fuincionando al 100%). Aprovecho las facilidades del foro y lo compilo acá mismo (espero que no tire más errores que el compilador de Linux). También adjunto el enunciado del ejercicio de final (el primero de los prácticos).


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

#define A "Oro"
#define B "Espada"
#define C "Copa"
#define D "Basto"

int main (void)
{
typedef struct carta {
const char *numero;
const char *palo;
} Carta;

Carta *CP;

int i=0, n;
char *p;

srand(getpid());

for (i=1 ; i<=52 ;i++)
{
n = rand() % 12 + 1;
p = rand() % 'D' + 'A';

CP->numero=(const char *) n;
CP->palo=(const char *) p;

if (i<=26) printf ("\n\nJugador 1:\n\n");
else printf ("\n\nJugador 2:\n\n");

printf ("\n\nCarta %s de %s\n\n",CP->numero,CP->palo);
}

return 0;
}


[attachment=3211]
El de las cartas yo lo tengo andando, saludos!




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

typedef struct carta {
const char *numero;
const char *palo;
} Carta;

void cargar(Carta *mazo, char *mazo_fila[], char *mazo_columna[]);
void barajar(Carta *mazo);
void repartir(Carta *mazo);

int main(void){

char *mazo_fila[]={"picas","corazones","diamantes","treboles"};
char*mazo_columna[]={"uno","dos","tres","cuatro","cinco","seis","siete","ocho","nueve","diez","jack","reina","rey"};
Carta mazo[4][13];

srand(time(NULL));

printf("Reparto de cartas: \r\n\n");
cargar(mazo,mazo_fila,mazo_columna);
barajar(mazo);
repartir(mazo);
getchar();
return(0);
}

void cargar(Carta *mazo, char *mazo_fila[], char *mazo_columna[]){

int i;

for(i = 0; i <= 51; i++){
(mazo+i)->numero = *(mazo_columna + (i%13));
(mazo+i)->palo = *(mazo_fila + (i/13));
}
}

void barajar(Carta *mazo){

int i, j;
Carta buffer;

for(i = 0; i <= 51; i++){
j = rand()%52;

//swap
buffer = *(mazo+i);
*(mazo+i) = *(mazo+j);
*(mazo+j) = *(mazo+i);
}
}

void repartir(Carta *mazo){

int i,j;

for(i = 0, j = 0; i < 52; j++, i+=2)
printf("%d.\tJugador 1: %s %s\t\tJugador 2: %s %s\n",j,mazo[i].numero,mazo[i].palo,mazo[i+1].numero,mazo[i+1].palo);
}





Cualquier sugerencia es bienvenida!
Acá tira errores pero en linux anda.
No entiendo la función barajar, ¿qué se supone que hace? (buen ya sé que baraja, cómo trabaja me refiero).


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

typedef struct carta {
const char *numero;
const char *palo;
} Carta;

void cargar(Carta *mazo, char *mazo_fila[], char *mazo_columna[]);
void barajar(Carta *mazo);
void repartir(Carta *mazo);

int main(void){

char *mazo_fila[]={"picas","corazones","diamantes","treboles"};
char*mazo_columna[]={"uno","dos","tres","cuatro","cinco","seis","siete","ocho","nueve","diez","jack","reina","rey"};
Carta mazo[4][13];

srand(time(NULL));

printf("Reparto de cartas: \n");
cargar((Carta*)mazo,mazo_fila,mazo_columna);
barajar((Carta*)mazo);
repartir((Carta*)mazo);
getchar();
return(0);
}

void cargar(Carta *mazo, char *mazo_fila[], char *mazo_columna[]){

int i;

for(i = 0; i <= 51; i++){
(mazo+i)->numero = *(mazo_columna + (i%13));
(mazo+i)->palo = *(mazo_fila + (i/13));
}
}

void barajar(Carta *mazo){

int i, j;
Carta buffer;

for(i = 0; i <= 51; i++){
j = rand()%52;

//swap
buffer = *(mazo+i);
*(mazo+i) = *(mazo+j);
*(mazo+j) = *(mazo+i);
}
}

void repartir(Carta *mazo){

int i,j;

for(i = 0, j = 0; i < 52; j++, i+=2)
printf("%d.\tJugador 1: %s %s\t\tJugador 2: %s %s\n",j,mazo[i].numero,mazo[i].palo,mazo[i+1].numero,mazo[i+1].palo);
}

Páginas: 1 2
URLs de referencia