Programiranje u C-u - od svega pomalo izdvojena tema

poruka: 1.661
|
čitano: 351.069
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
protjeran
offline
RE: Pomoć u C-u
rustweaver kaže...
beno101 kaže...

No kak da onda u string tipka stavim rijec KVADRAT??

A to ti zapravo zelis!!

 

tipka = "KVADRAT"

 

ili ga mozes kopirati pomocu strcpy

 

#include <string.h>
...
strcpy(tipka,"KVADRAT")

KOnačno!

Hvala ti!

Znam tu naredbu ali je dugo nisam koristio pa je zaboravio...

Hvala!

Ja sam toliko zakon da mi potpis opće ne treba. I ako komentirate moj potpis (kojeg nemam) bacit ću nuklearku na Vas bez da je aktiviram!
15 godina
offline
RE: Pomoć u C-u
beno101 kaže...

No kak da onda u string tipka stavim rijec KVADRAT??

 

Ako želiš da string tipka bude "KVADRAT" onda strcpy(tipka,"KVADRAT").

Prouči te funkcije koje rade sa stringovima, recimo ovdje

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
14 godina
protjeran
offline
RE: Pomoć u C-u
Luuka kaže...
beno101 kaže...

No kak da onda u string tipka stavim rijec KVADRAT??

 

Ako želiš da string tipka bude "KVADRAT" onda strcpy(tipka,"KVADRAT").

Prouči te funkcije koje rade sa stringovima, recimo ovdje

Kasniš... hehe

Ja sam toliko zakon da mi potpis opće ne treba. I ako komentirate moj potpis (kojeg nemam) bacit ću nuklearku na Vas bez da je aktiviram!
14 godina
neaktivan
offline
RE: Pomoć u C-u
beno101 kaže...

KOnačno!

Hvala ti!

Znam tu naredbu ali je dugo nisam koristio pa je zaboravio...

Hvala!

Vidi ovo, referenca svih standardnih C funkcija.

How much wood would a woodchuck chuck if a woodchuck could chuck wood?
16 godina
offline
Pomoć u C-u

Možeš i preko pointera kod deklaracije:

 

char *tipka = "KVADRAT";

 

EDIT: Dammit jeste brzi...

Q: a kako se to linux ponasa kad crkne hdd? A: zastekava svakih 60 sec,ali prezivi se
Poruka je uređivana zadnji put uto 8.2.2011 17:51 (1domagoj1).
 
2 0 hvala 0
14 godina
protjeran
offline
Pomoć u C-u
Pozdrav!
Ovo je zadatak:

http://hsin.hr/skolsko2010/
OSNOVNOŠKOLSKA SKUPINA
BASIC/PASCAL/C/C++
DRUGA PODSKUPINA

A ovo moje rješenje:

http://pastie.org/1541484

Može netko molim vas stestirati?
Hvala!
Ja sam toliko zakon da mi potpis opće ne treba. I ako komentirate moj potpis (kojeg nemam) bacit ću nuklearku na Vas bez da je aktiviram!
Moj PC  
0 0 hvala 1
14 godina
neaktivan
offline
RE: Pomoć u C-u

Ne, nije dobro. Sto sam ti rekao na prethodnoj stranici o usporedivanju stringova? Ne mozes ih usporedivati direktno pomocu znaka jednakosti kao sto mozes sa brojevima. Moras koristiti strcmp.

 

Ovako:

 

if (strcmp(r4,"#...#")==0) strcpy(tipka,"KVADRAT");

 

Takoder, ovo je malo zgodnije, umjesto:

 

scanf ("%s %s %s %s %s",r1,r2,r3,r4,r5);

 

stavi:

 

scanf("%s", r1);
scanf("%s", r2);
scanf("%s", r3);
scanf("%s", r4);
scanf("%s", r5);

 

Tako ces bolje vidjeti koji znak upisujes ;)

 

I jos imam primjedbu na uvlacenje kôda, tj ne-uvlacenje u tvom slucaju. Uvuci malo te linije, te mozes koji puta i lupiti enter da napravis jednu praznu liniju izmedu nekih djelova kako bi bilo citljivije. Samo prijedlog...

 

Osim ovoga sto sam nabrojao, sve ostalo se cini ok...

How much wood would a woodchuck chuck if a woodchuck could chuck wood?
Poruka je uređivana zadnji put uto 8.2.2011 18:38 (rustweaver).
14 godina
protjeran
offline
Pomoć u C-u

http://pastie.org/1541663

Eto rustweaver!
Bolje?

Ja sam toliko zakon da mi potpis opće ne treba. I ako komentirate moj potpis (kojeg nemam) bacit ću nuklearku na Vas bez da je aktiviram!
Poruka je uređivana zadnji put uto 8.2.2011 18:46 (beno101).
Moj PC  
0 0 hvala 1
14 godina
neaktivan
offline
RE: Pomoć u C-u
beno101 kaže...

http://pastie.org/1541663

Eto rustweaver!
Bolje?

Skuzio si sto sam mislio s praznim linijama, ali te uvlacenje malo zbunjuje. Uvlacis samo linije u viticastim zagradama, svaki puta kada otvoris nove viticaste zagrade unutar viticastih zagrada, jos vise uvuces linije unutar tih novih zagrada tako da istaknes sto cemu pripada. U ovom slucaju imas funkciju main koja ima samo jedan par viticastih zagrada pa sve unutar njih uvuces jednom:

 

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

int main ()
{
    char r1[10];
    char r2[10];
    char r3[10];
    char r4[10];
    char r5[10];
    char tipka[10];
   
    scanf("%s", r1);
    scanf("%s", r2);
    scanf("%s", r3);
    scanf("%s", r4);
    scanf("%s", r5);
   
    if (strcmp(r4,"#...#")==0) strcpy(tipka,"KVADRAT");
    if (strcmp(r4,".#.#.")==0) strcpy (tipka, "KRUG");
    if (strcmp(r4,"#####")==0) strcpy (tipka, "TROKUT");
    if (strcmp(r3,"..#..")==0) strcpy (tipka, "X");
    if (strcmp(r3,"##...")==0) strcpy (tipka, "R");
    if (strcmp(r4,"..#..")==0) strcpy (tipka, "GORE");
    if (strcmp(r4,".###.")==0) strcpy (tipka, "DOLJE");
    if (strcmp(r4,".#...")==0) strcpy (tipka, "LIJEVO");
    if (strcmp(r4,"...#.")==0) strcpy (tipka, "DESNO");
    if (strcmp(r1,"#....")==0) strcpy (tipka, "L");
   
    printf ("\n%s\n",tipka);
    return 0;
}

How much wood would a woodchuck chuck if a woodchuck could chuck wood?
Poruka je uređivana zadnji put uto 8.2.2011 18:51 (rustweaver).
14 godina
protjeran
offline
RE: Pomoć u C-u

@Rustweaver

Znači smisao uvlačenja je?

Preglednost?

 

Ja sam toliko zakon da mi potpis opće ne treba. I ako komentirate moj potpis (kojeg nemam) bacit ću nuklearku na Vas bez da je aktiviram!
14 godina
neaktivan
offline
RE: Pomoć u C-u
beno101 kaže...

@Rustweaver

Znači smisao uvlačenja je?

Preglednost?

Tocno. Lakse vidis sto cemu pripada.

 

Evo neki blesavi primjer koji demonstrira ono sto sam napisao gore, kako treba uvlaciti:

 

int main ()
{
    int a=0;
   
    while (1)
    {
          printf("xD");
          if (a==10)
          {
             printf("'A' je 10");
             break;
          }
          a++;
    }
   
    return 0;
}

How much wood would a woodchuck chuck if a woodchuck could chuck wood?
Poruka je uređivana zadnji put uto 8.2.2011 18:56 (rustweaver).
14 godina
protjeran
offline
RE: Pomoć u C-u

@rustweaver

to je sad malo ipak nepregledan kod zbog manjeg broja naredbi, ali skužio sam što je pisac (rustweaver) htio reći....

 

JAOOOO!

Sutra natjecanje školsko....

Šta ću?

Jedva znam C...

Tj. znam uvijek riješiti 1. i 2. u Cu ali 3. nikad nisam znao... za drugu podskupinu....

Možda mi nije suđeno da budem programer, možda moram odustati...

 

Ja sam toliko zakon da mi potpis opće ne treba. I ako komentirate moj potpis (kojeg nemam) bacit ću nuklearku na Vas bez da je aktiviram!
16 godina
offline
RE: Pomoć u C-u
beno101 kaže...

@Rustweaver

Znači smisao uvlačenja je?

Preglednost?

Pa naravno! Ajde zamisli program od par (desetaka) tisuća linija koda nabacano sve jedno ispod drugog... Debugging nekakvi? Not a chance. Da mi da netko takav program, jajima bi ga izgađal i bacio van iz kuće skupa s USB-om na kojem ga je donio...

Q: a kako se to linux ponasa kad crkne hdd? A: zastekava svakih 60 sec,ali prezivi se
14 godina
protjeran
offline
RE: Pomoć u C-u
1domagoj1 kaže...
beno101 kaže...

@Rustweaver

Znači smisao uvlačenja je?

Preglednost?

Pa naravno! Ajde zamisli program od par (desetaka) tisuća linija koda nabacano sve jedno ispod drugog... Debugging nekakvi? Not a chance. Da mi da netko takav program, jajima bi ga izgađal i bacio van iz kuće skupa s USB-om na kojem ga je donio...

Opet kasniš Domagoje!

Hehe!

 

Ja sam toliko zakon da mi potpis opće ne treba. I ako komentirate moj potpis (kojeg nemam) bacit ću nuklearku na Vas bez da je aktiviram!
16 godina
offline
RE: Pomoć u C-u
beno101 kaže...

Opet kasniš Domagoje!

Hehe!

Ne ne, samo sam želio prenijeti još jednu metaforu svoju (dobro, ovo nije baš neka metafora, al nek bu)...

Q: a kako se to linux ponasa kad crkne hdd? A: zastekava svakih 60 sec,ali prezivi se
14 godina
protjeran
offline
Pomoć u C-u

Nakon što baciš dečka (ili curu) skupa s USBom.... onda shvatiš..... nisi napravio Safely Remove Hardware! {#}

Ja sam toliko zakon da mi potpis opće ne treba. I ako komentirate moj potpis (kojeg nemam) bacit ću nuklearku na Vas bez da je aktiviram!
Moj PC  
0 0 hvala 1
16 godina
moderator
offline
RE: Pomoć u C-u
beno101 kaže...

@Rustweaver

Znači smisao uvlačenja je?

Preglednost?

 

Da, preglednost - ali s kojom svrhom? Sa svrhom hijerarhijskom organiziranja - da znas sto je unutar cega, da vidis strukturu programa.

14 godina
protjeran
offline
RE: Pomoć u C-u
mbaksa kaže...
beno101 kaže...

@Rustweaver

Znači smisao uvlačenja je?

Preglednost?

 

Da, preglednost - ali s kojom svrhom? Sa svrhom hijerarhijskom organiziranja - da znas sto je unutar cega, da vidis strukturu programa.

Da skonto već dva-tri puta...

Ali hvala mode!

Ja sam toliko zakon da mi potpis opće ne treba. I ako komentirate moj potpis (kojeg nemam) bacit ću nuklearku na Vas bez da je aktiviram!
14 godina
protjeran
offline
Pomoć u C-u

Kako da u C-u napišem neki broj i onda:

1. prvu znamenku (54, print 5)

2. obrnuti redoslijed znamenki broja (54, 45)

 

Hvala!

Ja sam toliko zakon da mi potpis opće ne treba. I ako komentirate moj potpis (kojeg nemam) bacit ću nuklearku na Vas bez da je aktiviram!
Moj PC  
0 0 hvala 1
14 godina
neaktivan
offline
RE: Pomoć u C-u
beno101 kaže...

Kako da u C-u napišem neki broj i onda:

1. prvu znamenku (54, print 5)

2. obrnuti redoslijed znamenki broja (54, 45)

 

Hvala!

Neka korisnik unese taj broj kao string, i onda samo ispisuj pojedina slova stringa redom koji tebi odgovara.

 

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

int main()
{
    char tekst[10];
    int n;
   
    gets(tekst);   
   
    //ispisi prvo slovo stringa
    printf("%c\n", tekst[0]);
   
    //ispisi string obratno
    for (n=strlen(tekst)-1; n>=0; n--)
        printf("%c", tekst[n]);
   
    printf("\n");
    system("pause");  
    return 0;
}

Look at you, hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?
15 godina
offline
RE: Pomoć u C-u
beno101 kaže...

Kako da u C-u napišem neki broj i onda:

1. prvu znamenku (54, print 5)

2. obrnuti redoslijed znamenki broja (54, 45)

 

Hvala!

Ako baš želiš baratat s intovima (a ne sa stringom) onda možeš ili u niz spremit znamenke (koje pocijepaš sa while petljom) ili možeš pojedinu znamenku iščupat sa / i % operatorima. Npr za znamenku desetica napraviš (x/10)%10.

Pokušaj ovaj zadatak napravit:

unesti 2 inta.

zbrojiti okrenute brojeve.

 

za unešene

x=2345

y=17

treba ispisati 5432+71=5503

 

(kao što vidiš, rezultat nije isti ko kad bi prvo zbrojili pa okrenuli)

 

Najprije napravi za brojeve koji su najviše četveroznamenkasti, pa probaj za one za koje ne znaš koliko znamenki će imat.

Probaj sa spremanjem u niz i bez. Igraj se :D

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
14 godina
protjeran
offline
Pomoć u C-u

Pozdrav!

Znate li naredbu swap u basicu?

Kako ta naredba glasi u Cu?

Moram zamijeniti a i b a neznam kako...

Hvala!

Ja sam toliko zakon da mi potpis opće ne treba. I ako komentirate moj potpis (kojeg nemam) bacit ću nuklearku na Vas bez da je aktiviram!
Moj PC  
0 0 hvala 1
16 godina
moderator
offline
RE: Pomoć u C-u
beno101 kaže...

Pozdrav!

Znate li naredbu swap u basicu?

Kako ta naredba glasi u Cu?

Moram zamijeniti a i b a neznam kako...

Hvala!

LOL - ti si još u začecima začetaka. Upotrijebiš neku treću, privremenu varijablu? Privremena=a, a=b, b=privremena.

14 godina
protjeran
offline
RE: Pomoć u C-u
mbaksa kaže...
beno101 kaže...

Pozdrav!

Znate li naredbu swap u basicu?

Kako ta naredba glasi u Cu?

Moram zamijeniti a i b a neznam kako...

Hvala!

LOL - ti si još u začecima začetaka. Upotrijebiš neku treću, privremenu varijablu? Privremena=a, a=b, b=privremena.

Znači nemogoće je?

 

Ja sam toliko zakon da mi potpis opće ne treba. I ako komentirate moj potpis (kojeg nemam) bacit ću nuklearku na Vas bez da je aktiviram!
16 godina
moderator
offline
RE: Pomoć u C-u
beno101 kaže...
mbaksa kaže...

Upotrijebiš neku treću, privremenu varijablu? Privremena=a, a=b, b=privremena.

Znači nemogoće je?

Mislio sam da sam ti odgovorio na pitanje - napisao sam ti točno kako se to može napraviti. Ne može se kao u basicu, korištenjem funkcije poput swap, pošto takva funkcija AFAIK u C/C++-u ne postoji. Ti si je doduše možeš sam napisati.

14 godina
protjeran
offline
RE: Pomoć u C-u
mbaksa kaže...

Mislio sam da sam ti odgovorio na pitanje - napisao sam ti točno kako se to može napraviti. Ne može se kao u basicu, korištenjem funkcije poput swap, pošto takva funkcija AFAIK u C/C++-u ne postoji. Ti si je doduše možeš sam napisati.

Stvarno?

Reci malo više....

 

Ja sam toliko zakon da mi potpis opće ne treba. I ako komentirate moj potpis (kojeg nemam) bacit ću nuklearku na Vas bez da je aktiviram!
15 godina
neaktivan
offline
RE: Pomoć u C-u
void swap (int &a, int &b)
{
 int temp = a;
 a = b;
 b = temp;
}
za poziv napises
swap(a, b);
Poruka je uređivana zadnji put sri 9.2.2011 10:07 (Orinem).
15 godina
offline
RE: Pomoć u C-u
Orinem kaže...
void swap (int &a, int &b)
{
 int temp = a;
 a = b;
 b = temp;
}
za poziv napises
swap(a, b);

 

Ovo će možda bit ok u c++u ako se radi s referencama. U C-u bi išlo ovako neto:

 

void swap (int *a, int *b)
{
 int temp = *a;
 *a = *b;
 *b = temp;
}
za poziv napises
swap(&a, &b);

 

No pošto pitaš ovakvo pitanje vjerojatno si na početku programiranja pa bi pointeri bili too much. Bolje poslušaj što kaže mbaksa, jednostavno kad mijenjaš varijable uzmeš jednu pomoćnu pa ih zamijeniš. Kod je isti ko gore samo bez zvjezdica. Upućujem te na 118str

 

 

 

 

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
16 godina
neaktivan
offline
Pomoć u C-u

Ljudi, treba mi pomoć oko zadatka, korisnik upisiva broj n , a program treba izračunati broj za koji vrijedi:

  1        ...                n

---- + -----    +  -------------

1+2   1+2+...   1+...+(n+1)

 

ako je (n=2) bit će:

  1         2

----- + --------

1+2    1+2+3

 

ako je (n=3) bit će:

  1         2                3

---- + --------  + -----------

1+2   1+2+3     1+2+3+4

 

Nadam se da kužite, hvala na pomoći unaprijed...

 

IRebic
Poruka je uređivana zadnji put sri 9.2.2011 11:07 (IRebic).
Moj PC  
0 0 hvala 0
16 godina
moderator
offline
RE: Pomoć u C-u

Gdje je problem? Znaš valjda napraviti petlju, znaš zbrojiti i dijeliti, zar ne? Imaš varijablu rezultat, koja se uvećava za izraz

 

       n

-------------

1+...+(n+1)

 

 

Znači, izvana imaš petlju koja ide za svaki n. Što će se događati unutar te petlje? Pa prvo ćeš ići računat dijeljitelja - vrtjet ćeš petlju, i uvećavati sve do n+1, zar ne? I onda ćeš jednostavno podijeliti n s dijeljiteljem. I taj rezultat će se u petlji iznad (tj. skroz vanjskoj petlji) dodati ukupnom rezultatu.

 

 

Drugim riječima, razloži problem na manje jednotavnije probleme. Dijelitelja valjda znaš izračunati. Izraz n/djeljitelj bi isto morao znati izračunati. I u konačnici samo moraš zbrojiti sve te izraze.

Nova poruka
E-mail:
Lozinka:
 
vrh stranice