Esercizio su vettori di caratteri

di il
86 risposte

86 Risposte - Pagina 3

  • Re: Esercizio su vettori di caratteri

    Il K&R?

    Edizione?
  • Re: Esercizio su vettori di caratteri

    Seconda edizione
  • Re: Esercizio su vettori di caratteri

    E cosa hai fatto?
  • Re: Esercizio su vettori di caratteri

    Quell' esercizio è l' unico che per ora non ho proprio idea di come si faccia, ma veramente non per finta
  • Re: Esercizio su vettori di caratteri

    Secondo me basta pensarci un poco

    La notte porta consiglio
    Prova a fare qualcosa e poi postalo


    Per essere molto chiaro:
    O posti qualcosa o io non comincio nemmeno
  • Re: Esercizio su vettori di caratteri

    Ci ho provato ma abbastanza inutilmente...
    
    #include <stdio.h>
    #define MAXLINE 10
    /*getline legge la riga succesiva del testo in ingresso;
    deve segnalare l' eventuale fine del file (EOF)
    deve restituire la lunghezza della riga letta o 0 se non vi sono altri dati in ingresso*/
    int getline(char line[], int maxline);
    void copy(char to[], char from[]);
    
    int main()
    {
    	int len;		// lunghezza della riga corrente1
    	int max;		// lunghezza massima riscontrata finora2
    	char line[MAXLINE];	// riga corrente1
    	char longest[MAXLINE]; // contiene la riga più lunga trovata2
    
    	max = 0;
    	while ((len = getline(line, MAXLINE)) > 0) 
    		if (len > max) {
    			max = len; // lunghezza massima riscontrata finora = lunghezza della riga corrente
    			copy(longest, line);
    		}
    		if (max > 0) // c' era almeno una riga in ingresso
    			printf("%s", longest);
    	return 0;
    }
    
    // getline: legge una riga in ingresso, la assegna a s, ne restituisce la lunghezza
    int getline(char s[], int lim)
    {
    	int c, i;
    
    	for (i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i)
    		s[i] = c;
    	if (c == '\n')
    	{
    		s[i] = c;
    		++i;
    	}
    	if (i >= lim - 1) ++i;
    	s[i] = '\0';
    	return i;
    }
    
    // copy: copia la stringa 'from' sulla stringa 'to'; assume che 'to' sia sufficientemente lunga
    void copy(char to[], char from[])
    {
    	int i;
    
    	i = 0;
    	while ((to[i] = from[i]) != '\0')
    		++i;
    }
    
  • Re: Esercizio su vettori di caratteri

    Mah

    È lo stesso del primo post?

    In cosa sarebbe consistita la prova?
  • Re: Esercizio su vettori di caratteri

    Buongiorno a tutti
    ho le risposte alle domande per le due discussioni gemelle iniziate da SuperManPC; la notte ha portato consiglio
    qui rispondo alla domanda implicita: perché il testo sembra confuso?

    perché l'esercizio discende dal K&R prima edizione del 1978 e ha subito almeno 2 (più probabilmente tre) revisioni
    seconda edizione inglese
    seconda edizione italiana
    e ancora non basta, dato che la traduzione del testo dell'esercizio non corrisponde a quento pubblicato nella seconda edizione italiana, quindi penso che per una terza volta sia stato rimaneggiato
    sospetto che
    "revise the main routine"
    si traduca correttamente in
    "rivedere la routine più importante"
    e non in
    "rivedere la funzione main()"

    per lo OP invece ho una domanda:
    da dove esattamente hai preso il testo dell'esercizio?
    quale edizione e quale casa editrice?
    lo hai modificato tu e/o qualcun'altro?
  • Re: Esercizio su vettori di caratteri

    StandardOil ha scritto:


    Si riveda la funzione main del programma presentato qua sopra, affinchè visualizzi correttamente la lunghezza di righe arbitrariamente lunghe, e ne mostri la maggior parte di testo possibile.

    Si riveda: riprendere in mano, rifare

    la funzione main() del programma presentato qua sopra: chiaro, no?

    affinchè: fare in modo che faccia

    visualizzi: mostri

    correttamente la lunghezza di righe arbitrariamente lunghe: il numero di caratteri (contato giusto) di qualsiasi sia la riga in ingresso

    e ne mostri la maggior parte di testo possibile: e ne mostra il massimo che ci sta; ci sta dove? nei mille caratteri definti come dimensione massima


    se poi sembrasse ancora discutibile il linguaggio da studiare non sarebbe il 'C' ma l'Italiano
    A me pare che questo tuo commento sia stucchevole.
    La maggior parte di una riga da un milione di caratteri non è 999 ma è lasciata a chi legge... per me può essere mezzo milione e modifico il programma pe visualizzarne mezzo milione.

    L'italiano è una cosa seria e la traduzione probabilmente non è felice. Se tu vuoi posta una tua interpretazione ma non fare la lezioncina.
  • Re: Esercizio su vettori di caratteri

    Io ho postato la mia interpretazione
    Che non è nemmeno mia, ma di Tondo e Gimpel

    E lo ho fatto prima che si parlasse di italiano discutibile

    Dopo mi sono solo difeso
    Qui tutto scritto è, basta guardare la sequenza delle risposte

    Se poi consideri che mi sono difeso troppo:
    Ne faccio ammenda: chiedo scusa
  • Re: Esercizio su vettori di caratteri

    Direi che l'esercizio può essere abbandonato per scarsa chiarezza senza drammi. Oppure ognuno se lo fa come vuole, nella convinzione generale che è espresso in modo che possa essere soggetto a varie interpretazioni.

    Nel testo in italiano (seconda edizione) Jackson, l'esercizio 1-16 di pagina 34 riporta

    oltre alla massima quantità possibile dei caratteri che la compongono

    che è cosa diversa da "maggior parte", proprio ad evidenziare la difficoltà che hanno avuto i vari traduttori ad interpretare il "pensiero" originale degli autori. Non è la prima volta che succede nei libri e non sarà l'ultima e non è necessario fare una guerra di religione o di lingua italiana, ma passare al prossimo esercizio ignorando questo.
    Allegati:
    9500_183aac6b59e5ed00584e0e09f45b37fa.jpg
    9500_183aac6b59e5ed00584e0e09f45b37fa.jpg
  • Re: Esercizio su vettori di caratteri

    Per me sta bene


    Ma adottare una qualsiasi interpretazione e "terminare" l'esercizio farebbe imparare lo OP
  • Re: Esercizio su vettori di caratteri

    Certo ... ma senza guerre di religione. Una cosa è dire "secondo me significa questo e si fa così", altra cosa è dire "studiate l'italiano perché è ovvio che significa questo" ...

    Io direi che l'OP potrebbe cominciare a scrivere il codice per risolvere la prima parte (lunghezza stringa arbitraria) perché quella è chiara.
    Attendiamo che lo faccia.
  • Re: Esercizio su vettori di caratteri

    Quell' esercizio l' ho provato a fare, ho aggiunto una condizione e basta, non ho altre idee da sperimentare ma 0, non è che non voglio provarci.
  • Re: Esercizio su vettori di caratteri

    Se qualcuno mi da anche un consiglio di cosa modificherebbe a me va bene altrimenti abbandono l' esercizio
Devi accedere o registrarti per scrivere nel forum
86 risposte