Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- PREGUNTA N°1
- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- PREGUNTA N°2
- typedef struct Ingrediente{
- char ingre[1001];
- int caso;
- }ingrediente;
- void cualesNoLeGustan(FILE *entrada){
- char cadena[1001]={};
- int caso;
- ingrediente vector[1001] ={};
- int i, flag, totalS = 0, totalN = 0, total = 0,cont = 0;
- while(fscanf(entrada,"%s",cadena) != EOF){
- //Cuando le gustra el colado
- flag = 0;
- if(cadena[0] == 'S'){
- while(fscanf(entrada,"%s",cadena) != EOF){ //hay que hacer bien el final de la cadena
- if(cadena[0] == 'F'){
- caso = 0;
- totalS++;
- //Falta corroborar acá si ya estaba antes
- for(i = 0; i < cont; i++){
- if(strncmp( cadena, vector[i].ingre, 10001 ) == 0){
- flag = 1;
- if(vector[i].caso == 1){
- vector[i].caso = 0;
- }
- break;
- }
- }
- }
- }
- }else{
- while(fscanf(entrada,"%s",cadena) != EOF){
- if(cadena[0] == 'F'){
- caso = 1;
- totalN++;
- if(strncmp( cadena, vector[i].ingre, 10001 ) == 0){
- flag = 1;
- break;
- }
- }
- }
- }
- //Cuando es valido se guarda el valor
- if(flag == 0){
- strcpy(vector[cont].ingre, cadena);
- vector[cont].caso = caso;
- cont++;
- }
- }
- total = totalS+totalN;
- totalN = 0;
- if(totalN > 0 && total > 0){
- cont = 0;
- i = 0;
- printf("A Lucas NO le gustan los siguientes ingredientes :");
- do{
- if(vector[cont].caso == 1){
- printf("\n%s",vector[i].ingre);
- i++;
- }
- cont++;
- }while(i != (totalN-1));
- }else if(totalN == 0 && total > 0){
- printf("A Lucas le gustan todos los ingredientes !");
- }else{
- printf("Es imposible determinar que ingredientes no le gustan a Lucas!");
- }
- }
- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- PREGUNTA N°3
- void desencriptar(FILE *entrada, FILE **salida){
- int i, j, pos, despla = 0, largo, flag;
- char cadena[1001];
- char mayus[27] = "abcdefghijklmnopqrstuvwxyz";
- char minus[27] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
- scanf("%d",&despla);
- do{
- if(despla < 26){
- break;
- }
- despla %= 26;
- }while(despla >= 26);
- if(despla == 0){
- while(fscanf(entrada,"%s",cadena) != EOF){
- printf("%s",cadena);
- }
- exit(0);
- }
- while(fscanf(entrada,"%s",cadena) != EOF){
- largo = (int)strlen(cadena);
- for(i = 0; i < largo; i++){
- if(isalpha(cadena[i]) == 0){
- flag = 0;
- for(j = 0; flag == 0; j++){
- if(cadena[i] == mayus[j]){
- pos = j+despla;
- do{
- if(pos < 26 && pos > -26){
- break;
- }
- pos %= 26;
- }while(pos >= 26 && pos <= -26);
- cadena[i] = mayus[pos];
- break;
- if(cadena[i] == minus[j]){
- pos = j+despla;
- do{
- if(pos < 26 && pos >= -26){
- break;
- }
- pos %= 26;
- }while(pos >= 26 && pos >= -26);
- cadena[i] = minus[pos];
- break;
- }
- }
- }
- }
- printf("%s ",cadena);
- }
- }
- //los problemas estan al guardar los datos, imprimir los datos, lo recomendable sería que use los caracteres para que
- //los espacios y enter funcionen al imprimir y revisar que se muevan los caracteres correctamente
- }
- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- PREGUNTA N°4
- typedef struct Nombres{
- int cantNom;
- char nombre[26];
- }nombres;
- void mostrarNombresDeModa(FILE *entrada){
- nombres *cadena;
- char vector[26];
- int i, cont = 1, aux = 0;
- cadena = (nombres*) malloc (sizeof(nombres));
- scanf("%25[^\n]s", vector);
- strcpy(cadena[0].nombre, vector);
- cadena[0].cantNom++;
- while( scanf("%25[^\n]s", vector) != EOF){
- cont++;
- for(i = 0; i < cont; i++){
- if(strcmp(vector, cadena[i].nombre) == 0){
- cadena[i].cantNom++;
- break;
- }
- }
- if(cadena[i].cantNom == 0){
- cadena = (nombres*) realloc (cadena, (cont)*sizeof(nombres));
- strcpy(cadena[cont-1].nombre, vector);
- cadena[cont-1].cantNom++;
- }
- }
- for(i = 0; i < strlen(cadena); i++){
- if(aux < cadena[i].cantNom){
- aux = cadena[i].cantNom;
- }
- }
- printf(" ------------------------------------------------------------\n");
- printf("| LISTADO DE NOMBRES MAS POPULARES |\n");
- printf(" ------------------------------------------------------------\n");
- for(i = 0; i < strlen(cadena); i++){
- if(cadena[i].cantNom == aux){
- prinf(" Cantidad | Nombre\n");
- printf(" ------------------------------------------------------------\n");
- printf("%10d | %s", cadena[i].cantNom, cadena[i].nombre);
- printf(" ------------------------------------------------------------\n");
- }
- }
- }
- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- PREGUNTA N°5
- filtrarNumerosEnteros(FILE *entrada, FILE **salida){
- int i,cont;
- char cadena[1001] = {};
- while(fscanf(entrada,"%s",cadena) != EOF){
- cont = 0;
- for(i = 0; i < strlen(cadena); i++){
- if(isdigit(cadena[i])){
- cont++;
- }
- }
- if(cont == strlen(cadena)){
- printf("%s\n",cadena);
- }
- for(i = 0; i < strlen(cadena); i++){
- cadena[i] = '\0';
- }
- }
- }
- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment