Program spremenimo tako, da nam bo namesto aritmeticnega zaporedja izpisoval geometrijsko zaporedje in vsoto teh clenov zaporedja.
void izpisi_geo_zaporedje(int zacetni_clen, int kolicnik,
int stevilo_clenov)
{
int a; /* tekoci clen zaporedja */
int i; /* indeks zaporedja */
a = zacetni_clen;
/* za vse clene do stevilo_clenov: */
for(i = 1; i <= stevilo_clenov; i++)
{
/* izpisi clen */
printf("%d", a);
/* izracunaj naslednji clen */
a = a * kolicnik;
}
/* prehod v novo vrstico ob koncu
zaporedja */
printf("\n");
} /* izpisi_geo_zaporedje */
V glavni del programa pa dodamo:
int sestej_geo_zaporedje1(int zacetni_clen, int kolicnik,
int stevilo_clenov)
{
int vsota;
if (stevilo_clenov == 0)
vsota = 0;
else
{
/* sestej ostale clene zaporedja */
vsota = sestej_geo_zaporedje1(zacetni_clen * kolicnik,
kolicnik,
stevilo_clenov - 1);
/* pristej zacetni clen */
vsota += zacetni_clen;
}
/* vrni vsoto */
return vsota;
} /* sestej_geo_zaporedje1 */