14.6.. Aritmetička sredina trocifrenih brojeva kod kojih je razlika prve dvije cifre djeljiva sa 3.

Opis rješenja: Početna vrijednost sume je suma= 0; a brojča br = 0. Kumulativna suma se izračunava sa suma =suma + broj; a kumulativni brojač se izračunava sa br = br + 1;. Aritmetička sredina se izračunava na kraju kao as = suma/br; Provjera (u ovom primjeru razlika prve dvije cifre djeljiva sa 3) tj. if ((s - d) % 3 == 0). Ako je ostatak dijeljenja sa 3 jednak 0 to znači da je razlika prve dvije cifre djeljiva sa 3.

Listing programa:

// 14615026
#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("Aritmeticka sredina trocifrenih brojeva - razlika prve dvije cifre djeljiva sa 3\n");  // naslov
            
    int broj, d, s;               // deklarisanje varijabli
    double asr;                   // deklarisanje varijabli
    int br = 0, suma = 0;         // pocetne vrijednost

    for (broj=100; broj<=999; broj++) {   // za trocifrene brojeve radi
        d = (broj / 10);
        d = d % 10;               // desetice
        s = broj / 100;           // stotice
        if (abs(s - d) % 3 == 0 ) {  // razlika prve dvije cifre djeljiva sa 3?
            suma = suma + broj;   // uvecaj sumu
            br = br + 1;          // jos jedan broj
        }
    }        
 
    asr = (double)suma / br;      // izracunaj asr
    printf("Aritmeticka sredina: %lf", asr);  // ispis
    
    return 0;
}
 
II verzija     suma += broj, brojac: br++
// 14615026
#include <stdio.h>
#include <stdlib.h>

int main()
{
    printf("Aritmeticka sredina trocifrenih brojeva - razlika prve dvije cifre djeljiva sa 3\n");  // naslov
            
    int broj, d, s;               // deklarisanje varijabli
    double asr;                   // deklarisanje varijabli
    int br = 0, suma = 0;         // pocetne vrijednost

    for (broj=100; broj<=999; broj++) {   // za trocifrene brojeve radi
        d = (broj / 10);
        d = d % 10;               // desetice
        s = broj / 100;           // stotice
        if (abs(s - d) % 3 == 0 ) {  // razlika prve dvije cifre djeljiva sa 3?
            suma += broj;         // uvecaj sumu
            br++;                 // jos jedan broj
        }
    }        
 
    asr = (double)suma / br;      // izracunaj asr
    printf("Aritmeticka sredina: %lf", asr);  // ispis
    
    return 0;
}

Ispis na ekranu:

Index