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 */