» »

velike male besede c++

velike male besede c++

PoPon2 ::

imam eno začetniško vprašanje in sicer:
zanima me kako bi določeno besedo v nizu napisano z malimi tiskanimi črkami spremenil v besedo napisano z velikimi tiskanimi črkami. Vesel bi bil kakšne ideje oz. postopka. lp

moowy123 ::

Včasih imaš na voljo kake metode ki so že vgrajene (odvisno kaj uporabljaš - frameworki, knjižnjice,...). Lahko pa samo preprosto spremeniš ascii kodo vsakemu znaku posebej dokler ne prideš do konca niza ('\0').

strictom ::

Besedo shraniš v polje, vse elemente polja spremeniš v ASCII in prišteješ 32. Spremeniš nazaj v char in izpišeš, voila.
"Violence is the last refuge of the incompetent" - Salvor Hardin

CCfly ::

std::transform
"My goodness, we forgot generics!" -- Danny Kalev

snow ::

Besedo shraniš v polje, vse elemente polja spremeniš v ASCII in prišteješ 32. Spremeniš nazaj v char in izpišeš, voila.


And z 11011111 bi bilo bolj prav po moje?

http://www.theskull.com/javascript/asci...
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

prognoob ::

if(znak[i]==isupper)
tolower(znak[i])

nekako takole, če se dobro spomnim... neda pa se mi preverjat :D s tem celoten niz spremeniš iz velikih v male v tem primeru...

iceurb ::

koda

Z asci tabelo bi se lahko naredlo kot je zgoraj seveda pa ČŠŽ ne delajo.

PoPon2 ::

mogoče nisem najjasnejše povedal mojega problema oz. me nekateri niste najbolje razumeli. Gre se zato, da vpišem v programu neki stavek npr.
string stavek; // npr.(hans montira zizeke pri francki)
gets(stavek) oz. getline(cin, stavek); //berem stavek

Sedaj bi rad da v stavku najdem npr. besedo "montira". Ta beseda je že vnaprej znana(torej imam neko polje z znanimi besedami, ki so že v naprej znane)
in sedaj se pojavi problem:
kako označiti-dobiti to besedo, v tem stavku in jo spremeniti v besedo sestavljeno iz velikih tiskanih črk. TOREJ NE SPREMENIM CELOTNEGA NIZA NAPISANEGA Z MALIMI TISKANIMI ČRKAMI, TEMVEČ LE BESEDO V NIZU.

Hvala za vse odgovore, ki ste mi jih napisali. Lp

Zgodovina sprememb…

  • spremenil: PoPon2 ()

AndyS ::

spravi vse besede stavka v array, pojdi čez ta array in preveri če je kakšen element v tvojem arrayu s ključnimi besedami. Če je, delaj željeno operacijo nad besedo, če ni, ne naredi nič. Na koncu sestavi nazaj niz iz arraya + dodaj presledke

PoPon2 ::

aha dobro, use lepo in prav... edino kar me še zanima je kako spraviti vsako besedo v stavku v array oz. polje? kako označiti npr. prvo besedo ki vsebuje elemente od začetka niza do znaka ' ', in jo shraniti v polje besed?
ok tu je programček ki izpisuje besede po znakih

#include<iostream.h>
#include<String.h>
#include<stdio.h>

int main()
{
//vnos besedila
char besedilo[100];
gets(besedilo);

//stetje stevila znakov v polju
int dolzina=(strlen(besedilo));

//pregledujemo znake v polju
int zacetek_besede=0; //zacetek besede
for(int i=0; i<=dolzina; i++)
{
//iskanje presledka v besedilu ali konca besedila
if(besedilo[i]==' ' || i==dolzina)
{
//izpis besede od začetka do besede(konec_izpisa)
for(int j=zacetek_besede; j<i; j++)
{
cout<<besedilo[j]; //izpis
}
//po izpisu besede nastavimo začetek_besede za
//naslednjo besedo na indeks pri katerem se
//nahaja najdeni presledek
zacetek_besede=i;
}
}
cout<<endl;
return 0;
}
tako bi bilo za izpis znakov v vsaki besedi, toda jaz bi rad to besedo obdeloval po svoje(jo primerjal s ključnimi besedami) in zato bi moral ta niz znakov do ' ' nekako shraniti kot besedo

ERGY ::

Zakaj pa nisi uporabljal c++ stringa ?

PoPon2 ::

no... recimo, da uporabim string... v program napišem nek stavek... še vedno me muči isto vprašanje (kako označiti, dobiti besedo v nizu)

Loki ::

kako pa vemo, da je crka res velika?
And z 11011111 bi bilo bolj prav po moje?

pa kako je bilo misljeno tole? ne razumem tega And z ....
I left my wallet in El Segundo

Zgodovina sprememb…

  • spremenil: Loki ()

PaX_MaN ::

Za splitanje lahko uporabiš funkcijo strtok(): http://www.cplusplus.com/reference/clib...

BaRtMaN ::

Logična operacija AND.

Vzameš bajt, ki predstavlja črko, in nad posameznimi biti izvedeš AND s soležnim bitom iz konstante 11011111.

Govori se o učinkoviti realizaciji metode isupper(char), logične operacije so namreč zelo hitre.

PoPon2 ::

tale strtok() je pa zelo uporaben. Hvala


Vredno ogleda ...

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

[C++] Naloge

Oddelek: Programiranje
273782 (2113) LordiBoy
»

[C#] Domača naloga - osnove

Oddelek: Programiranje
372307 (1524) 11tomi12
»

C++ statistika

Oddelek: Programiranje
121417 (1090) hexor
»

delo z nizi

Oddelek: Programiranje
162843 (2387) tx-z
»

[C++] - Tolmačenje povedi in izvedba operacij nad števkami

Oddelek: Programiranje
353169 (2405) jernejl

Več podobnih tem