Quantcast

zadaci iz programskog jezika C

jocikakg

Veoma poznat
Poruka
12.914
Da li moze neko da uradi zadatke iz programskog jezika C (ali samo C a ne C++)?hitno mi trebaju

1. Napisati program kojim se unose vrednosti dva cela broja nad kojima se primenjuju 4 osnovne racunske operacije i stampaju njihovi rezultati.
2. Napisati program kojim se racuna zbir i prosecna vrednost celih brojeva unetih sa tastature. Program prvo resiti naredbom za ciklus WHILE, a zatim naredbom FOR
3. Napisati program koji pretvara broj ucitan sa tastature (dekadni brojni system) u broj koji odgovara brojnom sistemu baze koja se takodje definise sa tastature. Na primer: broj 23 u dekadnom brojnom sistemu (osnova 10) treba prikazati u binarnom brojnom sistemu (osnova 2).
4. Napisati program kojim se izracunava suma elemenata matrice ANxN ispod glavne dijagonale i proizvod elemenata matrice ANxN iznad glavne dijagonale.
5. Napisati program koji odredjuje i prikazuje na ekranu zbir, razliku, proizvod, kolicnik i ostatak pri deljenju dva broja uneta sa tastature, pri cemu je prvi broj tipa REAL, a drugi broj tipa INT.
 

Peruzzi

Domaćin
Poruka
3.962
Kod:
#include <stdio.h>
int main(){
  int a, b;
  scanf("%d", &a);
  scanf("%d", &b);
  printf("%d + %d = %d\n", a, b, a+b);
  printf("%d - %d = %d\n", a, b, a-b);
  printf("%d * %d = %d\n", a, b, a*b);
  printf("%d / %d = %d\n", a, b, a/b);

  return 0;
}
eto prvi, za ostale sedi pa uradi domaci. isplatice ti se nekad ;)
 

8-Mile RD

Veoma poznat
Poruka
10.351
Evo ti i drugi


Sa while:

#include "c:\TC\INCLUDE\stdio.h"

int main(){


float zbir;
int n;
int i;
float prosek;
int brojevi[20];

system("cls");

scanf("%d",&n);
i=0;
zbir=0;
prosek=0;

while (i<n)
{
scanf("%d",&brojevi);
zbir=zbir+brojevi;
i=i+1;
}

prosek=zbir/n;

printf("%.1f \n",zbir);
printf("%.2f",prosek);

system("pause");


return 0;

}



Sa for:

#include "c:\TC\INCLUDE\stdio.h"

int main(){


float zbir;
int n;
int i;
float prosek;
int brojevi[20];

system("cls");

scanf("%d",&n);
i=0;
zbir=0;
prosek=0;

for (i=0; i<n; i++)
{
scanf("%d", &brojevi);
zbir=zbir+brojevi;
}

prosek=zbir/n;

printf("%.1f \n",zbir);
printf("%.2f",prosek);

system("pause");


return 0;




}
 

Dreian

Obećava
Poruka
53
U drugom zadatku nizovi nisu potrebni. Najbolje bi bilo zameniti:
Kod:
int x;
while (i < n)
  {
    scanf("%d", &x);
    zbir += x;
    i++; // i += 1
  }
Ovako, rešiću ti samo treći zadatak, jer su preostala dva laka.
Recimo da imamo broj N[SUB]10[/SUB] koji želimo da zapišemo u osnovi K - odnosno, želimo da napišemo N[SUB]K[/SUB].
Broj N[SUB]K[/SUB] ima određen broj cifara, recimo q. Tada bi se on mogao zapisati kao c[SUB]q-1[/SUB]c[SUB]q-2[/SUB]...c[SUB]1[/SUB]c[SUB]0[/SUB]. Vrednost tog broja određuje se na sledeći način:
Krećemo sa desne strane. Množimo c[SUB]0[/SUB] * k[SUP]0[/SUP], a tome dodajemo c[SUB]1[/SUB] * k[SUP]1[/SUP] itd. (∑ (c_i * k ^ i ) ) Taj zbir je broj u dekadnom brojnom sistemu!
Da bismo iz dekadnog brojnog sistema dobili broj u osnovi K, neophodno je da nađemo najveći stepen broja K koji nije veći od N. Nazovimo taj broj M.
N delimo sa M i taj količnik je prva cifra. Tada ostatak pri ovom deljenju postaje nova vrednost N, a M se smanjuje K puta, tj. ako je M = K[SUP]t[/SUP], sada će M biti K[SUP]t - 1[/SUP]. Proces se ponavlja sve dok je M pozitivan broj (M >= 1).
N = 23, K = 2
23 / 16 = 1
7 / 8 = 0
7 / 4 = 1
3 / 2 = 1
1 / 1 = 1
10111 je rešenje.
Takođe, u sistemima osnove veće od 10 koriste se slova A (10), B (11) ... Z (35). ASCII (CP437) kod za 'A' je 65. Prema tome, ukoliko je količnik c >= 10, treba ispisati karakter koda koji je za 55 veći od c.
Takođe postoji slučaj kada je K > N. Tada će se broj ispisati sa nulom na početku, pa i to mora da se ispravi.
Kod:
#include <stdio.h>

main ()
  {
    int k, m, n, c;
    scanf ("%d %d", &n, &k);
    m = k;
    if (n >= m)
      while (m * k <= n)
        m *= k;
    else
      m = 1;
    while (m >= 1)
      {
        c = n / m;
        n %= m;
        m /= k;
        if (c < 10)
          printf ("%d", c);
        else
          printf ("%c", c + 55);
      }
  }
P.S.
Kod:
  printf("%d / %d = %d\n", a, b, a/b);
Šta ako je b = 0? :)
 
Poslednja izmena:

Dreian

Obećava
Poruka
53
Kod:
#include "stdio.h"

int main()
  {
    float zbir = 0, prosek = 0;
    int n, i = 0, x;
    scanf ("%d", &n);
    while (i < n)
      {
        scanf ("%d", &x);
        zbir += x;
        i++;
      }
    prosek = zbir / n;
    printf ("%.1f \n", zbir);
    printf ("%.2f", prosek);
  }
Kod:
#include "stdio.h"

int main()
  {
    float zbir = 0, prosek = 0;
    int n, i, x;
    scanf ("%d", &n);
    for (i = 0; i < n; i++)
      {
        scanf ("%d", &x);
        zbir += x;
      }
    prosek = zbir / n;
    printf ("%.1f \n", zbir);
    printf ("%.2f", prosek);
  }
 

Stevan07

Zainteresovan član
Poruka
201
Znate li jos koji od preostalih?? Ja sam bas pocetnik, tako da veze nemam... :(
I zna li ko da resi ovu zadacinu???
. Automobil trosi 7,8 litara na 100 km u gradskoj voznji, 5,9 litara na 100 km tokom voznje na otvorenom putu brzinom od 90 km/h I 6,5 litara na 100 km tokom voznje na otvorenom putu brzinom od 120 km/h. Sastaviti program na jeziku C koji racuna ukupnu potrosnju goriva na osnovu predjenog puta u odredjenim rezimima voznje koji se unose preko tastature.
 

Dreian

Obećava
Poruka
53
Znate li jos koji od preostalih?? Ja sam bas pocetnik, tako da veze nemam... :(
I zna li ko da resi ovu zadacinu???
. Automobil trosi 7,8 litara na 100 km u gradskoj voznji, 5,9 litara na 100 km tokom voznje na otvorenom putu brzinom od 90 km/h I 6,5 litara na 100 km tokom voznje na otvorenom putu brzinom od 120 km/h. Sastaviti program na jeziku C koji racuna ukupnu potrosnju goriva na osnovu predjenog puta u odredjenim rezimima voznje koji se unose preko tastature.
Nemam nameru da ispisujem kod - ipak sam treba da rešiš ove zadatke, ali ću ti dati osnovnu ideju.

4. Matrica se obično prikazuje kao nekakva tabela:
Kod:
n = 5;
5 2 3 6 8
3 7 1 9 2
1 2 0 7 3
7 2 3 1 2
6 1 5 2 3
Ovaj zadatak se sastoji iz dva dela: određivanja zbira i određivanja proizvoda. Sada ću boldovati područja koja treba da se sabiraju, tj. množe.
Kod:
5 2 3 6 8     5 [B]2 3 6 8[/B]
[B]3[/B] 7 1 9 2     3 7 [B]1 9 2[/B]
[B]1 2[/B] 0 7 3  i  1 2 0 [B]7 3[/B]
[B]7 2 3[/B] 1 2     7 2 3 1 [B]2[/B]
[B]6 1 5 2[/B] 3     6 1 5 2 3
Dakle, rešenja su 3 + 1 + 2 + 7 + 2 + 3 + 6 + 1 + 5 + 2 = 32 i 2 * 3 * 6 * 8 * 1 * 9 * 2 * 7 * 3 * 2 = 217728 :eek:.
Osnovna ideja je ta da sve vreme dajemo nove vrednosti promenljivama sum i prod. Sum je zbir, a prod je proizvod. Neophodne su dve FOR petlje koje će da proveravaju svaki član matrice. Ali, kako se određuje da li treba trenutni prod da dobije vrednost proizvoda prod i broja na kome smo sada ili treba li dodati promenljivoj sum taj broj?
Drugim rečima, ako koristimo dva brojača, x i y (0 <= x, y < n), kako određujemo da li A [x][y] (A[SUB]x, y[/SUB]) pripada proizvodnom ili zbirnom skupu? Pokušaj da uporediš x i y!

5. Ovo mi je malo nejasno - da li je u pitanju celobrojna ili realna deoba?
Ovo ti je skoro potpuno isto kao i prvi zadatak. Međutim, postoji jedan problem - ostatak. % (ostatak) ne može da se koristi u x % y ako jedan od njih nije ceo broj. Sama ideja ostatka pri deljenju kod realnih brojeva mi je čudna - zašto je koristiti?
Nego, ono što bi ovde trebalo uraditi, ako je x tipa float, a y int, realni ostatak bi se odredio kao x - (int) (x / y). Taj deo je loše postavljen, mada je zadatak prilično lak.

6. Recimo da su ti putevi s[SUB]1[/SUB], s[SUB]2[/SUB] i s[SUB]3[/SUB]. Na putu s[SUB]1[/SUB] potrošnja goriva je 7.8 l / 100 km. Označimo to kao neki broj k. Na tom delu puta važi za svako x (pređeni put) i z (potrošnja goriva) da je k = z / x. (Ovo je slično kao kod formule za konstantnu brzinu, tj. v = s / t.)
Šta bi bilo kada bi sada zamenio x sa s[SUB]1[/SUB]? Tada dobijaš z iz formule k * s[SUB]1[/SUB]. Ponovi to za preostala dva dela i odredi zbir tih rešenja (dobija se s[SUB]1[/SUB] * 7.8 / 100 + s[SUB]2[/SUB] * 5.9 / 100 + s[SUB]3[/SUB] * 6.5 / 100). Brzine su beskorisne pri rešavanju ovog problema i služe samo da zbune.
 

2paca.zwaka

Primećen član
Poruka
561
radio sam zadatke u pascalu, c, c++,basicu, c#.........i nikada nisam dosao za zadacom na forum da molim nekoga da mi uradi.......... msm da ocakvim temam nije mesto na forumu i da admini treba da rade svoj posao..........zadace se rade a ne kace na forum...............mozete me banovat' al to je moj stav........zadace nebi trebalo biti...........sedi i uradi.....isplatice ti se nekad.....kao sto peruzzi kaze........!!!!
 

Vintroset

Ističe se
Poruka
2.472
1. Napisati algoritam koji za ucitana dva prirodna broja m, n (m>=n) sa ispisuje njihov proizvod koristeci samo operacije sabiranja i oduzimanja.
2. Napisati algoritam koji za ucitana dva nenegativna cela broja sa ulaza ispisuje na izlaz njihov kolicnik i ostatak koristeci samo operacije sabiranja i oduzimanja. voditi racuna o deljenju sa 0.
3. Napisati algoritan koji za ucitane koeficiente jednacina dve prave (oblika y=ax+b) ispisuje njihov presek ili poruku da su prave paralelne ili se poklapaju. Voditi racuna odeljenju sa 0.

pa volj' algoritam volj' funkcija ili kratak opis toka, ...
 

Top
  Blokirali ste reklame
Dragi prijatelju, nemojte da blokirate reklame - isključite Ad Blocker na Forumu, jer će tako mesto vaših susreta na Krstarici ostati besplatno za korišćenje.