[ Príspevkov: 10 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 18.02.11
Prihlásený: 12.04.15
Príspevky: 211
Témy: 5 | 5
NapísalOffline : 26.04.2011 20:13 | alokacia a ine

Caute, potrebujem trosku pomoct. C-cko som nevidel uz par rokov a tak to aj vyzera.
zo zaciatku to ako tak slo ale teraz vobec hned to spadne. Mam pocit ze to bude mat nieco s alokaciou pameti. Ked nemam definovanu premennu char *letters tak to funguje

Kód:
#include "stdio.h"

int main(int argc, char *argv[])
{
  FILE *fp,*fw;
  char c,check;
  int j,k=0;
  int z=0;
  int index=0;
  char *letters;
  char *sequence;
 
 
  fp = fopen("G.TXT","r");
 
 

  if (fp == NULL) printf("File S.TXT doesn't exist\n");
  else
  {
   
    do   {
         
      c = getc(fp);  /* get one word from the file */
       if (c == '{'){
     ++k;
     }
    if (k == 9 ){
      if (c == '}') break;
          //  printf("%d.   %d  %c \n",k,c,c);
            sequence[index]=c;
            index++;
     
     
            }
 
         
    } while (feof(fp) == 0); /* repeat until end of file */
 
  }
 
printf("\n%s\n",sequence);


  fclose(fp);
 
  printf("\n");
 
  c=getchar();   
   return 0;
}

 


Offline

Užívateľ
Užívateľ
alokacia a ine

Registrovaný: 27.12.08
Prihlásený: 13.12.22
Príspevky: 1874
Témy: 96 | 96
Bydlisko: Bratislava,...
NapísalOffline : 26.04.2011 21:02 | alokacia a ine

1. kto ta ucil pisat kod? tabulator a rovnaky pocet volnych riadkov medzi castami kodu ti nieco hovori? ten printf tam vyzera ako druha funkcia.. aby aspon bolo ciastocne vidiet ze ktore kusky kodu patria do ktoreho bloku preboha..

2. C:\work\test2.c:10:11: warning: unused variable 'letters'
C:\work\test2.c:8:9: warning: unused variable 'z'
C:\work\test2.c:7:9: warning: unused variable 'j'
C:\work\test2.c:6:12: warning: unused variable 'check'
C:\work\test2.c:5:15: warning: unused variable 'fw'
naco tolko premennych, ktore v kode absolutne niesu pouzite?

3. co ten program ma robit? ani po dvojnasobnom precitani toho kodu som nepochopil.. najskor zistujes ci je na vstupe zo suboru zatvorka, potom ked je 9 zatvoriek, tak pokial je tam jedna ukoncujuca tak sa vypne program.. pokial je tam nieco ine tak sa vypise 9 a dvakrat to nieco.. potom program dojde na koniec, samozrejme uz nic nespravi.. nechapem tomu dako :D


_________________
~Listen to your brain, not your heart~
NB1: Lenovo Y500: CPU: Intel Core i7-3630QM; GPU: nVidia GT650M 2GB SLi; RAM: 16GB DDR3; HDD: 1TB + 256GB SSD (m4); LCD: 15,6" 1920x1080; OS: Win8.1 64-bit + Arch Linux 64-bit (UEFI Powered DualBoot)
NB2: Asus K53SJ-SX093: CPU: Intel Core i3-2310M; GPU: Intel HD3000 / nVidia GT520M 1GB Optimus; RAM: 8GB DDR3; SSD: 128GB 840Evo; LCD: 15,6" 1366x768; OS: Win 8.1 Pro 64-bit (UEFI)
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 18.02.11
Prihlásený: 12.04.15
Príspevky: 211
Témy: 5 | 5
Napísal autor témyOffline : 26.04.2011 21:12 | alokacia a ine

1. zatial sa stym len hram,vymazavam pridava, upravim to az na koniec
2. nedal som sem cely kod-zatial nepotrebny
3. po 9 najdeni "{" zacne pridavat znaky do sequence az po znak "}"


Offline

Skúsený užívateľ
Skúsený užívateľ
alokacia a ine

Registrovaný: 11.01.09
Prihlásený: 10.02.25
Príspevky: 1397
Témy: 10 | 10
Bydlisko: Hrinova
NapísalOffline : 27.04.2011 10:11 | alokacia a ine

1. chyba: mas kontrolu, ci subor neexistuje ( ci je fp NULL ):
Kód:
 if (fp == NULL) printf("File S.TXT doesn't exist\n");

Ale napriek tomu davas hned za blokom else vypis dat, ktore zistujes iba v pripade existencie suboru. A hned potom davas uzavriet subor, ktory ani nebol otvoreny. Oprav to tak, ze tieto dva riadky - printf a uzatvorenie suboru - daj do bloku else, kde je potvrdena existencia suboru.

2. chyba: nemas vobec alokovanu pamat pre premennu sequence. Surovo ukladas data do pamate, ktoru nemas pridelenu od systemu.

Mas tam toho este viac, ale momentalne sa ponahlam, potom neskor ti to dopisem. Zatial si mozes toto opravit.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 18.02.11
Prihlásený: 12.04.15
Príspevky: 211
Témy: 5 | 5
Napísal autor témyOffline : 27.04.2011 14:39 | alokacia a ine

2. no sak to je moj problem, neviem ako mam dynamicky alokovat premenne
char *letters;
char *sequence;
neviem dopredu kolko znakov do nich ulozim.


Offline

Skúsený užívateľ
Skúsený užívateľ
alokacia a ine

Registrovaný: 11.01.09
Prihlásený: 10.02.25
Príspevky: 1397
Témy: 10 | 10
Bydlisko: Hrinova
NapísalOffline : 28.04.2011 10:19 | alokacia a ine

Pomocou funkcie malloc. A velkost pamate by mohla byt trebars velkost suboru. Ak chces urobit fakt pekny kod, ze pouzijes iba tolko pamate, kolko potrebujes, tak si vytvor spajany zoznam, ktoreho prvky budu typu char. Takto budes stale vytvarat novu bunku zoznamu s hodnotou znaku, ktory precitas a na konci jednoduchou funkciu uvolnis vsetku alokovanu pamat.

Ak si este nepouzival spajany zoznam, tak si o tom radsej este nieco precitaj ( napr prvy link, co som nasiel )


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 18.02.11
Prihlásený: 12.04.15
Príspevky: 211
Témy: 5 | 5
Napísal autor témyOffline : 09.05.2011 15:25 | alokacia a ine

moze sa mi niekto na toto pozriet a trosku to naformatovat a ak by sa to dalo dat to do funkcii nech to nevyzera tak debilne

http://rubbish.yweb.sk/code.c


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 03.02.07
Prihlásený: 25.04.18
Príspevky: 478
Témy: 105 | 105
Bydlisko: Košice/Rožň...
NapísalOffline : 11.05.2011 10:21 | alokacia a ine

ked uz tu je tato tema, tak napiem sem, pouzivam v programe malloc a free na pracu s pamätou

Kód:
currentItem = (ITEM*) malloc(sizeof(ITEM));


a kompilator mi pise:

Kód:
halloffame.c:11: warning: implicit declaration of function ‘malloc’
halloffame.c:11: warning: incompatible implicit declaration of built-in function ‘malloc’


a pritom mam aj inde pouzite malloc, tak isto a tam nepise ziadny warning


Offline

Skúsený užívateľ
Skúsený užívateľ
alokacia a ine

Registrovaný: 11.01.09
Prihlásený: 10.02.25
Príspevky: 1397
Témy: 10 | 10
Bydlisko: Hrinova
NapísalOffline : 11.05.2011 12:15 | alokacia a ine

Includni:
Kód:
#include <stdlib.h>


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 18.02.11
Prihlásený: 12.04.15
Príspevky: 211
Témy: 5 | 5
Napísal autor témyOffline : 12.05.2011 16:42 | alokacia a ine

Neviem ci sa spravne vyjadrim,ale potreboval by som aby sa udaje ukladali pomocou smernikou. Proste ked pridam hodnotu do keys vo funkcii get_keywords aby sa zapisala aj do key_words.
Alebo ako inak by som pomocou tej funkcie dostal hodnoty do pola key_words v main() ?


Kód:
void get_keywords(char**,char*);

int main(int argc, char *argv[]){
char key_words[n_k_words+1][word_length];

get_keywords(&key_words,source_code);
    return 0;
}

void get_keywords(char &keys,char *kod){
     int i=0,j=0k=0;
 
            do{
               k++;
               keys[i][j]=kod[k];                             
               j++;
               if(kod[k] == '|' || kod[k] == 39){
                  keys[i][j-1]='\0';
                  printf("%s\n",keys[i]);
                  i++;
                  j=0;
                   
               } 
            } while(kod[k] != 39);
}


 [ Príspevkov: 10 ] 


alokacia a ine



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

c dynamická alokácia dvojrozmerného poľa

v Assembler, C, C++, Pascal, Java

4

554

02.05.2017 20:47

BX

V tomto fóre nie sú ďalšie neprečítané témy.

Staticke pole smernikov a jeho polozky - alokacia pamate

v Assembler, C, C++, Pascal, Java

6

1466

27.03.2009 17:42

programator

V tomto fóre nie sú ďalšie neprečítané témy.

MYTHBUSTERS + iné

[ Choď na stránku:Choď na stránku: 1, 2, 3 ]

v Kultúra, umenie, filmy, hudba, história, média

69

9441

17.05.2007 16:49

fero182

V tomto fóre nie sú ďalšie neprečítané témy.

Iné rozmery

v PC zostavy

2

362

07.11.2011 19:04

Iggyi

V tomto fóre nie sú ďalšie neprečítané témy.

Všade je iné? :(

v ATI/AMD grafické karty

5

351

11.11.2014 17:53

Phanteom

V tomto fóre nie sú ďalšie neprečítané témy.

dell wifi+ine..

v Ovládače

0

685

14.01.2008 15:54

malman

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

banner a ine

v Webdesign

6

673

28.09.2008 16:11

M@Xo

V tomto fóre nie sú ďalšie neprečítané témy.

divx a ine

v Smartfóny a tablety

2

259

07.03.2013 21:51

Smith Wesson

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

DVD-ROM alebo ine ?

v Optické zariadenia

3

493

24.06.2011 23:44

killer

V tomto fóre nie sú ďalšie neprečítané témy.

wifi alebo daco ine?

v Siete

3

451

09.03.2012 9:03

stolicnil

V tomto fóre nie sú ďalšie neprečítané témy.

VPN alebo nieco ine ?

v Sieťové a internetové programy

2

525

19.01.2012 14:03

don jebot

V tomto fóre nie sú ďalšie neprečítané témy.

Malware alebo niečo iné?

v Antivíry a antispywary

10

363

31.01.2024 8:07

tatko Tom

V tomto fóre nie sú ďalšie neprečítané témy.

servery minecraft alebo iné

v Ostatné programy

4

1037

08.03.2015 1:29

werwest

V tomto fóre nie sú ďalšie neprečítané témy.

3850 alebo nieco ine ?

v Grafické karty

14

982

23.09.2008 22:50

chester55555

V tomto fóre nie sú ďalšie neprečítané témy.

P: Skrinku a iné...

v Predám

21

1114

09.09.2010 23:58

LuiS_Sk

V tomto fóre nie sú ďalšie neprečítané témy.

sql injection a ine

v PHP, ASP

5

510

25.02.2010 5:44

rooobertek



© 2005 - 2025 PCforum, edited by JanoF