Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    help in c

    Salve a tutti, io dovrei fare un programmino in c che legga come input un file.txt che ad esempio sia fatto così:

    0123#56789
    #123456789
    01234#6789
    0 * 2 3
    0 1 2 *
    0 1 @ 3
    0 * 2 3
    : 1 2 3
    # 1 2 3

    e produca come output un altro file txt con i numeri mancanti, ad esempio:
    matricola risposte
    4 0 5 1 3 2 1 0 0

    Siccome nn sono un grande programmatore, se mi poteste dare una mano mi salvereste.Grazie in anticipo dello sbattimento

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Ciao, ho provveduto a modificare il titolo in quanto non molto significativo e non aderente alle convenzioni prestabilite dal nostro Regolamento che, dato che sei nuovo, ti suggerisco di leggere per conoscere tutte le norme di buona convivenza all'interno di quest'area.

    Ciao e...buon forum!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di DydBoy
    Registrato dal
    Jul 2005
    Messaggi
    165
    codice:
    #include <stdio.h>
    #include <string.h>
    
    main() 
    {
    	FILE *file = fopen ("text.txt","r");
    	FILE *fileOut = fopen ("result.txt","w");		
    	
    	char buffer[100];
    	int i=0;
    	char *string;
    
    	while (fgets(buffer,100,file) != NULL)
    	{
    		string = strtok(buffer,"\n\t\r");
    		
    		while (string[i] == (i+48))	
    			i++;
    
    		fprintf(fileOut,"%d\n",i);
    
    		i = 0;
    	}	
    
    }

  4. #4
    Grazie mille dell'aiuto, ho provato il programma ma mi da come output
    4 0 5 1 1 1 0 1 1

    io credo che sia perchè dopo la terza riga del file di input i caratteri sono separati da spazi(es 0 1 @ 3),posso chiederti di darmi una mano ancora?

  5. #5
    Utente di HTML.it L'avatar di DydBoy
    Registrato dal
    Jul 2005
    Messaggi
    165
    Si,infatti avevo considerato che non ci fossero spazi.

    Questo considera anche gli spazi :

    codice:
    #include <stdio.h>
    #include <string.h>
    main() 
    {
    	FILE *file = fopen ("text.txt","r");
    	FILE *fileOut = fopen ("result.txt","w");		
    	
    	char buffer[100];
    	int i=0;
    	char *string;
    	int spaces = 0;
    
    	while (fgets(buffer,100,file) != NULL)
    	{
    		string = strtok(buffer,"\n\t\r");
    		
    		while (string[i] == (i-spaces+48) || string[i] == ' ')	
    		{	
    			if (string[i] == ' ')
    				spaces++;
    			i++;
    		}
    		
    		fprintf(fileOut,"%d\n",i-spaces);
    
    		i = 0;
    		spaces=0;
    	}	
    	
    
    }

  6. #6
    purtroppo nn funziona mi da errore e l'applicazione si chiude, ho provato a correggerlo ma nn c sono riuscito perchè nn vedo dove possa essere l'errore

  7. #7
    Utente di HTML.it L'avatar di DydBoy
    Registrato dal
    Jul 2005
    Messaggi
    165
    Strano, a me gira perfettamente,se mi posti l'errore magari ci si arriva.

  8. #8
    nn so perche' ma se faccio

    fclose(file);
    fclose(fileOut);

    alla fine del while il programma funziona.
    Misteri...
    cmq grazie mille dell'aiuto

  9. #9
    Utente di HTML.it L'avatar di DydBoy
    Registrato dal
    Jul 2005
    Messaggi
    165
    Bè si , li ho dimenticati

    L'importante è che ora hai risolto

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.