Programiranje u C-u

poruka: 216
|
čitano: 64.790
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
17 godina
neaktivan
offline
Programiranje u C-u

Stavi 99. Zato sto indeks krece od 0. 0-99 ima sto znakova.

Gentoo... it's like wiping your ass with silk. Or sandpaper.
 
0 0 hvala 0
13 godina
protjeran
offline
Programiranje u C-u

Pogledaj malo youtube tamo imas ja mislim sve o programiranju

 
0 0 hvala 0
14 godina
neaktivan
offline
Programiranje u C-u

Napišite program koji sa tipkovnice prihvaća 100 brojeva. Ukoliko korisnik unese znak koji nije broj, izbacite taj znak iz niza i osigurajte neometan unos do kraja. 
Program mora ispisati sumu svih unesenih brojeva!

 

Kako da izbacim znak iz niza da ga stavljam u drugi niz ili   ?

 
0 0 hvala 0
14 godina
neaktivan
offline
Programiranje u C-u

Svaki unos tretiraj kao znak. Usporedbom ASCII vrijednosti provjeri da li se radi o broju ili znaku, te ako je znak zanemari (continue), u protivnom ubaci u polje.

Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C-u
TracerCPP kaže...

Svaki unos tretiraj kao znak. Usporedbom ASCII vrijednosti provjeri da li se radi o broju ili znaku, te ako je znak zanemari (continue), u protivnom ubaci u polje.

  Jel mi valja ista od ovoga kada normalno unesem brojeve radi ali cim znak izbaci mi neku ludu sumu.

 

#include<stdio.h>
int main()
{
    int c[10];
    int i,suma=0;
    printf("Unesite 100 brojeva:\n");
    i=1;
    while(i!=10){
    scanf("%d",&c[i]);
    if((c[i]=='a' && c[i]=='z') || (c[i]=='A' && c[i]=='Z'))
        continue;
    else
        suma=suma+c[i];
    i++;
    }
    printf("Suma je: %d\n",suma);
    return 0;
}

14 godina
neaktivan
offline
Re: Programiranje u C-u

ovako nekako:

 

if(znak >='0' && znak <= '9')

    suma += znak - 48;

else

    continue;

 

S time da ti ovo vrijedi za jednosznamenkaste brojeve. Kod višeznamenkasti možeš unijeti cijeli niz znakova

 

char broj[10];

scanf("%s", broj);

 

... // provjera da li se u nizu nalazi znak

 

a ako unutra nema znaka npr. funkcijom atoi pretvoriti taj string u broj.

 

15 godina
offline
Re: Programiranje u C-u
Broken kaže...
TracerCPP kaže...

Svaki unos tretiraj kao znak. Usporedbom ASCII vrijednosti provjeri da li se radi o broju ili znaku, te ako je znak zanemari (continue), u protivnom ubaci u polje.

  Jel mi valja ista od ovoga kada normalno unesem brojeve radi ali cim znak izbaci mi neku ludu sumu.

 

#include<stdio.h>
int main()
{
   int c[10];
   int i,suma=0;
   printf("Unesite 100 brojeva:\n");
   i=1;
   while(i!=10){
   scanf("%d",&c[i]);
   if((c[i]=='a' && c[i]=='z') || (c[i]=='A' && c[i]=='Z'))
     continue;
   else
     suma=suma+c[i];
   i++;
   }
   printf("Suma je: %d\n",suma);
   return 0;
}

To ti nije dobro jer ti provjeravaš samo jesu li uneseni znakovi 'a' ili 'z'. Ti trebaš jednostavno provjeriti pripada li uneseni znak brojevima. Brojevi u ascii tablici zauzimaju područje od 48('0') do 57('0'). Dakle ti trebaš provjeriti je li char u intervalu [48,57] i ako jest samo od toga broja oduzmeš 48 i dobiješ broj koji je unesen.(npr. ascii kod za '5' je 53, zatim od 53 oduzmemo 48 i dobijemo 5):

#include <stdio.h>

 

 

int main(){

   int suma=0,x;

   char unos;

   for(x=0;x<100;x++){

     scanf("%c",&unos);

     if(broj<48||broj>57);

     else{

       suma+=(suma-48);

     }

   }

   printf("%d",suma);

   return 0;

}

capttawish@gmail.com
Poruka je uređivana zadnji put ned 11.9.2011 20:28 (captain_soap_McTawish).
17 godina
neaktivan
offline
Programiranje u C-u

Pogreska ti je u if statementu. Pise ako je c[i] jednako slovu a i ako je c[i] jednako slovu z. Zapitaj se logicki, dali c[i] moze u isto vrijeme biti i slovo a i slovo z? To si upravo ti rekao ;). Stavi vece-jednako ( >= ) i manje-jednako ( <=) jer zelis obuhvatiti raspon charactera od a do z. Dakle c[i] >= 'a' && c[i] <= 'z'. Onda bi trebalo raditi.

 

EDIT: Shit, brzi ste xD

Gentoo... it's like wiping your ass with silk. Or sandpaper.
Poruka je uređivana zadnji put ned 11.9.2011 20:27 (1domagoj1).
 
0 0 hvala 0
14 godina
neaktivan
offline
Programiranje u C-u

Radi hvala vam, malo zapinjem oko ovih zadataka sa znakovima, pa da vas pitam ako mi mozete potvrditi, ako imam zadatak koji mi treba ispisati broj samoglasnika ili suglasnika jel bolje da koristim funkciju getchar() ili da se posluzim primjerom kao u prethodnom zadatku.

 
0 0 hvala 0
14 godina
neaktivan
offline
Programiranje u C-u

Ti djeluješ izgubljeno. getchar nema veze s brojanjem znakova. Bolje utvrdi prošle zadatke da ti je stvarno jasno zašto je rješenje takvo kakvo jest prije nego nastaviš dalje. I sve ovo što radiš po forumu ima malo smisla kad ti svako malo za svaki zadatak netko dade rješenje.

Moj PC  
2 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C-u

Krivo sam objasnio nisam mislio da getchar() broji znakove nego da mi sluzi za unos znakova i da poslije brojim pomocu brojaca broj unesenih znakova nesto tipa ovoga, pa me zanima jel za unos znakova bolje koristiti getchar() ili scanf("%c",znak).

 

#include <stdio.h>
void main()
{
        int slova = 0;
        int brojevi = 0;
        int ostaliZnakovi = 0;
        int znak;
        puts("Unesite neki niz znakova:");
        while ((znak = getchar()) != '\n')
          {
            if ((znak >= 'a' && znak <= 'z') || (znak >= 'A' && znak <= 'Z'))
                slova++;
            else if (znak >= '0' && znak <= '9')
                brojevi++;
            else
                ostaliZnakovi++;
          }
    printf("Slova: %d\n", slova);
    printf("Brojevi: %d\n", brojevi);
    printf("Ostali znakovi: %d\n", ostaliZnakovi);
   
}

14 godina
neaktivan
offline
Re: Programiranje u C-u

Ako već unosiš jedan niz znakova bolje je koristiti polje. Npr.

 

char znakovi[255];

scanf("%s", znakovi);

 

i sad dalje provjeravaš elemente polja

 

for(i = 0; ...

    if(znakovi[i] >= '0' && ... <= '9')

        ...

17 godina
offline
Programiranje u C-u

Za ovo bi mu baš dobro došla neka knjiga sa zadacima - ali ljudi bi htjeli da prođu lišo - a nauče.

(a najbolji mogući savjet u ovoj situaciji je - knjigu u šape - pa udri)

i to ne knjigu koja objašnjava sintaksu jezika uz jedan primjer po temi nego knjigu koja daje naglasak na primjenu.

uz 100 ili 200 sati takvog rada - možeš dalje.

Bilo što da je čovjeku cilj - položiti ispit ili sutra pisati programe - ovo je jedini način.

Poruka je uređivana zadnji put pon 12.9.2011 12:33 (Floki).
 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C-u
Floki kaže...

Za ovo bi mu baš dobro došla neka knjiga sa zadacima - ali ljudi bi htjeli da prođu lišo - a nauče.

(a najbolji mogući savjet u ovoj situaciji je - knjigu u šape - pa udri)

i to ne knjigu koja objašnjava sintaksu jezika uz jedan primjer po temi nego knjigu koja daje naglasak na primjenu.

uz 100 ili 200 sati takvog rada - možeš dalje.

Bilo što da je čovjeku cilj - položiti ispit ili sutra pisati programe - ovo je jedini način.

  Ima li igdje kakva takva knjiga na nasem jeziku, sve sto sam nasao bilo je uz objasnjenje sintakse, nikakvi zadatci ili primjeri sa objasnjenjem kako sta radi ...

  Koristim se knjigom za srednju skolu "C jezik" od Tatjana Stranjak Vesna Tomić, za sada mi je najbolja knjiga koju sam nasao, ima zadatke vezane uz svako poglavlje... Ali slabo   ima slicnih koji meni dolaze na ispitu tako da ne mogu puno vjezbati dobra je za nauciti osnove, imas li ti kakvu preporuku?

14 godina
protjeran
offline
Programiranje u C-u

Uzmi, C++ Analiza i Primjena Željko Kovačević!

SENAID
 
0 0 hvala 0
17 godina
offline
Re: Programiranje u C-u
Broken kaže...
Floki kaže...

Za ovo bi mu baš dobro došla neka knjiga sa zadacima - ali ljudi bi htjeli da prođu lišo - a nauče.

(a najbolji mogući savjet u ovoj situaciji je - knjigu u šape - pa udri)

i to ne knjigu koja objašnjava sintaksu jezika uz jedan primjer po temi nego knjigu koja daje naglasak na primjenu.

uz 100 ili 200 sati takvog rada - možeš dalje.

Bilo što da je čovjeku cilj - položiti ispit ili sutra pisati programe - ovo je jedini način.

  Ima li igdje kakva takva knjiga na nasem jeziku, sve sto sam nasao bilo je uz objasnjenje sintakse, nikakvi zadatci ili primjeri sa objasnjenjem kako sta radi ...

  Koristim se knjigom za srednju skolu "C jezik" od Tatjana Stranjak Vesna Tomić, za sada mi je najbolja knjiga koju sam nasao, ima zadatke vezane uz svako poglavlje... Ali slabo   ima slicnih koji meni dolaze na ispitu tako da ne mogu puno vjezbati dobra je za nauciti osnove, imas li ti kakvu preporuku?

Ima, međutim - knjiga je mješavina C i C++

ima dosta zadataka baš ovog tipa - i u primjerima - i na kraju uz što su data i rješenja

autor je član našeg foruma - ali ne treba mi zato biti neugodno što ti je preporučam

preporučam ti je samo zato jer vidim da ti baš to traže na ispitima.

kažem - malo je stariji kod - uz c++ obrađen je i c

međutim - tebi je najvažnije to da ima dosta zadataka

http://www.skolskaknjiga.hr/hrv/page.asp?item=021154&act=add2basket

 

Poruka je uređivana zadnji put pon 12.9.2011 12:57 (Floki).
14 godina
neaktivan
offline
Re: Programiranje u C-u
Floki kaže...

Ima, međutim - knjiga je mješavina C i C++

ima dosta zadataka baš ovog tipa - i u primjerima - i na kraju uz što su data i rješenja

autor je član našeg foruma...

Znam ga. Taj lik nema pojma {#}{#}

17 godina
offline
Re: Programiranje u C-u
TracerCPP kaže...
Floki kaže...

Ima, međutim - knjiga je mješavina C i C++

ima dosta zadataka baš ovog tipa - i u primjerima - i na kraju uz što su data i rješenja

autor je član našeg foruma...

Znam ga. Taj lik nema pojma {#}{#}

kolko sam skužio prošle školske godine - i oni dečki sa tvz-a su mogli učiti po njoj, uglavnom - obrađuje se baš taj tip zadataka

koje profe vole tražiti{#}

17 godina
neaktivan
offline
Re: Programiranje u C-u
TracerCPP kaže...

Znam ga. Taj lik nema pojma {#}{#}

Ma da? Pa ocito kad nikakvih novosti u vezi druge knjige... {#} Salu na stranu, jel se kuha ista u vezi druge knjige ili bude when it's finished?

Gentoo... it's like wiping your ass with silk. Or sandpaper.
14 godina
neaktivan
offline
Programiranje u C-u

Knjiga je gotova i prepravljena prema novim standardima, no već par mjeseci pokušavam doći do urednika da dogovorimo konačno kako ćemo to realizirati. U međuvremenu i kod njih je bila smjena ljudi itd itd. Uglavnom, administrativni problemi.

Moj PC  
2 0 hvala 1
14 godina
protjeran
offline
Programiranje u C-u

Ja ti je neću kupovat nego ću je naći u PDF-u, ako ne bude onda ću je kupit i skenirati, i staviti u PDF i postaviti na net:)
Šalim se...

SENAID
 
0 0 hvala 0
14 godina
neaktivan
offline
Programiranje u C-u

Ako te koji dio zanima isprintam ti ja u pdf i pošljem {#}

Moj PC  
0 0 hvala 1
14 godina
protjeran
offline
Re: Programiranje u C-u
TracerCPP kaže...

Ako te koji dio zanima isprintam ti ja u pdf i pošljem {#}

Nema te knjige koja meni pomaže, ponekad očajavam, ali... 

SENAID
14 godina
neaktivan
offline
Programiranje u C-u

Kod funkcije strlen zanima me kada hocu odrediti duljinu rijeci zanima me da li ona uz to racuna jos i nulti znak?

 
0 0 hvala 0
14 godina
protjeran
offline
Re: Programiranje u C-u
Broken kaže...

Kod funkcije strlen zanima me kada hocu odrediti duljinu rijeci zanima me da li ona uz to racuna jos i nulti znak?

To bi trebao znati, da indeks polja počinje sa [0], a ne sa [1], samim time i funkcija STRLEN.
Ovo je moja pretpostavka, modža i nije tačno, ali vjerovatno da jeste.

SENAID
14 godina
neaktivan
offline
Re: Programiranje u C-u
Senaid_gates kaže...
Broken kaže...

Kod funkcije strlen zanima me kada hocu odrediti duljinu rijeci zanima me da li ona uz to racuna jos i nulti znak?

To bi trebao znati, da indeks polja počinje sa [0], a ne sa [1], samim time i funkcija STRLEN.
Ovo je moja pretpostavka, modža i nije tačno, ali vjerovatno da jeste.

  Ok, jer vidio sam da se u zadatcima duljina niza oduzima sa 1 pa sam pretpostavio da je radi toga.

17 godina
offline
Programiranje u C-u

Pa unesi sam funkciju strln u program - pa vidi kako broji znakove.

 

 

#include<stdio.h>
#include<string.h>


int main()
{
    char rijec[10] = "macka";
    printf("Broj slova rijeci macka %d", strlen(rijec));
}
Koliko je izbacilo za riječ macka?

Ako je 5 - ne broji nul znak, a ako je 6 - onda broji - a nul znak je onaj znak za prekid na kraju niza '\0'.

Dakle - ako učiš programiranje onda znaš da char niz macka ima 6 znakova - 5 ovih njezinih mačijih i onaj znak za prekid niza nul znak '\0'.

Međutim, ako mali Ivica kaže učiteljici u školi da riječ macka ima 6 slova - ona će pozvati njegovog oca programera na razgovor nakon što malom spraši jedinicu.

E zato je otac malog Ivice programer napisao fukciju strln - ona broji znakove niza od početka do nul znaka - dakle mali Ivica će reći učiteljci da riječ mačka ima 5 slova -

nakon što mu je otac pokazao strln funkciju u konzoli i primjenio je na mačku.

 

Poruka je uređivana zadnji put pon 12.9.2011 22:18 (Floki).
 
0 0 hvala 1
14 godina
neaktivan
offline
Programiranje u C-u

Hvala na objasnjenju, zanima me za ovaj zadatak:

/*Napisati program u kojem korisnik unosi broj N iz intervala [1,15]. Ako broj ne pripada tom intervalu završiti program.
Inače učitati N znakova (ne samo brojeva) i ispisati koliko u unesenom nizu ima brojeva od 0-9!*/

Jel N iz intervala brojeva jednak broju N znakova ili mogu broj znakova proizvoljno uzeti?

 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C-u

Pročitaj zadatak. Sve lijepo piše.

14 godina
neaktivan
offline
Re: Programiranje u C-u
Broken kaže...

Hvala na objasnjenju, zanima me za ovaj zadatak:

/*Napisati program u kojem korisnik unosi broj N iz intervala [1,15]. Ako broj ne pripada tom intervalu završiti program.
Inače učitati N znakova (ne samo brojeva) i ispisati koliko u unesenom nizu ima brojeva od 0-9!*/

Jel N iz intervala brojeva jednak broju N znakova ili mogu broj znakova proizvoljno uzeti?

  Evo za ovaj gore zadatak napisao sam kod zanima me jesam li dobro napravio:

 

 

#include<stdio.h>
int main()
{
      char x;
      int n,i,br=0;

      printf("Unesite jedan broj u intervalu [1,15]: ");
      scanf("%d",&n);
      if((n>=1) && (n<=15))
        {
            printf("Unesite %d znakova:\n",n);
            n=n*2; /* Kada unesem za n 10 dopusta mi samo unos 5 znakova, pa sam stavio da se n poveca dva puta???*/
            for(i=0;i<n;i++)
            {
                scanf("%c",&x);
                if((x>='0' && x<='9')){
                    br++;

                }
            }
          printf("U unesenom nizu ima: %d brojeva.\n",br);
        }
      else
          printf("Unijeli ste broj izvan intervala.\n");
}

Nova poruka
E-mail:
Lozinka:
 
vrh stranice