1. Za dati prirodan broj n svaku ivicu objekta klase PictureBox podeli na n jednakih delova, pa dobije tačke spojiti kao što je prikazano na slici. private void numericupdown1_valuechanged(object sender, EventArgs e) picturebox1.refresh(); Graphics g = picturebox1.creategraphics(); Pen olovka = new Pen(Color.Red); int n = Convert.ToInt32(numericUpDown1.Value); float dx = (float)picturebox1.width/n; float dy = (float)picturebox1.height/n; for (int i = 0; i <n; i++) g.drawline(olovka, i * dx, 0, 0, i * dy); g.drawline(olovka, picturebox1.width, i * dy, i * dx, picturebox1.height); g.drawline(olovka, i * dx, 0, picturebox1.width, picturebox1.height - i * dy); g.drawline(olovka, 0, dy*i,picturebox1.width-i*dx, picturebox1.height); 2. Kreirati aplikaciju kojom se za dati prirodan broj n u objektu klase PictureBox iscrtava n redova. Prvi red se sastoji od (2n-1) krugova, a svaki sledeći red ima dva kruga manje od prethodnog reda. Odredi najveći mogući poluprečnik kruga tako da se ceo crtež vidi. Boju krugova birati na slučajan način.
Random R = new Random(); private void numericupdown1_valuechanged(object sender, EventArgs e) picturebox1.refresh(); float n = Convert.ToSingle(numericUpDown1.Value); Graphics g = picturebox1.creategraphics(); float xpom,ypom; float r = Math.Min(pictureBox1.Width / (2 * n - 1), picturebox1.height / n); Pen olovka = new Pen(Color.Red); SolidBrush cetka=new SolidBrush(Color.Red); xpom = (float)picturebox1.width/2-(float)(2*n-1)*r/2; ypom = 0; for (int i = 0; i <= n; i++) // cetka.color = Color.FromArgb(R.Next(256), R.Next(256), R.Next(256)); for (int m=0;m<2*n-1-i*2;m++) cetka.color=color.fromargb(r.next(256),r.next(256),r.next(256)); g.fillellipse(cetka,xpom+i*r+m*r,ypom,r,r); ypom+=r; 3. Kreirati aplikaciju kojom se za dati prirodan broj n (TextBox) proverava da li je to prost broj. private void btprost_click(object sender, EventArgs e) int n = Convert.ToInt32(textBox1.Text); int be=0; for (int i = 2; i <= Math.Sqrt(n); i++) if (n%i==0) be++; if (be == 0) label1.text = "Broj je prost"; label1.text = "Broj je slozen"; Poboljsanja prethodnog rešenja: private void button1_click(object sender, EventArgs e) int n = Convert.ToInt32(textBox1.Text); int be=0; for (int i = 2; i <= Math.Sqrt(n) && be==0; i++) if (n%i==0) be++; if (be == 0) label1.text = "Broj je prost"; label1.text = "Broj je slozen";
private void button1_click(object sender, EventArgs e) int n = Convert.ToInt32(textBox1.Text); int i = 2; while (i * i <= n && n % i!= 0) i++; if (i*i>n) label1.text = "Broj je prost"; label1.text = "Broj je slozen"; 4. Kreirati aplikaciju kojom se za dati prirodan broj n prikazuje prvih n prostih brojeva. private void button2_click(object sender, EventArgs e) int n = Convert.ToInt32(textBox1.Text); int x = 2; while(n>0) int m = 2; while (m * m <= x && x % m!= 0) m++; if (m*m>x) listbox1.items.add(x); n--; x++; 5. 1.1.2011 je subota. Marko trenira plivanje svakog ponedeljka i petka do zadatog datuma iste godine (dan, mesec). Koliko treninga je Marko imao. private void btplivanje_click(object sender, EventArgs e) int dan, mesec; dan = Convert.ToInt32(textBox1.Text); mesec = Convert.ToInt32(textBox2.Text); int x = dan-1; for (int i = 1; i < mesec; i++) if (i == 1 i == 3 i == 5 i == 7 i == 8 i == 10 i == 12) x += 31; if (i == 2) x += 28; x += 30;
int k1, k2; if (x > 3) k1 = (x - 3) / 7 + 1; k1 = 0; if (x > 7) k2 = (x - 7) / 7 + 1; k2 = 0; label3.text = "trenirao je " + (k1 + k2) + " puta"; 6. Kreirati aplikaciju kojom se odreñuje broj dana izmeñu dva datuma o iste godine o možda i različitih godina private void btbrojdanaistegod_click(object sender, EventArgs e) int d1, m1, g1; string s = textbox1.text; int p = s.indexof('.'); d1 = Convert.ToInt32(s.Substring(0, p)); s = s.substring(p + 1); p = s.indexof('.'); m1 = Convert.ToInt32(s.Substring(0, p)); g1=convert.toint32(s.substring(p + 1)); int d2, m2, g2; s = textbox2.text; p = s.indexof('.'); d2 = Convert.ToInt32(s.Substring(0, p)); s = s.substring(p + 1); p = s.indexof('.'); m2 = Convert.ToInt32(s.Substring(0, p)); g2 = Convert.ToInt32(s.Substring(p + 1)); int x1 = d1 ; for (int i = 1; i < m1; i++) if (i == 1 i == 3 i == 5 i == 7 i == 8 i == 10 i == 12) x1 += 31; if (i == 2) if((g1%4==0 && g1%100!=0) g1%400==0) x1+=29; x1 += 28; x1 += 30;
int x2 = d2; for (int i = 1; i < m2; i++) if (i == 1 i == 3 i == 5 i == 7 i == 8 i == 10 i == 12) x2 += 31; if (i == 2) if ((g2 % 4 == 0 && g2 % 100!= 0) g2 % 400 == 0) x2 += 29; x2 += 28; x2 += 30; label1.text = (x2 - x1 ) + " dana"; private void btbrojdanarazgod _Click(object sender, EventArgs e) int d1, m1, g1; string s = textbox1.text; int p = s.indexof('.'); d1 = Convert.ToInt32(s.Substring(0, p)); s = s.substring(p + 1); p = s.indexof('.'); m1 = Convert.ToInt32(s.Substring(0, p)); g1 = Convert.ToInt32(s.Substring(p + 1)); int d2, m2, g2; s = textbox2.text; p = s.indexof('.'); d2 = Convert.ToInt32(s.Substring(0, p)); s = s.substring(p + 1); p = s.indexof('.'); m2 = Convert.ToInt32(s.Substring(0, p)); g2 = Convert.ToInt32(s.Substring(p + 1)); int x1 = d1; for (int i = 1; i < m1; i++) if (i == 1 i == 3 i == 5 i == 7 i == 8 i == 10 i == 12) x1 += 31; if (i == 2) if ((g1 % 4 == 0 && g1 % 100!= 0) g1 % 400 == 0) x1 += 29; x1 += 28; x1 += 30;
int x2 = d2; for (int i = 1; i < m2; i++) if (i == 1 i == 3 i == 5 i == 7 i == 8 i == 10 i == 12) x2 += 31; if (i == 2) if ((g2 % 4 == 0 && g2 % 100!= 0) g2 % 400 == 0) x2 += 29; x2 += 28; x2 += 30; int d=0; for (int g = g1; g < g2; g++) if ((g % 4 == 0 && g % 100!= 0) g % 400 == 0) d += 366; d += 365; d = d - x1 + x2; label1.text = d + " dana"; 7. Bilbo ima A zlatnika, treba da preñe put od K km, dnevno prelazi D km. Prvi dan troši M zlatnika, svaki sledeći 15% manje od prethodnog dana, uvek troši ceo broj zlatnika zaokružen na veći broj. Kreirati aplikaciju kojom se odreñuje da li je stigao i sa koliko zlatnika, a ako ne može da stigne kog dana mu je je ponestalo zlatnika. private void btbilbo_click(object sender, EventArgs e) int a, k, d, m; a = Convert.ToInt32(textBox1.Text); k = Convert.ToInt32(textBox2.Text); d = Convert.ToInt32(textBox3.Text); m = Convert.ToInt32(textBox4.Text); int i = 0; float m1; while(k>0 && a>=m) k -= d; i++; a-=m; m1 =m- (float)m * 15 / 100; if ((int)m1 == m1)//3.00 m = (int)m1; m=(int)m1 + 1;//3.20 4 if (k <= 0) label5.text = " Bilbo je stigao ima " + a + " zlatnika"; label5.text = " Bilbo je ostao bez zlatnika " + (i+1) + ".dana";
8. Mali Marko stanuje daleko od škole. Da bi stigao u školu, svaki dan mora putovati autobusom i tramvajem. Zbog njihovog čudnog voznog reda često kasni, pa ga sada mama tera da jako rano kreće u školu da ne bi zakasnio. Marko želi pomoću računara odrediti kada najkasnije treba da krene u školu da bi stigao barem 5 minuta pre početka nastave. Put od svog stana do autobusne stanice Marko preñe za 1 minutu. Sa autobusne stanice prvi autobus kreće u 5:00 sati ujutro i ceo dan autobusi voze svakih M minuta. Od autobusne stanice do tramvajske stanice autobus vozi 15 minuta. Sa te tramvajske stanice prvi tramvaj kreće u 5:00 sati ujutro i ceo dan tramvaji voze svakih N minuta. Od tramvajske stanice do stanice pored škole tramvaj vozi 20 minuta. Od stanice pored škole do razreda Marku treba 1 minuta. Na primer, ako je M=10 i N=17, a nastava počinje u 8:00 onda Marko može krenuti od kuće u 7:09, ukrcati se na autobus 7:10, ukrcati se na tramvaj u 7:33,stići do stanice pored škole u 7:53 i biti u razredu u 7:54, na vreme za nastavu. Ulazni podaci: prirodni brojevi M i N koji su manji od 30 dva prirodna broja koja predstavljaju sat i minutu početka nastave nastava počinje najranije u 6:00 Izlazni podaci: najkasnije vrijeme (sat i minuta) kada Marko treba da krene u školu da bi stigao barem 5 minuta pre početka nastave u obliku sat:minuta Primeri: Ulaz: 10 17 8 0 Izlaz: 7:9 Ulaz: 10 15 13 41 Izlaz: 12:59 private void button1_click(object sender, EventArgs e) int n, m, sat, min; m = Convert.ToInt32(textBox1.Text); n = Convert.ToInt32(textBox2.Text); sat = Convert.ToInt32(textBox3.Text); min = Convert.ToInt32(textBox4.Text); int x = (sat - 5) * 60 + min; x = x - 26; int br; br = x / n; x = br * n - 15; br = x / m; min =5*60+( br * m - 1); sat = min / 60; min = min % 60; lbrez.text = sat + ":" + min; 9. Svima je poznato kako se sabiraju dva prirodna broja metodom potpisivanja. Kod takvog sabiranja prvo se sabiraju odgovarajuće cifre jedinica, njihov zbir se zapiše a prenos preko 10 se pamti. Postupak se dalje nastavlja na poznat način. Uvedeno je novo sabiranje tzv.podvodno sabiranje. Kod podvodnog sabiranja za zbir odgovarajućih cifara uzima se manja i ona se piše kao rezultat. Pamtim prenos, se kod ovakvog sabiranja nikad ne pojavljuje. Npr. podvodni zbir brojeva 74 i 38 je 34 jer je manja od cifara jedinica (4 i 8) 4, a manja od cifara desetica (7 i 3) je 3. Ako su brojevi različite dužine tada ispred kraćeg broja dopišemo onoliko nula koliko je potrebno da se brojevi izjednače
po dužini. Kreirati aplikaciju kojom se za dva dana prirodna broja odreñuje njihov podvodni zbir. Primeri:Podvodni zbir brojeva 283 i 559 je 253, a brojeva56 i 123 je 23. private void btpodvodnizbir_click(object sender, EventArgs e) int x, y, z,st; x = Convert.ToInt32(textBox1.Text); y = Convert.ToInt32(textBox2.Text); z = 0; st = 1; while (x > 0 && y > 0) int c1, c2; c1 = x % 10; c2 = y % 10; x /= 10; y /= 10; if (c1 < c2) z += c1 * st; z += c2 * st; st *= 10; textbox3.text = z.tostring(); 10.Domine su male pločice koje se koriste u puno različitih igara. Na svakoj pločici nalaze se dve oznake. Svaka oznaka sastoji se od nekog broja tačkica. Broj tačkica zavisi od veličine domino seta. U domino setu veličine N broj tačkica na jednoj oznaci može biti bilo koji broj izmeñu 0 i N, uključujući granice. U jednom setu ne postoje dve domine potpuno jednakih oznaka, bez obzira na redosljed oznaka na pločici. U potpunom setu veličine N nalaze se sve moguće domine sa oznakama 0 do N. Tako potpuni domino set veličine 2 sadrži šest domina s oznakama: 0,0 0,1 0,2 1,1 1,2 2,2. Kreirati aplikaciju kojom se za datu veličinu N domino seta u objektu klase Listbox prikazujz sve domine. private void numericupdown2_valuechanged(object sender, EventArgs e) int n = (int)numericupdown2.value; listbox1.items.clear(); for (int i = 0; i <= n; i++) for (int j = i; j <= n; j++) listbox1.items.add(i + " " + j); 11.Ako je krug datog poluprečnika (textbox) nacrtan na papiru sa kvadratićima tako da je centar kruga u nekom temenu jednog kvadratića kreirati aplikaciju kojom se odreñuje broj kvadratića koji se celi nalaze u krugu. Prikazati krug i kvadratiće.
private void btkrugkvadratici_click(object sender, EventArgs e) int r = Convert.ToInt32(textBox1.Text); int br = 0; Graphics g = CreateGraphics(); int xc, yc; xc = ClientRectangle.Width / 2; yc = ClientRectangle.Height / 2; Pen olovka = new Pen(Color.Red); Refresh(); g.drawellipse(olovka, xc - r * 10, yc - r * 10, 2 * r * 10, 2 * r * 10); olovka.color = Color.Blue; for (int y = 1; y < r; y++) int x = (int)math.sqrt(r * r - y * y); br += x; for (int j = 0; j < x; j++) g.drawrectangle(olovka, xc + j * 10, yc - y * 10, 10, 10); g.drawrectangle(olovka, xc -(j+1) * 10, yc - y * 10, 10, 10); g.drawrectangle(olovka, xc + j * 10, yc + (y-1) * 10, 10, 10); g.drawrectangle(olovka, xc - (j+1) * 10, yc + (y-1) * 10, 10, 10); br *= 4; label2.text = br.tostring(); 12.Kreirati aplikaciju kojom se u objektu klase ListBox upisuju prvih N Fibonačijevih brojeva. Niz Fibonačijevih brojeva definisan je na sledeći način: f 1 =1, f 2 =1, f N =f N-2 +f N-1 N>2.
private void btispisi_click(object sender, EventArgs e) int n=convert.toint32(tbn.text); ulong fp,fpp,f; fp=fpp=1; lbfibonacijevi.items.clear(); lbfibonacijevi.items.add(fpp); if(n>1)lbfibonacijevi.items.add(fp); for(int i=3;i<=n;i++) f=fp+fpp; fpp=fp; fp=f; lbfibonacijevi.items.add(f); 13.Kreirati aplikaciju kojom se proverava da li je dati prirodan broj x Fibonačijev broj. Niz Fibonačijevih brojeva definisan je na sledeći način: f 1 =1, f 2 =1, f N =f N-2 +f N-1 N>2. int x = Convert.ToInt32(Console.ReadLine()); int f,fp, fpp; f= fp = fpp = 1; while(x>f) f = fp + fpp; fpp = fp; fp = f; Console.Write("Broj " + x ); if (x == f) Console.WriteLine(" je Fibonacijev broj"); Console.WriteLine(" nije Fibonacijev broj"); 14.Svaki prirodan broj može se prikazati kao zbir različitih Fibonačijevih brojeva. Kreirati aplikaciju kojom se dati prirodan broj N predstavlja na taj način (rešenje nije jedinstveno). 12 = 1*8 + 0*5 + 1*3 + 0*2 + 1*1 + 0*1 70 = 1*55 + 0*34 + 0*21 + 1*13 + 0*8 + 0*5 + 0*3 + 1*2 + 0*1 + 0*1 34 = 1*34 + 0*21 + 0*13 + 0*8 + 0*5 + 0*3 + 0*2 + 0*1 + 0*1 int n = Convert.ToInt32(Console.ReadLine()); int fp, fpp, f; fp = fpp = f = 1; while (n >= fp) f = fp + fpp; fpp = fp; fp = f;
Console.Write(n + " = "); do f = fp - fpp; fp = fpp; fpp = f; if (n >= fp) Console.Write("1*"); n = n - fp; Console.Write("0*"); Console.Write(fp); if (fpp!= 0) Console.Write(" + "); while (fpp!= 0); Console.WriteLine(); 15.Marko i Darko prijatelji su od detinjstva i sede zajedno u klupi na časovima matematike. Na jednom času matematike profesorica je spomenula Fibonačijev niz brojeva, što je dvojicu mladića jako zainteresovalo. Marko je na brzinu pod klupom u svoj iphone ukucao ime Fibonačii i saznao sve o tom nizu. Oduševljeni otkrićem, odlučili su izmisliti svaki svoj niz brojeva. Markov niz izgleda ovako: A, A+B, A+B+A, A+B+A+B, A+B+A+B+A... Darkov niz čine brojevi: C, C+D, C+D+C, C+D+C+D, C+D+C+D+C... Na kraju časa su se Marko i Darko pohvalili profesorici svojim vlastitim nizovima, na što im je ona zadala zadatak koji oni ne znaju rešiti: koja su tri najmanja broja koja se nalaze i u Markovom nizu i u Darkovom nizu brojeva? Napišite program koji će za za date brojeve A, B, C i D pronaći tri najmanja broja koja se nalaze u oba niza. PRIMER: Ulaz: A=7 B=3 C=4 D=5 Izlaz: 27 40 67 Objašnjenje primera: Prvih 15 brojeva Markovog niza čine brojevi: 7, 10, 17, 20, 27, 30, 37, 40, 47, 50, 57, 60, 67, 70, 77 Prvih 15 brojeva Darkovog niza čine brojevi: 4, 9, 13, 18, 22, 27, 31, 36, 40, 45, 49, 54, 58, 63, 67 Podebljani su brojevi koji se nalaze u oba niza. int a,b,c,d; a= Convert.ToInt32(Console.ReadLine()); b = Convert.ToInt32(Console.ReadLine()); c = Convert.ToInt32(Console.ReadLine()); d = Convert.ToInt32(Console.ReadLine()); int x = a, y = c; bool plusb = true; // Marko dodaje B bool plusd = true; // darko dodaje D int k = 3;
while (k > 0) if (x == y) Console.WriteLine(x); k--; if (plusb) x += b; x += a; plusb =!plusb; if (plusd) y += d; y += c; plusd =!plusd; if (x < y) if (plusb) x += b; x += a; plusb =!plusb; if (plusd) y += d; y += c; plusd =!plusd; 16. Kreirati aplikaciju kojom se na unose temperature za N dana, prvo se unosi broj dana a zatim temperature, svaka u posebnoj liniji. Odredi prosečnu temperaturu i maksimalnu temperatura. int n, t,max; float s; n = Convert.ToInt32(Console.ReadLine()); t = Convert.ToInt32(Console.ReadLine()); max = t; s = t; for (int i = 1; i < n; i++) t = Convert.ToInt32(Console.ReadLine()); s += t; if (t > max) max = t;
s /= n; Console.WriteLine("Prosecna temperatura je " + s.tostring("0.00")); Console.WriteLine("Maksimalna temperatura je " + max); Console.Read(); 17.Mali Mirko voli knjige, ali se uvek uplaši kada mora pročitati neku debelu knjigu. Učiteljica je rekla Mirku: koliko ima redova na jednoj stranici knjiga, broj poglavlja u knjizi i koliko redova ima svako poglavlje. Svako poglavlje počinje na novoj stranici. Mirka zanima koliko ta knjiga ima stranica, a pomoć u rješavanju tog problema je odlučio pronaći menu najboljim informatičarima u svojoj školi. Napiši program koji će izračunati broj stranica knjige. Primer: Ulazz: 10 redova na jednoj stranici 4 poglavlja 234 broj redova prvog poglavlja 234:10=23 ostatka 4 24 stranice 120 broj redova drugog poglavlja 120:10=12 138 broj redova treceg poglavlja 14 123 broj redova cetvrtog poglavlja 13 Izlaz: 63 stranice int br,s,b,n; Console.WriteLine("Unesite broj redova na jednoj stranici"); br = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Unesite broj poglavlja"); n = Convert.ToInt32(Console.ReadLine()); s = 0; for (int i = 0; i < n; i++) b = Convert.ToInt32(Console.ReadLine()); s += b / br; if (b % br!= 0) s++; Console.WriteLine("Knjiga ima "+s+" str."); Console.Read(); 18.Biznismen je podigao kredit od K dinara sa godisnjom kamatom P% i uložio u posao. Po prognozama, posao bi trebalo da mu godišnje donosi zaradu od R din. Da li moze prikupiti dovoljno novca da ugasi dug u narednih 100godina i ako moze za koliko godina? Uzeti da se na kraju svake godine obračunava kamata (za iznos duga) i da posle toga takoñe na kraju godine biznismen zaradu R daje na otplatu kredita umanjujući dug. Console.WriteLine("Unesite kredit"); float k = Convert.ToSingle(Console.ReadLine()); Console.WriteLine("Unesite kamatu");
float p = Convert.ToSingle(Console.ReadLine()); Console.WriteLine("Unesite ocekivanu zaradu"); float r = Convert.ToSingle(Console.ReadLine()); int bg=0; while (bg < 100 && k > 0) k = k + p * k / 100;//p% od kredita k k = k - r; bg++; if (k > 0) Console.WriteLine("ne moze"); Console.WriteLine("moze za " + bg + " god."); Console.Read(); 19. Kreirati aplikaciju kojom se obezbeñuje crtanje serije krugova ili pravougaonika po objektu klase PictureBox. Izbor da li se vrši crtanje kruga ili pravougaonika realizovati korišćenjem objekata klase RadioButton, a izbor da li su figure popunjene ili se crta kontura realizovati korišćenjem objekta klase CheckBox. o Serija krugova se crta na sledeći način: Centar prvog kruga definisan je pozicijom miša na kojoj je korisnik pritisnuo taster miša (MouseDown), a jedna tačka kruga definisana je pozicijom miša kad je korisnik otpustio taster (MouseUp). Centri svih krugova nalaze se na pravoj paralelnoj x osi. Sledeći krug iz serije dodiru spolja sa desne strane prethodno nacrtani krug, poluprečnik mu je za 3 manji od poluprečnika prethodnog kruga. o Serija pravougaonika crta se na sledeći način: Temena jedne dijagonale prvog pravougaonika definisana su pozicijama miša u trenutku kad je korisnik pritisnuo taster miša i kad je otpustio taster miša. Gornje levo teme sledećeg pravougaonika je u donjem desnom temenu prethodnog pravougaonika (nadovezuju se), a stranice pravougaonika su za 3 manje od stranicva prethodnog pravougaonika iz serije.
float x, y; Random R = new Random(); private void picturebox1_mousedown(object sender, MouseEventArgs e) x = e.x; y = e.y; private void picturebox1_mouseup(object sender, MouseEventArgs e) float x1, y1; x1 = e.x; y1 = e.y; if (radiobutton1.checked) float r = (float)math.sqrt((x - x1) * (x - x1) + (y - y1) * (y - y1)); Graphics g = picturebox1.creategraphics(); Pen olovka = new Pen(Color.Red, 3); SolidBrush cetka = new SolidBrush(Color.Red); while (r >= 3 && x + r <= picturebox1.width) Color boja = Color.FromArgb(R.Next(256), R.Next(256), R.Next(256)); if (checkbox1.checked) cetka.color = boja; g.fillellipse(cetka, x - r, y - r, 2 * r, 2 * r); olovka.color = boja; g.drawellipse(olovka, x - r, y - r, 2 * r, 2 * r); x = x + r + r - 3; r = r - 3; float a, b; a = Math.Abs(x - x1); b = Math.Abs(y - y1); x = Math.Min(x, x1); y = Math.Min(y, y1); Graphics g = picturebox1.creategraphics(); Pen olovka = new Pen(Color.Red, 3); SolidBrush cetka = new SolidBrush(Color.Red);
while (a >= 3 && b>=3 && x + a <= picturebox1.width && y+b<=picturebox1.height) Color boja = Color.FromArgb(R.Next(256), R.Next(256), R.Next(256)); if (checkbox1.checked) cetka.color = boja; g.fillrectangle(cetka, x,y,a,b); olovka.color = boja; g.drawrectangle(olovka, x,y,a,b); x = x + a; y = y + b; a -= 3; b-=3; 20.Unose se celi brojevi, svaki u novoj liniji, dok se ne unese 0.Odrediti srednju vrednost pozitivnih brojeva i srednju vrednost negativnih brojeva. int n = Convert.ToInt32(Console.ReadLine()); int t, sp, sn, bp, bn; sp = sn = 0;// sume pozitivnih i negativnih brojeva bp = bn = 0;// broj pozitivnih i negativnih brojeva for (int i = 0; i < n; i++) t = Convert.ToInt32(Console.ReadLine()); if (t > 0) sp += t; bp++; if (t < 0) sn += t; bn++; if (bp!= 0) float pp = (float)sp / bp; Console.WriteLine("Prosek pozitivnih " + pp.tostring("0.00")); Console.WriteLine("Nema pozitivnih"); if (bn!= 0) float pn = (float)sn / bn; Console.WriteLine("Prosek negativnih " + pn.tostring("0.00")); Console.WriteLine("Nema negativnih");
21.U nekoj fabrici radnik sa pokretne trake redom uzima artikle i pakuje ih u pakete čiji je kapacitet najviše K kg. Kada neki artikl ne može da stane u tekući paket zbog ograničenja kapaciteta, tekući paket zatvara i pakovanje nastavlja u novom paketu. U prvom redu nalazi se prirodan broj K, u sledećem redu mase artikla izražene u kg. Kreirati aplikaciju kojom se u ispisuje broj predmeta svakog paketa i redni broj paketa koji sadrži najviše predmeta. Primer: Ulaz 20 12 1 5 10 2 9 7 5 Izlaz: 3 2 2 1 max paket: 1 int K; // kapacitet paketa K = Convert.ToInt32(Console.ReadLine()); string s = Console.ReadLine(); s += " "; int m; int suma = 0; int bp = 0, tk=1; int maxbp = 0,rbMaxKut = 0; while (s!="") int p = s.indexof(" "); //12 34 9 12 m = Convert.ToInt32(s.Substring(0, p)); s = s.substring(p + 1); //34 9 12 if (suma + m <= K) suma += m; bp++; Console.WriteLine(bp); if (bp > maxbp) maxbp = bp; rbmaxkut = tk; suma = m; bp = 1; tk++; Console.WriteLine(bp); if (bp > maxbp) maxbp = bp; rbmaxkut = tk; Console.WriteLine("Max predmeta ima u kutiji " + rbmaxkut); Console.ReadLine();
22.Unose se celi brojevi, svaki u novoj liniji, dok se ne unese 0.Odrediti najveći od njih (0 ne analiziramo, ona služi da označi kraj unosa). int max, x; max = Convert.ToInt32(Console.ReadLine()); if (max!= 0) x = Convert.ToInt32(Console.ReadLine()); while (x!= 0) if (x > max) max = x; x = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Max je " + max); Console.WriteLine("Niste uneli ni jedan broj!=0"); 23. Unose se celi brojevi, svaki u novoj liniji, dok se ne unese 0. Odrediti najveći od njih (0 ne analiziramo, ona služi da označi kraj unosa) i broj njegovog pojavljivanja. int max, x,br; max = Convert.ToInt32(Console.ReadLine()); br = 1; if (max!= 0) x = Convert.ToInt32(Console.ReadLine()); while (x!= 0) if (x > max) max = x; br = 1; if (x == max) br++; x = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Max je " + max+" pojavljue se "+br +"puta"); Console.WriteLine("Niste uneli ni jedan broj!=0"); 24. Unose se celi brojevi, svaki u novoj liniji, dok se ne unese 0. Odrediti najveći parni broj meñu unetim brojevima, ako parnih brojeva nema napisati odgovarajuću poruku (0 ne analiziramo, ona služi da označi kraj unosa).
int max=0, x; bool pmax = false;// postavljen maximum parnih x = Convert.ToInt32(Console.ReadLine()); while (x!= 0) if (x % 2 == 0) if (pmax == false) max = x; pmax = true; if (x > max) max = x; x = Convert.ToInt32(Console.ReadLine()); if (pmax) Console.WriteLine("Max paran je " + max); Console.WriteLine("Niste uneli ni jedan paran broj"); 25.Unose se N celih brojeva, svaki u posebnoj liniji. Odrediti drugi po veličini meñu njima, ako su svi brojevi jednaki dati odgovarajuću poruku. Primeri: Ulaz: N=8, brojevi:12 12 4 17 23 34 23 34 Izlaz: 23 Ulaz: N=4, brojevi: 12 12 12 12 Izlaz: svi brojevi su jednaki int max1=0, max2=0; int n = Convert.ToInt32(Console.ReadLine()); bool pmax2=false; // postavljen drugi maksimum max1 = Convert.ToInt32(Console.ReadLine()); for (int i = 2; i <=n; i++) int x = Convert.ToInt32(Console.ReadLine()); if (x > max1) max2 = max1; max1 = x; if (pmax2 == false) // ako nij epostavljen drugi maksimum // postaviti ga max2 = x; pmax2 = true; // inače uporediti pročitani broj sa drugim maksimumom if (x > max2) max2 = x; if (pmax2) Console.WriteLine("Drugi po velicini je " + max2); Console.WriteLine("Svi elementi su jednaki");