» »

delo z nizi

delo z nizi

tx-z ::

Narest morm program k bi mi analiziru neko besedilo(kera je najdalsa beseda,kolk ma črk,kokrat se ponovi,nakrajša,...) Jst sm si to tko zamislu da bi recmo vse besede dau v tabelo, pa pol gledu kera je najdalša , itd itd,...Sam pa ne vem kko bi sploh recimo neko besedo loču od stavka pa bi jo napisu v tabelo...

recimo da mam en niz
v javi:
String besedilo = "Tole je neko cisto poljubno besedilo. Ima pike, ima vejice in se marsikaj drugega. Mislim da bo tole prav dober zakljucek besedila.";

oz. v c-ju:
char besedilo[] = {"Tole je neko cisto poljubno besedilo. Ima pike, ima vejice in se marsikaj drugega. Mislim da bo tole prav dober zakljucek besedila."};

Zapis v tabeli bi pa zgledu tkole nekak:

tabela[0][0][0] = {"tole", "4", "2"}
tabela[1][1][1] = {"je", "2", "1"} ..

Torej najprej napiše besedo( vseen a so velke al male, pretvor v male), v drugo okence napiše dolžino besede, v tretjo pa kokrat se je ta ponovila....

Jst sm najprej naredu eno for zanko k gre od začetka do konca besedila, ampak pojma nimam kako bi loču eno besedo vn..
tx-z

snow ::

Beseda se prične z znakom a-z oziroma A-Z. Konča pa se ko tega znaka ni.

Če boš delal v C++ ti priporočam uporabo STL knjižnic string in map.
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

Zgodovina sprememb…

  • spremenilo: snow ()

Alpheus ::

Da se zadevo rest s par zankami ali pa kak grd RegEx spises. Either way, asistent pri Prog2 se ti verjetno ne bo pritozeval. Crke locis od vse ostale stale locis po ascii kodi. Ostalo bos verjetno znal sam.
VI VERI VENIVERSUM VIVUS VICI.

overlord_tm ::

tx-z ::

Zgleda bo treba u c-ju tole napisat...Tko da mi java ne bo pršla u poštev. Še nism vedu točn prej;)
tx-z

tx-z ::

Okej v tabelo sploh ne morm dat "niza":\ Zdej si pa sploh več ne predstavlam kko bi to naredu:\
tx-z

Matek ::

Z niz.charAt(n) lahko dostopas do n-tega znaka v nizu. Poskusi se tako s pomocjo for zanke sprehoditi od zacetka do konca niza in ga spotoma razdeliti v besede (opiraj se na presledke in locila).

EDIT: Spregledal, da je zadeva obvezno v C-ju. Tam sta niz in polje itak ista rec, tako da isti smorn. Ti imas v primeru polje besedilo[], pa se pomikaj po njem.
Bolje ispasti glup nego iz aviona.

Zgodovina sprememb…

  • spremenil: Matek ()

tx-z ::

Ja to mi je jasno, sam ne vem kam bi pol začasno zapisu besedo. A bi za vsako besedo mogu svojo tabelo narest?:\
tx-z

Mavrik ::

Saj v besedilu je samo ena najdaljša beseda. Zakaj bi si moral še ostale zapomniti?
The truth is rarely pure and never simple.

strictom ::

Za pretvorbo v lovercase prvo preveriš če je ascii koda znaka večja od 65. Če je potem odšteješ 32. Dobiš vse lovercase. En if stavek in ena for zanka.
"Violence is the last refuge of the incompetent" - Salvor Hardin

tx-z ::

Hmm nečesa ne vem, pa upam da bo kdo lahko pomagu..:\

Recimo da mam eno funkcijo k zračuna kok je podana stvar dolga(recimo datoteka), zdej bi pa rad zvedu kok je dolgo eno polje..
V originalu mam tko:


/* ... main */
FILE *inputfile;
inputfile = fopen(argv[1], "r");
dolzina(inputfile);


int dolzina(FILE* inputfile){
char c;
int d=0;
c = fgetc(inputfile);
while(EOF != c){
c = fgetc(inputfile);
d++;
}
return d;
}



To deluje, zdej bi pa recimo hotu da bi še za nek vnešen podatek stvar delovala...
tist mam pa recmo tko


/* .. main */
char tekst[100];
fgets(tekst, 99, stdin);


...Zdej bi pa rad dubu dolzino tega vnesenga ...Ampak ce klicem funkcijo dolzina(tekst)...Ne dela, zto k že una funkcija more dobit vrednost tipa FILE...:\
Tko da me zanima samo kko nej nardim funkcijo, da bo enako zračunala dolžino vnešenga niza..
tx-z

Zgodovina sprememb…

  • spremenilo: tx-z ()

fiction ::

DESCRIPTION
The fgets() function reads at most one less than the number of characters
specified by size from the given stream and stores them in the string
str. Reading stops when a newline character is found, at end-of-file or
error. The newline, if any, is retained. If any characters are read and
there is no error, a `\0' character is appended to end the string.

Torej fgets(tekst, 100, stdin). Pri strncpy() ali kaksni taki funkciji pa je res treba paziti na to, da
bo se prostor za '\0' znak (drugace se lahko zgodi da string ni zakljucen) in moras zato vzeti -1.

In funkcija, ki jo isces je najbrz strlen().

tx-z ::

Rad bi sam to napisu tko kt zgori...Kr načeloma men dolžina tega vsega ne bo čist nč pršla prou, ampak pač nekak morm začet:\ ;)
tx-z

Tutankhamun ::

Za dolžino datoteke lahk uporabš kej hitrejšo funkcijo...
hFile = fopen (fileName, "rb");

/* get file size */
fseek (hFile, 0, SEEK_END);
size = ftell(hFile);


Za dobit dolžino niza v buferčku pa
size = strlen (tekst);
AMD Phenom QUAD 9950 Black Edition, 8GB

Zgodovina sprememb…

tx-z ::

A obstaja kkšna funkcija k kopira recimo da maš
"Danes je lep soncen dan"
da skopria recimo od znaka 10 do 15 v en drug niz?

Našu sm strncpy ampak ta lahko skopira samo od začetka do nekega znaka....Rabu bi pa da bi mu še začetno pozicijo dau....

Oziroma če ne obstaja, kko recimo zbrisat del stringa?

Recimo da bi najprej prvih 5 črk skopiru u drug string, pol bi pa zbrisu teh prvih 5 črk, pa bi nasledne 3 recimo skopiru....(zato k pač strncpy ne morš podat začetka):\
tx-z

Zgodovina sprememb…

  • spremenilo: tx-z ()

overlord_tm ::

substr?

tx-z ::

Aja lol, sej se da tut tko
strncpy(tabela[x],tekst+stevilka,kon); :\ I think! :)
tx-z

Zgodovina sprememb…

  • spremenilo: tx-z ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Pomoč pri programiranju z javo

Oddelek: Programiranje
203570 (2497) milc
»

C++ statistika

Oddelek: Programiranje
121505 (1178) hexor
»

Branje datoteke [C]

Oddelek: Programiranje
81124 (1053) Glodko
»

[C] problem s kazalci

Oddelek: Programiranje
141343 (1104) BigWhale
»

strcpy reče segmatation fault

Oddelek: Programiranje
101505 (1456) MasterMind

Več podobnih tem