Errore VIOLAZIONE DI SEGMENTO in C - macchina virtuale Linux

di il
12 risposte

Errore VIOLAZIONE DI SEGMENTO in C - macchina virtuale Linux

Buongiorno ragazzi,

spero proprio che mi possiate aiutare. Sono ore che provo a cercare l'errore che mi da una violazione di segmento (core generato) e non riesco a capire da cosa sia dovuto.
Sto compilando con Linux in una macchina virtuale, non ho molta esperienza per questo spero di trovare qualcuno che possa aiutarmi a capire dove sbaglio.

12 Risposte

  • Re: Errore VIOLAZIONE DI SEGMENTO in C - macchina virtuale Linux

    Metti il codice nel forum tra tag code come fanno tutti
  • Re: Errore VIOLAZIONE DI SEGMENTO in C - macchina virtuale Linux

    oregon ha scritto:


    Metti il codice nel forum tra tag code come fanno tutti
    Ecco qui!
  • Re: Errore VIOLAZIONE DI SEGMENTO in C - macchina virtuale Linux

    La funzione ricorsiva l'hai copiata da qualche parte o l'hai scritta così tu?
  • Re: Errore VIOLAZIONE DI SEGMENTO in C - macchina virtuale Linux

    oregon ha scritto:


    La funzione ricorsiva l'hai copiata da qualche parte o l'hai scritta così tu?
    Tutto scritto da me. Infatti io credo che l'errore sia proprio li e forse anche in rfib(s,0,0). Sto sclerando perché non capisco davvero dove sia il problema. Nel momento di compilare per esempio gli metto 5 calcola la serie fino al 3 e poi mi da il valore 57
  • Re: Errore VIOLAZIONE DI SEGMENTO in C - macchina virtuale Linux

    L'ultimo parametro non può essere un puntatore... che senso ha? E gli passi 0 ... al puntatore? E perché l'hai chiamato last?

    È strano che tu l'abbia scritto come appare in una discussione su internet ... a parte il fatto che lì è stata scritta correttamente...
    Considera che ci sono gli stessi commenti in inglese... anche quelli li hai scritti tu? Andiamo... si tratta di copia incolla finito male... riflettici...
  • Re: Errore VIOLAZIONE DI SEGMENTO in C - macchina virtuale Linux

    oregon ha scritto:


    L'ultimo parametro non può essere un puntatore... che senso ha? E gli passi 0 ... al puntatore? E perché l'hai chiamato last?

    È strano che tu l'abbia scritto come appare in una discussione su internet ... a parte il fatto che lì è stata scritta correttamente...
    Considera che ci sono gli stessi commenti in inglese... anche quelli li hai scritti tu? Andiamo... si tratta di copia incolla finito male... riflettici...
    Io sono sincerissima nel dirti che questo codice l'ho fatto io e i commenti sono in inglese perché il codice deve essere capito da tutti e studio all'estero e non in Italia. Il mio problema é che studio da privatista dunque non ho lezioni e devo studiare tutto da sola! Ho chiesto aiuto ad un amico per questo codice e mi ha consigliato di metterlo in questo forum perché nemmeno lui capiva il motivo per il quale non funzionasse.

    Se Preferisci posso darti anche il codice originale che poi questo mio amico mi ha aiutato a correggere. Ma ti posso garantire che é scritto da me. Sono esercizi che stiamo facendo per esercitarci per dare l'esame si sistemi operativi.

    Ad ogni modo grazie mi hai giá fatto notare lo 0 che non va bene e questo é giá tanto e nel mentre ho trovato il perché mi dava il valore 57 di cui ti parlavo ed é perché mi mancava un = nel primo for.

    Per il resto mi spiace che pensi che sia qui a copiare codici trovati in internet. Come ho detto sono una principiante e credo si veda
  • Re: Errore VIOLAZIONE DI SEGMENTO in C - macchina virtuale Linux

    Allora mi spieghi perché usi la exit al termine del main e non la return come dovrebbe essere?

    Esattamente come in

    https://stackoverflow.com/questions/58560318/fibonacci-dynamic-memory-management

    che hai postato tu o il tuo amico...
  • Re: Errore VIOLAZIONE DI SEGMENTO in C - macchina virtuale Linux

    oregon ha scritto:


    Allora mi spieghi perché usi la exit al termine del main e non la return come dovrebbe essere?

    Esattamente come in

    https://stackoverflow.com/questions/58560318/fibonacci-dynamic-memory-management

    che hai postato tu o il tuo amico...
    Semplicissimo! Come ti ho detto studio all'universitá da privatista e non in Italia e questi sono esercizi che ci danno per prepararci all'esame! Dunque sará qualcuno che sta facendo lo stesso esercizio.
    Abbiamo delle linee guida che dobbiamo seguire infatti se noti il suo codice non é identico al mio.

    Ad ogni modo quello che piú mi spiace é vedere che invece di aiutarmi stai cercando in tutti i modi di trovare delle cose che non esistono. Non sei obbligato ad aiutarmi ed é la prima volta che scrivo in un forum perché realmente non trovavo una soluzione. Mi accorgo, peró, che sto buttando via il tempo a discutere con te su questioni davvero inutili.
    Questo é proprio il dover trovare del marcio ovunque!
  • Re: Errore VIOLAZIONE DI SEGMENTO in C - macchina virtuale Linux

    Astrid si scrive Fibonacci Series con la s. Quindi o hai fatto copia e incolla o crossposting. Basta ammetterlo, chi se ne frega, è una cosa da niente. L'importante è però comportarsi con correttezza. Se fai ste cose quando lavorerai, ti assicuro che gli effetti per la tua reputazione saranno devastanti.
  • Re: Errore VIOLAZIONE DI SEGMENTO in C - macchina virtuale Linux

    A me non interessa nessun marcio. Ho solo notato questa cosa che sta su un altro forum e che non c'entra nulla con le 'linee guida' di cui parli. Nessun docente darebbe delle indicazioni di quel tipo.

    Per il resto ti ho aiutato indicando il parametro puntatore che non c'entra nulla e comunque un codice corretto su cui riflettere. Che vuoi di più da un forum?

    P.S. il codice di tre linee intorno a int *la; non ha alcun senso e non serve a nulla.
  • Re: Errore VIOLAZIONE DI SEGMENTO in C - macchina virtuale Linux

    Ragazzi a me spiace davvero che pensiate queste cose e non mi va di ammettere qualcosa che non ho fatto!!!! A noi ci danno delle linee guida che ci crediate o no, tra cui il testo in inglese. Sono degli esercizi che vanno fatti seguendo degli appunti dati da dei docenti! La "s" sará stato un errore del docente. Ce ne sono mille in tutti i programmi che ci danno da fare. Ci mettono il testo e noi dobbiamo compilare sotto. Mi sembra ridicolo che debba giustificare certe cose.

    Poi ci volete credere bene... non ci volete credere... pazienza. Ma non vedo perché farmi passare per qualcuno che non sono. Lavoro da anni e credimi che vengo considerata una gran lavoratrice onesta!!!!
    Con questo credo che la mia prima esperienza in un forum sia anche l'ultima.

    Ad ogni modo grazie.
  • Re: Errore VIOLAZIONE DI SEGMENTO in C - macchina virtuale Linux

    Nessuno obietta sulla tua onestà, sei tu che ne parli e giustifichi. Ho solo notato che esiste un altro forum che riporta il tuo codice (più corretto) senza fare alcuna affermazione.

    Non ho ancora capito come tu abbia scritto la stessa funzione che ha un ultimo parametro intero chiamato last usando un puntatore. Che criterio hai usato?

    Comunque va bene così... buono studio.
Devi accedere o registrarti per scrivere nel forum
12 risposte