Esercizio su vettori di caratteri

di il
86 risposte

86 Risposte - Pagina 4

  • Re: Esercizio su vettori di caratteri

    La parte più importante del mestiere del programmatore (oggi) è spremersi le meningi per scovare un metodo, un algoritmo per risolvere un problema, non tanto scrivere le righe che lo fanno.

    Se qualcuno ti dice come fare, scrivere il codice non è importante.

    Prova tu a spremerti il cervello per riuscire a trovare un metodo, se ti affidi agli altri non impari nulla.
  • Re: Esercizio su vettori di caratteri

    SuperManPC ha scritto:


    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.
    Che condizione hai aggiunto, e perché?

    Questo è il lavoro del programmatore, confermo
    Capire cosa serve fare
    Capire come farlo al meglio
    Solo dopo cominciare a buttare giù righe di codice


    Mettere condizioni in maniera incontrollata è la strada sbagliata

    Se imbocchi la strada sbagliata alla pagina 29 non ci arrivi mica in fondo al libro

    Se abbandoni senza provare 'seriamente' non arrivi nemmeno alla pagina 30
  • Re: Esercizio su vettori di caratteri

    OK ma mi sono accorto che non capisco cosa chiede l' esercizio di fare, forse per questo ho chiesto aiuto subito senza modificare quasi niente.
    La funzione main che intende comunque è la funzione principale giusto?
  • Re: Esercizio su vettori di caratteri

    Con 'righe arbitrariarmente lunghe' l' esercizio come fa ad intendere tutte le righe in ingresso? Non intende semmai solo alcune righe? Ad esempio le righe più linghe di MAXLINE?
  • Re: Esercizio su vettori di caratteri

    Intende dire che MAXLINE non deve essere più un limite ma devi poter inserire una linea di lunghezza qualsiasi. Ma ATTENTO dice solo di contarne la lunghezza, NON devi per forza memorizzare tutti i caratteri da qualche parte ...
  • Re: Esercizio su vettori di caratteri

    Più lo leggo meno ci capisco, proverò ad interpretarlo...
    quindi con 'visualizzi correttamente la lunghezza di righe arbitrariarmente lunghe' l' esercizio intende che devo visualizzare un numero intero per esempio a fine riga che indica il numero dei caratteri?
  • Re: Esercizio su vettori di caratteri

    Quello che non capisco è cosa intende con la parola 'lunghezza'. Intende un numero intero che sarebbe il conteggio dei caratteri della riga oppure la lunghezza del testo corretta?
  • Re: Esercizio su vettori di caratteri

    Ovviamente il numero di caratteri (cosa è la lunghezza del testo corretta???)
  • Re: Esercizio su vettori di caratteri

    Si ma non è così ovvio se poi continui a leggere con 'e ne mostri la maggior parte di testo possibile'.
    Potrebbe significare anche qualcos' altro
  • Re: Esercizio su vettori di caratteri

    Ti ho detto di lasciare stare adesso la seconda parte e fare solo la prima. E la prima è chiara.

    (non hai detto che intendi con "la lunghezza del testo corretta")
  • Re: Esercizio su vettori di caratteri

    Ok
  • Re: Esercizio su vettori di caratteri

    SuperManPC ha scritto:


    L' italiano l' ho capito io(quello dell' esercizio), quindi lo potete capire anche voi. L' ho anche reso capibile se poi non si vuole capire allora dimmelo in modo chiaro: non ho voglia di guardare il tuo esercizio.

    SuperManPC ha scritto:


    Quello che non capisco è cosa intende con la parola 'lunghezza'. Intende un numero intero che sarebbe il conteggio dei caratteri della riga oppure la lunghezza del testo corretta?
    Ma quindi riassumendo
    Hai capito oppure no il testo dell'esercizio?

    Perché io finora ho capito che non rispondi alle domande dirette
  • Re: Esercizio su vettori di caratteri

    Senti ora provo a fare la prima parte dell' esercizio poi il resto non conta più
  • Re: Esercizio su vettori di caratteri

    Ho modificato qualcosa nel main, ho messo le graffe altrimenti considera solo la prima istruzione, ed ho messo la condizione che qualunque valore abbia len (lunghezza della riga) deve essere visualizzata ma mi mette numeri a caso, penso forse a causa di lim.
    
    #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 <= MAXLINE || len >= MAXLINE) printf("%d", len);
    		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;
    	}//le graffe del for sono solo indicative e si possono togliere
    		if (c == '\n')
    		{
    			s[i] = c;
    			++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

    “La condizione che qualunque valore abbia len deve essere visualizzata”? Cioè seriamente la tua modifica consiste in quella condizione?
    Ti sembra utile?
Devi accedere o registrarti per scrivere nel forum
86 risposte