PROBLEMA Dubbio Codice C

Robert T.

Utente Attivo
Allora parto dal presupposto che io so cosa fa il codice solo che come posso dire, non capisco la sua funzionalità base non comprendo appieno i passaggi logici.

Intanto posto il codice:

C:
#include <stdio.h>
#define RESPONSE_SIZE 40
#define FREQUENCY_SIZE 11

int main(){

    int answer; // contatore
    int rating;

    int frequency[ FREQUENCY_SIZE] = {0,0,0,0,0,0,0,0,0,0,0};

    int response[RESPONSE_SIZE] = {1,4,2,5,7,2,6,4,9,3,4,10,7,4,8,5,1,2,5,9,9,8,4,7,2,6,4,3,6,7,3,8,9,5,2,1,6,7,4};

    for(answer = 0; answer < RESPONSE_SIZE; answer++){
        ++frequency[response[answer]];
    }

    return 0;
}
Come fa frequency size ad essere aumentato per ogni valore di response? qual'è il suo passaggio logico?.
 
Ultima modifica da un moderatore:

Estiqaatsi

Utente Attivo
336
23
Hardware Utente
CPU
Intel I3 550
Scheda Madre
Asus P7P55 LX
Hard Disk
500 GB SATA @ 7200 rpm
RAM
4 GB @ 1333 MHz
Scheda Video
Gainward Nvidia GTS 450 2048 MB
Scheda Audio
Integrata
Monitor
Acer P223 w
Alimentatore
LC Power 420 W
Case
Qualcosa che "dovrebbe" areare bene
Sistema Operativo
Windows 7
mentre scorri con answer gli elementi di response, prende il valore di response e lo usa come indirizzo per frequency.
Primo ciclo
answer: 0
response[0]: 1
frequency : 0100000000 (ha incrementato di uno la posizione uno di frequency)

secondo ciclo
answer: 1
response[1]: 4
frequency : 0100100000 (ha incrementato di uno la posizione quattro)

e così via finchè non finiscono gli elementi di response.
Fammi sapere se ti è chiaro o meno
 

Entra

oppure Accedi utilizzando