Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Zadaci iz C jezika pomoć

[es] :: C/C++ programiranje :: C/C++ za početnike :: Zadaci iz C jezika pomoć

[ Pregleda: 3107 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mije_drobnjak
Drobnjak Velimir
modriča

Član broj: 180359
Poruke: 7
*.teol.net.



Profil

icon Zadaci iz C jezika pomoć03.09.2009. u 22:51 - pre 178 meseci
3. Napisati program koji sa standardnog ulaza učitava
neku rečenicu, pa u njoj pronalazi najdužu riječ.
Rezultat treba ispisati na standardnom izlazu.
Učitavanje i ispis rezultata treba obaviti u glavnom
programu, a za određivanje najduže riječi unutar
rečenice treba napisati i koristiti funkciju maxrec.
Riječ je jedno ili više uzastopnih slova, a od drugih
riječi odvojena je bjelinom ili nekim drugim znakom
koji nije slovo.

4. U datoteci "ULAZ.DAT" upisan je nepoznat broj cijelih
brojeva u proizvoljnom (neuređenom) redoslijedu, pri
čemu nema duplikata. Napisati program koji te
brojeve upisuje u rastućem redoslijedu u datoteku čiji
je naziv argument komandne linije.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
93.87.4.*

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Zadaci iz C jezika pomoć04.09.2009. u 06:14 - pre 178 meseci
Molim Vas da postavite kod koji ste do sada uradili.
[ES] nije berza za besplatno rešavanje tuđih domaćih zadataka. Po pravilima [ES] foruma brišu se sve teme u kojima autor traži da mu se uradi domaći zadatak, a da prethodno ništa sam nije pokušao. Domaći zadaci su predviđeni za samostalan rad, a članovi C/C++ foruma će svakako pokuštati da *pomognu* kada autor i sam pokaže svoje angažovanje i inicijativu.


Takođe:

1. teme o zadacima idu u forum za početnike.
2. temama treba dati jasan naslov
3. svaki zadatak najboljeje je da bude u posebnoj temi

 
Odgovor na temu

mije_drobnjak
Drobnjak Velimir
modriča

Član broj: 180359
Poruke: 7
*.teol.net.



Profil

icon Re: Zadaci iz C jezika pomoć06.09.2009. u 17:23 - pre 178 meseci
Evo pokušao sam da uradim treći zadatak. Moje riješenje izgleda ovako. Neka neko provjeri i da ispravke ako ih ima a mislim da će ih biti. Hvala.

Code:

#include<stdio.h>
main();
int maxrec(char *s);
main()
{
  char *a[80];
  printf("unesite recenicu:");
  gets(a);
  printf("najduza rijec u recenici je:\n",maxrec(a));
  getchar();
}
int maxrec (char *s)
{
  rijec=0, najduza=0;
  while (*s != '\0') {
    if (*s>='a' && *s<='z' || *s>='A' && *s<='Z') {
      while (*s>='a' && *s<='z' || *s>='A' && *s<='Z') {
        rijec++;
        s++;
      }
      /* Da li je ova rijec najduza? */
      if (rijec>najduza) najduza=rijec;
      rijec=0;
    }
    if (*s=='\0') break; /* Za slucaj da je zadnji znak slovo */
    s++;
  }
  return najduza;
}


[Ovu poruku je menjao Mihajlo Cvetanović dana 06.09.2009. u 23:31 GMT+1]
 
Odgovor na temu

mije_drobnjak
Drobnjak Velimir
modriča

Član broj: 180359
Poruke: 7
*.teol.net.



Profil

icon Re: Zadaci iz C jezika pomoć07.09.2009. u 12:23 - pre 178 meseci
Evo i 4 zadatka. Samo treba provjeriti i dati korekciju.Jer ja sam početnik u programiranju. I neka neko provjeri prethodni zadatak koji sam postavio. Hvala puno unaprijed.

Code:

#include<stdio.h>
#include<string.h>
main (int argc, char *argv[])
{
   FILE *fp1,*fp2;
   int i,j,n,pom;
   int niz[1000];
   if (fp1=(fopen("ULAZ.DAT","r")==NULL)) 
         printf("greska prilikom otvaranja datoteke"\n);
   else if (fp2=fopen("argv[1]","w")==NULL)
         printf("greska prilikom otvaranja datoteke"\n,argv[1]);
   else {
           
           for ( i=0;i1='EOF' ;i++)
           fscanf(fp1,"%d",&niz[i]);
           n=strlen(niz);
           for(i=0; i<n; i++)
               for(j=i+1;j<n; j++)
                    if(niz[i]>=niz[j])  {
                       pom=niz[i];
                       niz[i]=niz[j];
                       niz[j]=pom;
                   }
           printf("Sortirani niz je:",niz[i]);
     for(i=0; i<n; i++)
          fprintf(fp2,niz[i]);
  fclose(fp1);
  fclose(fp2);
  } 
}



[Ovu poruku je menjao Mihajlo Cvetanović dana 07.09.2009. u 13:41 GMT+1]

[Ovu poruku je menjao mije_drobnjak dana 07.09.2009. u 17:19 GMT+1]
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Zadaci iz C jezika pomoć07.09.2009. u 13:01 - pre 178 meseci
Da li si u mogućnosti da kompajliraš i debaguješ rešenja? Bilo bi ti mnogo jednostavnije da svojim očima vidiš šta se dešava.

U prvom zadatku nedostaje ti jedno %d u printf-u. Uzgred, ako sam ja dobro razumeo zadatak ti treba da prikažeš tu reč, a ne njenu dužinu. Koje je od ta dva? Ostalo je u redu.

Drugi zadatak ne može da se kompajlira zbog nekoliko grešaka. U liniji fp1=fopen zagrade treba da čuvaju dodelu (=), a ne poređenje (==). U liniji fp2=fopen imaš navodnik viška a zagradu manjka, plus nedostaje poređenje sa NULL. U "float niz[]" fali broj. Takođe, ne postoji karakter 'EOF', niti ima smisla porediti brojač "i" sa takvim karakterom i da on postoji. U nastavku brojače "i" i "j" porediš sa karakterom '\0' koji postoji, ali i ovo poređenje nema smisla. Moraš da znaš koja je dužina niza. Pošto radiš domaći u C-u najlakše je da zauzmeš neki dovoljno veliki niz (float niz[1000] recimo), i da čitaš te brojeve, i da brojiš koliko si ih pročitao, i da staneš kad ne uspeš da pročitaš broj (kad scanf vrati 0). Tako nekako. Uzgred, promenljiva pom treba da bude float, kao što su float i elementi niza. Ostalo je u redu.
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: Zadaci iz C jezika pomoć07.09.2009. u 13:07 - pre 178 meseci
Citat:
Uzgred, promenljiva pom treba da bude float, kao što su float i elementi niza. Ostalo je u redu.


Osim što je u zadatku dato da su brojevi u ulaznoj datoteci celi, pa ne treba float. A uz to koristiš argv[1], a tvoja main funkcija nema ovaj argument.
 
Odgovor na temu

mije_drobnjak
Drobnjak Velimir
modriča

Član broj: 180359
Poruke: 7
*.teol.net.



Profil

icon Re: Zadaci iz C jezika pomoć07.09.2009. u 16:21 - pre 178 meseci
Dao sam neke ispravke zadatka na osnovu vasih preporuka ali mi nije jasan onaj dio koda kod ucitavanja niza brojeva iz datoteke. Dokle treba da ide petlja for u tom primjeru.Hvala.
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Zadaci iz C jezika pomoć07.09.2009. u 17:03 - pre 178 meseci
Code:
   if (fp1=(fopen("ULAZ.DAT","r")==NULL)) 

Ovo je pogrešno, jer će ovako kako je napisano fp1 dobiti vrednost 1 ili 0 (ili da kažemo true ili false). Zagrade treba da čuvaju dodelu (=) a ne poređenje (==). Odmah zatim slično se dešava sa fp2. Tu nema zagrada, ali svejedno poređenje (==) ima prednost nad dodelom (=), pa je opet pogrešno. Zagrade treba da čuvaju dodelu.

Code:
         printf("greska prilikom otvaranja datoteke"\n,argv[1]);

Ovo je pogrešno, jer nedostaje %d. I \n treba da ide unutar navodnika.

Code:
           for ( i=0;i1='EOF' ;i++)
             fscanf(fp1,"%d",&niz[i]);
           n=strlen(niz);

Ovo gore je bezveze na bar dva načina. Treba bude ovako nekako:

Code:
           for (i = 1, n = 0; i == 1 && n < 1000; n++)
             i = fscanf(fp1, "%d", &niz[n]);

U ovom odlomku promenljiva "i" se ne koristi kao brojač nego kao indikator da treba završiti s čitanjem. Na kraju čitanja promenljiva "n" sadrži broj pročitanih brojeva.

Code:
           printf("Sortirani niz je:",niz[i]);

Ovo je pogrešno na bar dva načina, a pri tom je i višak, i izgledaće čudno tokom izvršavanja. Na ekranu dobiješ "Sortirani niz je:", i ništa više, jer su brojevi otišli u datoteku.
 
Odgovor na temu

mije_drobnjak
Drobnjak Velimir
modriča

Član broj: 180359
Poruke: 7
*.teol.net.



Profil

icon Re: Zadaci iz C jezika pomoć08.09.2009. u 10:57 - pre 178 meseci
Hvala na pomoći.
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Zadaci iz C jezika pomoć

[ Pregleda: 3107 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.