Napiši funkciju koja ispisuje aritmetički niz od člana A do člana B sa razmakom D. Prototip funkcije glasi:
void niz(int a, int b, int d);
E, ekipo ajd' mi pomognite u vezi ovog zd iz programiranja. Odavno nisam školarac, ali vježbe iz C++ samoincijativno rokam po osnovnim zadacima sa TVZ....bla, bla,...
Nego, kako da shvatim ovaj zadatak da bi ga mogao pravlino isprogramirati. Divelopanje kako takvo nije mi bed, nego razumijevanje samog zadatka.
Žikim, da je između dva susjedna elementa artim, niza uvijek jednaki razkam D...
Al' ova fja traži unos člana A i člana B. Jel' to indeks ili sami broj člana...npr. jel to prvi A da je 2, a član B da je 10, a primjerice, a da je razmak D = 2, pa onda moram ispisati sve elemente između 2 i 10(- to bi bilo 4, 6 i 8) ili pak nešto drugo...
Kako ste vi shvatili ovaj zd., jerbo ako je tako kako sam pretpostavio, onda znam sve sam riješiti.
Ak' imate kakav drugi komentar, napišete rj., ak' imate volje....
valjda se pretpostavlja da je a<b i da je d>0. recimo da je tako da sad ne kompliciramo previše. prvo treba provjeriti je li moguće dobiti niz za takve a, b i d. mora vrijediti uvjet da je duljina intervala cjelobrojno djeljiva bez ostatka s duljinom razmaka. znači uvjet (b-a)%d == 0. recimo imaš 2, 6, 3. tu nije moguce jer bi niz išao 2, 5, 8, a ovaj uvjet daje (6-2)%3 = 1, a ne 0. dok recimo 2, 6, 2 je (6-2)%2 = 0.
to bi išlo ovako:
void niz(int a, int b, int d)
{
int i=a;
if ( (b-a)%d != 0)
{
printf("Nije moguce ispisati niz.");
return;
}
for (i=a; i<=b; i+=d)
{
printf("%d", i);
if (i!=b)
{
printf(", ");
}
}
return;
}
druga eventualna mogućnost bi bila da je a>b, u tom slučaju bi d morao biti negativan, niz bi se ispisivao unatrag, to daj sam ak hoćeš.