Visualizzazione dei risultati da 1 a 6 su 6

Visualizzazione discussione

  1. #1

    [C] Esercizio su file e somma di caratteri ASCII

    Salve , sto cercando di risolvere questo esercizio, ma mi sa proprio di avere delle lacune:

    Scrivere in C una funzione void fun(FILE *f1, FILE *f2) che prende come parametri due puntatori a file. f1 `e un file di caratteri e f2 un file di interi. f1 contiene sequenze di caratteri, magari parole senza senso, separate da uno o pi`u spazi. Ogni intero contenuto in f2 dovrebbe corrispondere alla somma delle codifiche ASCII dei caratteri in f1. Chiaramente,il primo intero corrisponde alla prima sequenza di caratteri, il secondo alla seconda e cos`ı fino alla fine. Il metodo deve restituire un intero uguale a: −1 se esistono pi` u sequenze di caratteri in f1 che numeri in f2 o viceversa, 0, se un numero presente in f2 non `e uguale alla somma delle codifiche dei caratteri della sequenza corrispondente, n, ovvero numero di sequenze/interi letti,sei due file sono costruiti in modo corretto.

    Ho provato così:

    codice:
    #include <stdio.h>
    #include <string.h>
    #define MAX 30
    
    int  fun(FILE *f1, FILE *f2){
        rewind(f1);
        rewind(f2);
        char r1,v1;
        int t=0,r2,k,v2;
         
     do{
        r2 = fread(&v2, sizeof(int), 1, f2);
        while(v1=getc(f1)!=' '){
           t+=v1;
        }
        if (r1==0||r2==0) return -1;
        if(v2==t) k++;
        if(v2!=t) return 0;;
       }while(r1>0||r2>0);
       
      return k;
    }
    int main(){
     FILE *f1,*f2;
     if((f1=fopen("car.txt","r"))==NULL) printf("errore\n");
     if((f2=fopen("num.txt","r"))==NULL) printf("errore");
     printf("%d",fun(f1,f2));
    
    
     return 0;
    }
    Ultima modifica di LeleFT; 16-02-2018 a 18:47 Motivo: Aggiunti i tag CODE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.