Forum » Programiranje » delo s stringi
delo s stringi
![](https://static.slo-tech.com/stili/avatar_gray.gif)
Eliminator ::
Zdravo!
Mene pa zanima ce mi lahko en pomaga, kako bi bi napisal program, ki bi izpisal besede glede na to ce si crke v tej besedi sledijo v narascujocem vrstnem redu... Funckijo za vnos in izpis besed ze mam.
Ne vem kako bi se lotil te naloge... Razmislal sem nekaj v tem stilu, da bi moral najprej dobiti dolzino besede, potem pa primerjat prvo crko s sosednjo in tako naprej... in dokler je naslednja crka vecja od prejsnje(glede na abecedo :D) se pac ta postopek nadaljuje in ce pride do konca potem izpise to besedo.
prosil bi za pomoc :D
Mene pa zanima ce mi lahko en pomaga, kako bi bi napisal program, ki bi izpisal besede glede na to ce si crke v tej besedi sledijo v narascujocem vrstnem redu... Funckijo za vnos in izpis besed ze mam.
Ne vem kako bi se lotil te naloge... Razmislal sem nekaj v tem stilu, da bi moral najprej dobiti dolzino besede, potem pa primerjat prvo crko s sosednjo in tako naprej... in dokler je naslednja crka vecja od prejsnje(glede na abecedo :D) se pac ta postopek nadaljuje in ce pride do konca potem izpise to besedo.
prosil bi za pomoc :D
- spremenil: Gandalfar ()
![](https://static.slo-tech.com/stili/avatar_gray.gif)
švrk ::
Živjo,
no mal sem se poigral in napisal en "šušmarski" programček. Če sem prav zastopil bi ti rad, da ti iz stringa izpiše npr; jst, abcde, in,.... se pravi naraščajoče glede na abecedo. No ja takih besed ni ravno veliko:)
lp
no mal sem se poigral in napisal en "šušmarski" programček. Če sem prav zastopil bi ti rad, da ti iz stringa izpiše npr; jst, abcde, in,.... se pravi naraščajoče glede na abecedo. No ja takih besed ni ravno veliko:)
public class besede { public static String naBes(String a){ String[] novi=besede.split(a); String t=""; for (int i=0; i<novi.length; i++){ boolean s=false; if(novi[i].length()==1) t=t+novi[i]+", "; for(int j=0; j<novi[i].length()-1; j++){ if(novi[i].toLowerCase().charAt(j)<novi[i].toLowerCase().charAt(j+1)) s=true; else{s=false; break;} } if(s) t=t+novi[i]+", "; } return t; } public static String[] split(String regex){ return regex.split(" "); } public static void main(String[] args) { } }
lp
Zgodovina sprememb…
- spremenil: švrk ()
![](https://static.slo-tech.com/stili/avatar_gray.gif)
Spura ::
public static String naBes(String a) { String t = ""; OUTER: for(String beseda: a.split(" ")) { char lastCh = 0; for(char znak: beseda) { if (Character.toUpperCase(lastCh) > Character.toUpperCase(znak)) { continue OUTER; } else { lastCh = znak; } } t += beseda + ", "; } return t; }
Ista koda malo drugace.
![](https://static.slo-tech.com/stili/avatar_gray.gif)
amacar ::
Evo moj celoten program. Sicer je bolj tak tak napisan, glavno da je bilo narejeno.
//Datoteka: N23.cpp /*Napišite program, ki prebere N besed in med njimi najde in izpiše besede, kjer si ?rke sledijo v naraš?ajo?em vrstnem redu. Program hrani besede v polju. Napišite funkcijo, ki polje uredi padajo?e po številu ?rk v besedah. Za branje in izpis besed napišite funkciji. Za predstavitev besede obvezno uporabite string! Vklju?itvena datoteka: #include <string>*/ #include <iostream> #include <string> using namespace std; void vnos(int stevilo, string beseda[])//funkcija za vnos besed { for(int x=0;x<stevilo;x++)//zanka ki se povecuje do velikosti besed ki jih zeli uporabnik vnesti { cout<<"Vnesite besedo: ";//izpis cin>>beseda[x];//dolocitev polja } } void izpisi(int stevilo, string beseda[],bool izpis,int st_crk[])//funkcija za izpis { for(int x=0;x<stevilo;x++)//zanka ki se povecuje do velikosti besed ki jih zeli uporabnik vnesti { cout<<beseda[x];//izpis besede if(izpis==true)//pogoj za izpisovanje koliko crk ima beseda { cout<<" ("<<st_crk[x]<<")";//izpise stevilo crk v oklepaju } cout<<" ";//izpis } } void abeceda(int stevilo, string beseda[],string narascajoce[])//funkcija za preverjanje besed, ce so po abecedi { string besedica;//dolo?itev spremenljivke int dolzina;//dolo?itev spremenljivke bool vrstnired;//dolo?itev spremenljivke cout<<endl<<"Besede z narascajocim vrstnim redom crk so: ";//izpis for(int x=0;x<stevilo;x++)//zanka ki se povecuje do velikosti besed ki jih zeli uporabnik vnesti { besedica=beseda[x];//iz polja izberemo niz dolzina=besedica.length();//izracunamo dolzino niza for(int y=0;y<dolzina-1;y++)//zanka ki se povecuje do velikosti besed -1 ki jih zeli uporabnik vnesti { vrstnired=false;//vedno postavimo vrstni red na false if(besedica[y]<besedica[y+1])// ce je crka pred ?rko v abecedi { vrstnired=true;//se vrednost postavi na true } if(vrstnired==false)//ce vrednost ostane false { break;//prekine s poizkusanjem } } if(vrstnired==true)//ce vrstni red po koncu zanke ostane true { narascajoce[x]=besedica;//vpiše niz v polje } } } void urejanje(int stevilo, string beseda[],int dolzina[])//funkcija za urejanje besed po stevilu crk { int stevilo_znakov;//dolo?itev spremenljivke cout<<endl<<endl<<"Urejeno polje po stevilu crk v besedi: ";//izpis for(int x=0;x<stevilo;x++)//zanka ki se povecuje do velikosti besed ki jih zeli uporabnik vnesti { dolzina[x]=beseda[x].length();//v polje vnese dolzino vseh besed } for(int y=0;y<stevilo-1;y++)//zanka ki se povecuje do velikosti besed-1 ki jih zeli uporabnik vnesti { for(int z=0;z<stevilo-1;z++)//zanka ki se povecuje do velikosti besed-1 ki jih zeli uporabnik vnesti { if(dolzina[z]<dolzina[z+1])//ce je naslednji element manjsi od trenutnega jih zamenja, hkrati zamenja se besede v polju { int a=dolzina[z];//zacasna dolocitev dolzina[z]=dolzina[z+1];//trenutni element je naslednji element dolzina[z+1]=a;//naseldnji element je zacasni element string zacasno=beseda[z];//zacasna dolocitev beseda[z]=beseda[z+1];//trenutni element je naslednji element beseda[z+1]=zacasno;//naseldnji element je zacasni element } } } } int main()//glavni program { int stevilo;//dolo?itev spremenljivke int izpis=false;//dolo?itev spremenljivke in inicializacija cout<<"Vnesite stevilo besed, ki jih zelite vnesti: "<<endl;//izpis cin>>stevilo;//vnos koliko besed bo uporabnik vnesel int dolzina[stevilo];//dolo?itev spolja string *narascajoce=new string [stevilo];//dolo?itev spolja string *beseda=new string [stevilo];//dolo?itev spolja vnos(stevilo,beseda);//klic funkcije za vnos abeceda(stevilo,beseda,narascajoce);//klic funkcije za preverjanje narascajocega vrstnega reda crk v besedah izpisi(stevilo,narascajoce,izpis,dolzina);//funkcija za izpis besed urejanje(stevilo,beseda,dolzina);//klic funkcije za padajoce urejanje besed po stevilu crk izpis=true;//izpis damo na true, da nam izpise stevilo ?rk v oklepaju izpisi(stevilo,beseda,izpis,dolzina);//klic funkcije za izpis besed return 0; }
![](https://static.slo-tech.com/stili/avatar_gray.gif)
Lion29 ::
zelo bi pomagalo, ce bi napisal v katerem jeziku zelis program
Founder and CTO @ Article-Factory.ai
![](https://static.slo-tech.com/stili/avatar_gray.gif)
Spura ::
Komentarji so prevec verbose.
int stevilo_znakov;//dolo?itev spremenljivke
To je jasno vsakemu, tega ni treba pisat. Izogibaj se nepomembnih komentarjev.
i++; // povecamo i za 1
No shit. Ce je prevec tega, potem bo vecina ljudi bolj z enim ucem brala komentarje, in bodo vcasih tut pomembne izpustil.
int stevilo_znakov;//dolo?itev spremenljivke
To je jasno vsakemu, tega ni treba pisat. Izogibaj se nepomembnih komentarjev.
i++; // povecamo i za 1
No shit. Ce je prevec tega, potem bo vecina ljudi bolj z enim ucem brala komentarje, in bodo vcasih tut pomembne izpustil.
![](https://static.slo-tech.com/stili/avatar_gray.gif)
ERGY ::
Za moje pojme na srednjih šolah preveč forsirajo komentarje pisat, predvsem nepotrebne. Kt je Spura reku so taki komentarji čist odveč. Mi pa tud ni všeč, da se tlači vse v eno vrstico pa vse skup piše, kda bo hitrej vse delal. Raje lepše napiši boš prej napake najdu. Lažje je tud drugim brat kodo in jo popravljat.
In še primer, kako se ne piše komentarjev za funkcije. To, da je funkcija za izpis je razvidno iz imena.
Bolj bi nas zanimalo kaki so vhodni argumenti(tip), in kaj funkcija vrača(tip).
In še primer, kako se ne piše komentarjev za funkcije. To, da je funkcija za izpis je razvidno iz imena.
Bolj bi nas zanimalo kaki so vhodni argumenti(tip), in kaj funkcija vrača(tip).
void izpisi(int stevilo, string beseda[],bool izpis,int st_crk[])//funkcija za izpis { for(int x=0;x<stevilo;x++)//zanka ki se povecuje do velikosti besed ki jih zeli uporabnik vnesti { cout<<beseda[x];//izpis besede if(izpis==true)//pogoj za izpisovanje koliko crk ima beseda { cout<<" ("<<st_crk[x]<<")";//izpise stevilo crk v oklepaju } cout<<" ";//izpis } }
![](https://static.slo-tech.com/stili/avatar_gray.gif)
amacar ::
Ker sem prišel z gimnazije programiranja sploh nisem imel, na faxu pa tudi nihče ni nič razložil kako pa kaj, tako da sem dejansko komentarje pisal samo za asistente, pa noben ni omeil, da je kaj narobe :-P. Bom pa spremenil način komentiranja :-D
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Pomoč pri programiranju z javoOddelek: Programiranje | 3600 (2527) | milc |
» | [Java] Objekt poslan k metodi v kakšnem stanju?Oddelek: Programiranje | 1604 (1051) | shadeX |
» | Java-Izdelek-NujnoOddelek: Programiranje | 1521 (1293) | iggy |
» | osnove v Javi - zvezdiceOddelek: Programiranje | 3603 (2825) | Tutankhamun |
» | Pomoč pri Flash MX 2004Oddelek: Programska oprema | 1056 (948) | Vesoljc |