Esercizio sui vettori di caratteri

di il
55 risposte

Esercizio sui vettori di caratteri

Buongiorno, devo creare un programma per eliminare spazi e tabulazioni all' inizio e alla fine di ogni riga in ingresso e per eliminare le righe completamente vuote.
Qulcuno conosce un modo per individuare la posizione di ogni spazio e tabulazione per eliminarlo (solo nel caso in cui sia all' inizio o alla fine della riga)?

55 Risposte

  • Re: Esercizio sui vettori di caratteri

    Un test

    ==' '


    Dovrebbe andare
  • Re: Esercizio sui vettori di caratteri

    StandardOil ha scritto:


    Un test

    ==' '


    Dovrebbe andare
    Ma così è lo spazio, io voglio solo quello ad inizio e fine riga.
    Se hai ancora i testi originali del ker, l' esercizio è il 1.18
  • Re: Esercizio sui vettori di caratteri

    All'inizio della riga significa confrontare con quella if dall'elemento 0 in poi ... alla fine significa confrontare dall'elemento strlen()-1 verso il primo elemento ...

    Un consiglio ... non scrivere nel forum per ogni esercizio che devi risolvere.

    Provaci tu a sbatterci la testa almeno qualche giorno e proponi qualcosa ...
  • Re: Esercizio sui vettori di caratteri

    Non capisco perchè non funziona, qualcuno me lo sa spiegare?
    Deve visualizzare la riga senza tabulazioni o spazi all' inizio e alla fine della riga.
    
    #include <stdio.h>
    #define MAXLINE 100
    /*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*/
    char getline(char line[], int maxline);
    
    int main()
    {
    	int len;		// lunghezza della riga corrente
    	char line[MAXLINE];	// riga corrente
    	printf("%s", getline(line[MAXLINE], MAXLINE));
    	
    	return 0;
    
    }
    
    // getline: legge una riga in ingresso, la assegna a s togliendo spazi e tabulazioni
    char getline(char s[], int lim)// qua s è un puntatore che punta ad un carattere, equivale a char s[]
    {
    	int c, i;
    	int b = 1;
    	for (i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i) 
    	{
    		if (c != ' ' && c != '\t') s[i] = c;
    	}
    	s[i] = '\0';
    	return s;
    
    }//if (c != ' ' && c != '\t') s[i] = c;
    
  • Re: Esercizio sui vettori di caratteri

    Per cominciare qui

    printf("%s", getline(line[MAXLINE], MAXLINE));

    e anche in

    char getline

    c'è un errore e il programma non può neanche essere compilato.

    E poi scusa, ma quando operi su spazi e tabulazioni nel codice?
  • Re: Esercizio sui vettori di caratteri

    Quindi printf() non può avere dentro una funzione ma solo una variabile? Questa variabile in questo caso contiene la stringa s che ritorna la funzione?
  • Re: Esercizio sui vettori di caratteri

    Con una funzione senza puntatore non si può visualizzare il vettore?
  • Re: Esercizio sui vettori di caratteri

    SuperManPC ha scritto:


    Quindi printf() non può avere dentro una funzione ma solo una variabile?
    Non l'ho mai detto.

    Quando compili, lo leggi l'errore? Qual è?
  • Re: Esercizio sui vettori di caratteri

    + s 0xffffffcc <Si è verificato un errore durante la lettura dei caratteri della stringa.> char *
    Questo ma non so come fare
  • Re: Esercizio sui vettori di caratteri

    SuperManPC ha scritto:


    Con una funzione senza puntatore non si può visualizzare il vettore?
    Che vuoi dire? Guarda che ti mancano le basi.

    Non è un problema, tutti imparano ma ti devi rendere conto che non puoi affrontare certi esercizi con questi dubbi. Devi fare un passo indietro e studiare roba più semplice che credi di aver capito.
  • Re: Esercizio sui vettori di caratteri

    SuperManPC ha scritto:


    + s 0xffffffcc <Si è verificato un errore durante la lettura dei caratteri della stringa.> char *
    Questo ma non so come fare
    Non durante l'esecuzione ma in compilazione
  • Re: Esercizio sui vettori di caratteri

    oregon ha scritto:


    SuperManPC ha scritto:


    Con una funzione senza puntatore non si può visualizzare il vettore?
    Che vuoi dire? Guarda che ti mancano le basi.

    Non è un problema, tutti imparano ma ti devi rendere conto che non puoi affrontare certi esercizi con questi dubbi. Devi fare un passo indietro e studiare roba più semplice che credi di aver capito.
    Ma no lo so come visualizzare un vettore non era quello, semmai i puntatori non so ma non mi servono adesso
  • Re: Esercizio sui vettori di caratteri

    Se compilo la soluzione mi dice alcune cose in 4 o 5 righe e poi mi dice completato, qual è l' errore che dicevi?
  • Re: Esercizio sui vettori di caratteri

    Ma tu sai come si restituisce un array?
Devi accedere o registrarti per scrivere nel forum
55 risposte