[ Humanoid @ 26.11.2005. 19:52 ] @
Kolega me zamolio da mu pomognem neke zadatke,ja sam to učinio,a kolega je nakon uploada koda programa na fakultetski server dobio samo 116/300 bodova. Zanimaju me koje su moje najveće greške prilikom pisanja sljedećih programčića: Zadatak 1. Napisati program koji će učitati broj članova reda n, a zatim provjeriti je li n prirodan broj iz intervala [1, 400]. Ukoliko nije, ispisati poruku "n nije valjan" i završiti program, a ukoliko je n valjan, izračunati "pi" pomoću sljedećeg reda: (PI*PI)/8=1/(1*1)+1/(3*3)+1/(5*5)+...+1/(2*i+1)(2*i+1)+... Program mora ispisati izračunati broj "pi" zaokružen na 12 decimala. Code: #include<stdio.h> #include<math.h> int main() { int n, i; float pi, r; r=0; printf("Upisite broj članova reda:\n"); scanf("%d",&n); if((n<1)||(n>400)) printf("n nije valjan\n"); else{ for(i=0;i<=n;i++){ r=r+(1.f/((2*i+1)*(2*i+1)));} pi=sqrt(8*r); printf("pi iznosi %.12f",pi);} return 0; } Zadatak 2. Napisati program koji će učitavati cijele brojeve sve dok se ne unese broj manji ili jednak 2. Program treba ispisati najveći prosti broj među učitanim brojevima. Ukoliko nije učitan niti jedan prosti broj veći od 2, potrebno je ispisati 0.*/ Code: #include <stdio.h> #include <math.h> void main(){ int broj,najveci=0,prost,i; printf("Upisuj brojeve!\n"); do { scanf("%d",&broj); if (broj>2){ prost=1; for (i=2;i<=(int)(ceil(sqrt(broj)));i++){ if (broj%i==0) {prost=0;break;} } if ((prost) && (broj>najveci)) najveci=broj; } } while (broj>2); printf("Najveći prosti broj je %d\n.\n",najveci); } [Ovu poruku je menjao Humanoid dana 27.11.2005. u 18:52 GMT+1] |