Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro)
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro)
Google Pixel 10 Pro XL è il top di gamma della serie Pixel, presentando un ampio display Super Actua da 6.8 pollici insieme alle novità della serie, fra cui la ricarica wireless magnetica Pixelsnap e le nuove funzionalità AI avanzate. Il comparto fotografico include un sistema a tripla fotocamera con zoom Pro Res fino a 100x, mentre il processore Tensor G5 con 16GB di RAM garantisce prestazioni percepite molto elevate su Android.
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico
Forte della piattaforma Qualcomm Snapdragon X, il notebook Lenovo IdeaPad Slim 3 riesce a coniugare caratteristiche tecniche interessanti ad uno chassis robusto, con autonomia di funzionamento a batteria che va ben oltre la tipica giornata di lavoro. Un notebook dal costo accessibile pensato per l'utilizzo domestico o in ufficio, soprattutto con applicazioni native per architettura ARM
Recensione OnePlus Watch 3 43mm: lo smartwatch che mancava per i polsi più piccoli
Recensione OnePlus Watch 3 43mm: lo smartwatch che mancava per i polsi più piccoli
OnePlus risponde alle esigenze di chi cerca un dispositivo indossabile dalle dimensioni contenute con OnePlus Watch 3 43mm. La versione ridotta del flagship mantiene gran parte delle caratteristiche del modello maggiore, offrendo un'esperienza completa in un formato compatto. Il suo limite più grande è abbastanza ovvio: l'autonomia non è il punto di forza di questo modello, ma si raggiungono comodamente le due giornate piene con un uso normale.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-06-2005, 00:38   #1
kobane
Senior Member
 
L'Avatar di kobane
 
Iscritto dal: Feb 2004
Città: Torino
Messaggi: 1443
[C] Chiedo aiuto per giovedì pomeriggio

Ciao a tutti i programmatori, vorrei chiedervi una mano.

Giovedì mattina ho un esame di programmazione in C che funziona così;
-la mattina lo facciamo in aula su foglio protocollo
-entro qualche giorno, poi, dobbiamo compilarlo e farlo funzionare.

la valutazione del compito sarà al 99% su quello fatto in aula, ma io vorrei chiedeervi di darmi una mano al pomeriggio, qualora non riuscissi a finire in breve tempo la correzione, in quanto questa settimana e la prox saranno colme di esami (solo questa ne ho 4). ho paura di essere una pippa nella compilazione.

Ci sarà qualcuno volenteroso ad aiutarmi?

Grazie

notte
__________________
La terra è di destra, l'universo di sinistra - Chuck Norris fan - Ho trattato con: peppolon
kobane è offline   Rispondi citando il messaggio o parte di esso
Old 15-06-2005, 15:38   #2
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
ti aiuterei ma giovedì ho esame di matlab dalle 16 in poi

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 15-06-2005, 16:27   #3
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
a che ora?
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 15-06-2005, 18:42   #4
kobane
Senior Member
 
L'Avatar di kobane
 
Iscritto dal: Feb 2004
Città: Torino
Messaggi: 1443
bo, tipo anche verso sera, non è fiscalissima la cosa, avrò un paio di giorni per far girare tutto... ve lo chiedo perchè devo dare 3 esami ancora, dopo i 3 dati lunedì oggi e ieri. il brutto deve ancora venire, martedì ho teoria dei segnali...
domani posto il mio programmino, se non riesco a farlo girare.

prima lo faccio girare meglio è, grazie mille a tutti voi che sarete solidali...

sono massacrato
__________________
La terra è di destra, l'universo di sinistra - Chuck Norris fan - Ho trattato con: peppolon

Ultima modifica di kobane : 15-06-2005 alle 18:49.
kobane è offline   Rispondi citando il messaggio o parte di esso
Old 15-06-2005, 18:53   #5
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
tu posta il programma che hai scritto (indentato)

e i problemi che hai
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 15-06-2005, 20:25   #6
kobane
Senior Member
 
L'Avatar di kobane
 
Iscritto dal: Feb 2004
Città: Torino
Messaggi: 1443
Quote:
Originariamente inviato da anx721
tu posta il programma che hai scritto (indentato)

e i problemi che hai

ok, domani lo farò.
grazie mille per l'aiuto
__________________
La terra è di destra, l'universo di sinistra - Chuck Norris fan - Ho trattato con: peppolon
kobane è offline   Rispondi citando il messaggio o parte di esso
Old 18-06-2005, 16:52   #7
kobane
Senior Member
 
L'Avatar di kobane
 
Iscritto dal: Feb 2004
Città: Torino
Messaggi: 1443
Questo è il testo dell'esame:
[inizio del testo]
alcuni organismi sono rapresentati da stringhe alfanumeriche, che contengono solo caratteri minuscoli e hanno lunghezza 23 caratteri.

gli organismi si evolvono accopppiandosi con organismi simili. la somiglianza tra due organismi è espressa da un valore intero: per ciascun carattere identico nella stessa posizione, la somiglianza viene incrementata di un valore 1.

per esempio, gli organismi abbbbbbbbbbbbbbbbbbbbbb e baaaaaaaaaaaaaaaaaaaaaa hanno somiglianza 0, mentre gli organismi aaaaaaaaaaaaaaaaaaaaaaae aaabbbbbbbbbbbbbbbbbbbb hanno somiglianza 3.

ogni accoppiamento causa il decesso dei due individui che si accoppiano, e la nascita di un singolo individuo.
l'individuo creato è anch'esso formato da 23 caratteri, ciascuno dei quali èuguale al carattere alfabeticamente minore tra quelli dei due genitori nella posizione corrispondente.

per esempio, aaaaazzzzzzzzzzzzzzzzzz e abcdeeeeeeeeeeeeeeeeeee producono l'individuo aaaaaeeeeeeeeeeeeeeeeee.

riassumendo gli organismi si evolvono con le seguenti regole:
* gli organismi che si riproducono generano un nuovo individuo e muoiono

*gli organismi con somiglianza pari a 0 non si riproducono (e non muoiono, finchè non si riproducono)

*ogni organismo si riproduce con uno a scelta tra gli organismi a lui simili

*gli organismi generati diventano adulti, e quindi pronti alla riproduzione, solo nella generazione successiva.

il programma deve leggere da tastiera il nome di due file. il primo contiene la comunità iniziale: sulla prima riga c'è il numero di organnismi della comunità, mentre sulle righr successive sono riportati gli organismi, uno per ogni riga del file.

il secondo file deve essere prodotto dal progrmma, e deve contenere tutte le generazioni ottenute mediante evoluzione dalla comunità iniziale.
le varie generazioni sono separate nel file da una riga di commento riportante il numero della generazione (vedi esempio). il programma termina quando la comunità non è più in grado di evolversi, ovvero quando non si hanno più organismi generati.

ESEMPIO
(file di input)
5
aaaaaaaaaaaaaaaaaaaaaaa
xxxzzzzzzzzzzzzzzzzzzzz
abababababababababababa
xyxyxyxyxyxyxyxyxyxyxyx
azzzzzzzzzzzzzzzzzzzzzz



(file di output)
Generazione 1:
aaaaaaaaaaaaaaaaaaaaaaa
axxzzzzzzzzzzzzzzzzzzzz
xyxyxyxyxyxyxyxyxyxyxyx
Generazione 2:
aaaaaaaaaaaaaaaaaaaaaaa
xyxyxyxyxyxyxyxyxyxyxyx
[fine del testo]


Questo invece è il mio codice indentato:
Codice:
/*
  Name: Esame del 16/06/2005
  Copyright: 
  Author: Erik Sosso
  Date: 16/06/05 15.43
  Description: Correzione del compito fatta a casa
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define L 24
#define LN 10

//definizione struttura
struct comunita{
    char organismo[L-1];
    int stato;
}

//Definizione dei prototipi di funzione
int controllasom(char *, char *);
void stampaelemento(char *, char *, FILE *);

//programma
int main(void)
{
    FILE *fp, *fp2;
    char temp[L], nome[LN], nome2[LN];
    int n,i,k,somiglianza;
    struct comunita *vet;
    char organismo1, organismo2;
    
    //leggo nome file
    printf("introduci il nome del file: \n");
    scanf("%s", nome);
    fp=fopen(nome, "r");
    if (fp==NULL){
        printf("errore apertura file.\n");
        exit(1);
    }
    
    //leggo n
    if(fscanf(fp,"%d", &n)==EOF && n<0){
        printf("errore apertura file.\n");
        exit(1);
    }
    
    //alloco dinamicamente la struttura
    vet=(struct comunita *)malloc(n*sizeof(struct comunita));
    if (vet==NULL){
        printf("errore di allocazione.\n");
        
    //apro file 2
    printf("introduci nome del secondo file: \n");
    scanf("%s", nome2);
    fp2=fopen(nome2,"w");
    if (fp2==NULL){
        printf("errore apertura file.\n");
    }
    
    //carico la struttura
    for(i=0;i<n;i++){
        while(fscanf(fp, "%s", temp)!=EOF){
            for (k=0;k<L;k++){
                vet[i].organismo[k]=temp[k];
            }
            vet[i].stato=0;
        }
    }
    
    //controllo quando gli organismi sono uguali e cambio lo stato
    i=0;
    k=i+1;
    while(i<n){
        while (vet[i].stato==0 && vet[k].stato==0){
            somiglianza=controllasom(vet[i].organismo, vet[k].organismo);
            if (somiglianza>0){
                stampaelemento(vet[i].organismo, vet[k].organismo, fp2);
                vet[i].stato=1;
                vet[k].stato=1;
            }
            k++;
        }
        i++;
    }
        
    
    fclose(fp);
    fclose(fp2);
    free(vet);
    
    return(0);
}


//FUNZIONI
int controllasom(int organismo1[], int organismo2[])
{
    int i, *som, a;
    for (i=0;i<(L-1);i++){
        *som++;
    }
    a=*som;
    return(a);
}

void stampaelemento(char *organismo1, char *organismo2, FILE *fp2);
{
    char organismonuovo[L-1];
    int i;
    
    for(i=0;i<(L-1);i++){
        if (organismo1[i]<=organismo2[i]){
            organismonuovo[i]=organismo1[i];
        }else{
            organismonuovo[i]=organismo2[i];
        }
    }
    
    fprintf(fp2,"%s",organismonuovo);
    return;
}

credo di aver fatto delle cappelle clamorose nel richiamo delle funzioni... ma quanto sono spina da uno a dieci?

Se qualcuno può darmi una mano, gli sarò grato a vita...
__________________
La terra è di destra, l'universo di sinistra - Chuck Norris fan - Ho trattato con: peppolon
kobane è offline   Rispondi citando il messaggio o parte di esso
Old 18-06-2005, 21:23   #8
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
Il programma mi pare contenga alcuni errori, ad esempio non mi pare che simuli la creazione delle nuove generazioni. I due cicli while annidati mi pare che effettuino un ciclo di accoppiamento tra gli organismi iniziali, ma i nuovi organismi generati ti limiti a stamparli nel file ma non li consideri più, mentre avresti dovuto costruirti un nuovo vettore di organismi su cui lavorare nell'iterazione successiva. Poi qualke altro errore,ad esempio in controllasom non allochi memoria per *som (ma perche utilizzi un puntatore a int invece di un int???), e nell'altra funzioni non concludi il vettore che rappresenta l'organismo con il carattere di fine stringa.
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2005, 12:42   #9
kobane
Senior Member
 
L'Avatar di kobane
 
Iscritto dal: Feb 2004
Città: Torino
Messaggi: 1443
Quote:
Originariamente inviato da anx721
Il programma mi pare contenga alcuni errori, ad esempio non mi pare che simuli la creazione delle nuove generazioni. I due cicli while annidati mi pare che effettuino un ciclo di accoppiamento tra gli organismi iniziali, ma i nuovi organismi generati ti limiti a stamparli nel file ma non li consideri più, mentre avresti dovuto costruirti un nuovo vettore di organismi su cui lavorare nell'iterazione successiva.
oh, mi stai dicendo che mi boccia?

si, le generazioni non sono riuscito a farle perchè mi è mancato il tempo, purtroppo sono molto asino ancora e in due ore sono riuscito olo a fare questo... pensa che ho perso mezz'ora a capire come fare il programma...

Quote:
Originariamente inviato da anx721
Poi qualke altro errore,ad esempio in controllasom non allochi memoria per *som (ma perche utilizzi un puntatore a int invece di un int???), e nell'altra funzioni non concludi il vettore che rappresenta l'organismo con il carattere di fine stringa.
perchè devo allocare memoria per *som?
Te dici che avrei dovuto solo usare una funzione passando by value?
a proposito, il compilatore mi dà errore sul primo prototipo di funzione, ma perchè? non è giusto come ho passato il vettore di caratteri?
dannazione a me che ho sottovalutato questo esame...

grazie per le risposte!!!
__________________
La terra è di destra, l'universo di sinistra - Chuck Norris fan - Ho trattato con: peppolon

Ultima modifica di kobane : 19-06-2005 alle 12:50.
kobane è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2005, 15:59   #10
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
perchè devo allocare memoria per *som?

perchè som è un puntatore, ma a chi punta? no è inizializzato e quindi punta ad una locazione arbitraria della memoria. Tra l'altro quella funzione non fa altro che incrementare *som di uno per ogni iterazione del for senza controllare se gli organismi sono uguali nelle posizioni corrispondenti.

L'errore sul prototipo penso che te lo dia perchè della dichiarazione e nella definizione della funzione hai dichiarato diversamente il tipo degli argomenti.

Io ti consiglierei di rifare l'esame....
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2005, 18:11   #11
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
Ma adesso devi correggere il programma per consegnarlo?
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2005, 19:52   #12
kobane
Senior Member
 
L'Avatar di kobane
 
Iscritto dal: Feb 2004
Città: Torino
Messaggi: 1443
Quote:
Originariamente inviato da anx721
Ma adesso devi correggere il programma per consegnarlo?
mah, in teoria dovrei consegnare una relazioncina in cui c'è l'esame corretto... in pratica, mi sa che vado al prox appello. Ho comunque dei problemi con i puntatori e con le funzioni, e anche le consulenze che ho fatto non mi hanno chiarito le idee.

Non riesco a capire dov'è l'errore, mi si pianta il compilatore anche se cambio il tipo di dati...
int controllasom(char *, char *);

dov'è l'errore? è sbagliato consegnare alla funzione una stringa in questo modo?
come si passa una struttura by reference?
__________________
La terra è di destra, l'universo di sinistra - Chuck Norris fan - Ho trattato con: peppolon
kobane è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2005, 20:44   #13
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
Per rispondrti devo vedere il codice a cui fai riferimento e l'errore che ti dà il compilatore.

I puntatori e le stringhe sono degli argomenti non semplici e ci vuole un po di tempo e di esercizi per capirli bene.
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
Old 20-06-2005, 09:30   #14
kobane
Senior Member
 
L'Avatar di kobane
 
Iscritto dal: Feb 2004
Città: Torino
Messaggi: 1443
non è che mi sai consigliare qualche guida al c fatta veramente bene?
__________________
La terra è di destra, l'universo di sinistra - Chuck Norris fan - Ho trattato con: peppolon
kobane è offline   Rispondi citando il messaggio o parte di esso
Old 20-06-2005, 14:03   #15
anx721
Senior Member
 
L'Avatar di anx721
 
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
Prova a consultare queste:

http://alpha.science.unitn.it/~fiore...ac/indexc.html
http://www.lulli.net/WEB/hack/xximpa...imparareC.html
http://www.hyperbook.it/c_book/c2.htm
http://www-ee.eng.hawaii.edu/Courses/EE150/Book/

e la reference delle funzioni di libreria:

http://www.cplusplus.com/ref/
__________________
Sun Certified Java Programmer
EUCIP Core Level Certified

European Certification of Informatics Professionals
anx721 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro) Recensione Google Pixel 10 Pro XL: uno zoom 100x...
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico Lenovo IdeaPad Slim 3: un notebook Snapdragon X ...
Recensione OnePlus Watch 3 43mm: lo smartwatch che mancava per i polsi più piccoli Recensione OnePlus Watch 3 43mm: lo smartwatch c...
BOOX Note Air4 C è uno spettacolo: il tablet E Ink con Android per lettura e scrittura BOOX Note Air4 C è uno spettacolo: il tab...
Recensione Sony Xperia 1 VII: lo smartphone per gli appassionati di fotografia Recensione Sony Xperia 1 VII: lo smartphone per ...
Il registratore per il ventunesimo secol...
VMware: "alziamo i prezzi perch&eac...
Le prime Leapmotor B10 sono partite per ...
Destiny Rising sbarca domani: ecco perch...
Parallels Desktop si aggiorna con la ver...
Tesla guarda XPeng: le nuove P7 guidano ...
Roscosmos vorrebbe realizzare diverse mi...
Marshall Bromley 750 è il nuovo s...
OpenAI, la ristrutturazione societaria r...
Google perde in tribunale: stop all'obbl...
MasterLiquid Core II e Core Nex, i nuovi...
Porsche: addio alla produzione di batter...
WD Blue SN5100: Sandisk rinnova la serie...
Oracle espande la sua offerta di modelli...
Come il robot DEEBOT X8 PRO OMNI sta con...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 03:15.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v