Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

[C] programma che legge parametri da CLI e da file e scrive

Il forum per tutti i developer. Leggere attentamente il regolamento di sezione prima di postare.

[C] programma che legge parametri da CLI e da file e scrive

Messaggioda Urtus2 » lun feb 20, 2012 5:39 pm

Salve,

Devo scrivere un programma in C89 che legga i parametri passati da CLI (riga di comando) e, per ciascuno di essi, contare quante volte esso appare nel file di testo "in.txt".
Inoltre devo stampare i parametri che compaiono il secondo più grande numero di volte (due parametri diversi possono apparire lo stesso numero di volte).

E' molto generico e non so quali istruzioni usare per leggere da file degli elementi di cui non so il tipo, forse una fread() ?
Poi dovrei trovare un modo per contare i parametri letti e stampare Solo qualli che compaiono il secondo più grande numero di volte quindi nel caso in cui questi elementi stessero in un array potrei ordinare l'array in ordine crescente e il penultimo elemento sarebbe quello da stampare ma dato che "due parametri diversi possono apparire lo stesso numero di volte" come posso implementare l'algoritmo?

Grazie
Avatar utente
Urtus2
Neo Iscritto
Neo Iscritto
 
Messaggi: 7
Iscritto il: lun feb 13, 2012 12:53 pm

Re: [C] programma che legge parametri da CLI e da file e scr

Messaggioda polslinux » mar lug 03, 2012 8:49 pm

Questo programma ti trova una stringa nel testo e ti printa quante volte l'ha trovata.
NON legge da argv (non posso farti tutto, troppo comodo ;) ) ma legge da input utente!
Codice: Seleziona tutto
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(int argc, char **argv){
int n = 1;
char tmp[20], parola[20];
FILE *fp;
fp=fopen("in.txt", "r+");
printf("Parola da cercare: ");
scanf("%s", word);
fscanf(fp, "%s", wd);
while(!feof(fp)){
   if(strcmp(parola,tmp)==0){
      n++;
      break;
   }
   else{
      fscanf(fp,"%s",tmp);
      n++;
   }
}
if(n > 0){
   printf("trovata parola %d volte", n);
}
return 0;
}


Ora devi modificare il codice perché legga i vari argv, sai come farlo o vuoi un aiuto?
Sistemi Op. in uso: Ubuntu 12.04 amd64 + ArchLinux x64 (testing + GNOME)
Avatar utente
polslinux
Neo Iscritto
Neo Iscritto
 
Messaggi: 18
Iscritto il: mar giu 26, 2012 12:24 pm
Località: Vicenza


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising