priklad na znakove pole v C
priklad na znakove pole v C
Caute potreboval by som spravit program ktoreho zadanie je:
Nacitaj slovo ako pole znakov (max.12). Vypiste na monitor nacitane slovo, potom v opacnom poradi a ci sa v danom poli sa nachadza jeden znak viackrat a ked hej tak vypis aky a kolko krat
PLS pomozte mi ak to viete.
Nacitaj slovo ako pole znakov (max.12). Vypiste na monitor nacitane slovo, potom v opacnom poradi a ci sa v danom poli sa nachadza jeden znak viackrat a ked hej tak vypis aky a kolko krat
PLS pomozte mi ak to viete.
-
pheo
Light Star
- Príspevky: 212
- Registrovaný: 20 sep 2005, 16:53
- Bydlisko: moje hniezdo
- Kontaktovať používateľa:
PLS pomozte mi ak to viete.
Vytvoriť pole o veľkosti 12 (prípadne 13 a 13 znak bude ukončovací znak 0 teda '\0')
Načítať
Vypísať od konca
Na ten výpis multiplicity existuje viac postupov, napr.:
Prechod pola postupne od zaciatku
narazim na znak v ascii hodnote nasledne zvacsim hodnotu patricneho prvku pola "znaky" , tj. znaky[znak] +=1 (znaky - velkost 256 (staci bajtov) - dovod sa asi nepredpoklada ze pokryjete cely unicode a bude vam stacit ASCII) a patricne miesto sa zvacsi o 1, tak prejdem cele slovo. Na konci skontrolujem pole znaky a je to
Primitívny jednoprechodový algoritmus, stací trošku praxe a ani rozmýšľať netreba ....
Btw. na tomto nič nie je sú to len primitvne technológie = staci si to len precitat na tom nie je nic tazke a samozrejme nemôžete čakať že to budete vedieť hneď perfekne, ale asi tak ako ked sa niekto prvy krat postavy na lyže = nevie čo robí. => Skúšať, skúšať, skúšať a nevyhovárať sa málo času, ten sa vždy nájde, skôr vôľa chýba, vtedy je samozrejme jednoduchšie napisat na podobne forum a cakat ze Vam to nejaky tutko napíše
Jaj aky by bol svet krásny keby lenivosť kvitla .......
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Dnes som sa nudil. Upozornujem, ze v C++ som nikdy neprogramoval!
funguje to, aspon mne...
Kód: Vybrať všetko
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
char text[12];
int pocet[250];
for(int i;i<250;i++)pocet[i]=0;
cout << "Zadajte text\n";
cin >> text;
int len = strlen(text);
for(int i=len-1;i>=0;i--)
{
cout << text[i];
int znak = text[i];
pocet[znak]+=1;
}
cout << "\n\n";
for(int i;i<250;i++)
{
if(pocet[i]>=2)
{
char znak = i;
cout << "Pocet znaku " << znak << " je " << pocet[i] << "\n";
}
}
cout << "\n";
system("PAUSE");
return EXIT_SUCCESS;
}Dik za pomoc. Ale ja som to chcel iba v C, ale to newadi ajtak velmi pekne dakujem.Charger napísal:Dnes som sa nudil. Upozornujem, ze v C++ som nikdy neprogramoval!
funguje to, aspon mne...Kód: Vybrať všetko
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { char text[12]; int pocet[250]; for(int i;i<250;i++)pocet[i]=0; cout << "Zadajte text\n"; cin >> text; int len = strlen(text); for(int i=len-1;i>=0;i--) { cout << text[i]; int znak = text[i]; pocet[znak]+=1; } cout << "\n\n"; for(int i;i<250;i++) { if(pocet[i]>=2) { char znak = i; cout << "Pocet znaku " << znak << " je " << pocet[i] << "\n"; } } cout << "\n"; system("PAUSE"); return EXIT_SUCCESS; }
-
pheo
Light Star
- Príspevky: 212
- Registrovaný: 20 sep 2005, 16:53
- Bydlisko: moje hniezdo
- Kontaktovať používateľa:
Ak sa nenahneváte, tak budem mať pár poznámok :Charger napísal:Dnes som sa nudil. Upozornujem, ze v C++ som nikdy neprogramoval!
funguje to, aspon mne...Kód: Vybrať všetko
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { char text[12]; int pocet[250]; for(int i;i<250;i++)pocet[i]=0; cout << "Zadajte text\n"; cin >> text; int len = strlen(text); for(int i=len-1;i>=0;i--) { cout << text[i]; int znak = text[i]; pocet[znak]+=1; } cout << "\n\n"; for(int i;i<250;i++) { if(pocet[i]>=2) { char znak = i; cout << "Pocet znaku " << znak << " je " << pocet[i] << "\n"; } } cout << "\n"; system("PAUSE"); return EXIT_SUCCESS; }
-> magické čísla (12, 250) -> nahradiť konštantou, keď sa vyskytuje iba 1 krat tak aspon pridat nejaky komentar.
-> chybaju komentare ( to patri ku kazdemu kodu )
-> na miesto 250 by som volil 256 -> vystavujete sa potencionálnemu riziku ze vam tam niekto vlozi neosetreny znak a nastane memory violation
-
pheo
Light Star
- Príspevky: 212
- Registrovaný: 20 sep 2005, 16:53
- Bydlisko: moje hniezdo
- Kontaktovať používateľa:
To su detaily ktore presvedčia zakaznika o tom aby vam za vas kod zaplatilCharger napísal:to su detaily, nevedel som kolko je znakov presneja nesom ziadny profik v c++ nikdy sme sa to v skole neucili, to len tak som chcel skusit neco spravit a islo to
Inak 256 je tam preto lebo standartny vstup v C je kodovany ASCII kodovaním (viac google, pripadne wikipedia s klucovim slovom ascii) ktoré je ulozený po 1 bajte = 8 bytov (2^8 = 256 kombinácií)
-
pheo
Light Star
- Príspevky: 212
- Registrovaný: 20 sep 2005, 16:53
- Bydlisko: moje hniezdo
- Kontaktovať používateľa:
Ako som už písalCharger napísal:ja aj tak nechapem jak to nemohol sam spravit ked sa to v skole ucia, ja som sa nikdy neucil cecko a sa mi to podarilo napisat za 10 minut
Ja neviem čo by malo priniesť toto forum druhym, ale si myslim že kod by si mal pisať každý programátor sám, a prípadne ak mu nie je jasná nejaká technológia tak si ju naštuduje , pripadne vyhlada cez google. V poslednej dobe sa to tu zmenilo prosebnik , napiste my program v pascali , v C , v C++ . Ja si myslím ze o tom programovanie nie je, a na tych zadaniach bolo jasne vidieť to že im sa proste do toho nechce , ked nie je zaujem na druhej strane u mna urcite tiez nebude .......Jaj aky by bol svet krásny keby lenivosť kvitla .......
Takze v skratke to tu zhrniem :
Na to aby niekto mohol niečo naprogramovať, musi si najprv dany jazyk(technologiu naštudovať) , to že niekto zistil tyždeň pred maturitou že nevie pascal tak to je len dôsledok lenivosti patričnej osoby... Chodiť menej chľastať a radšej si o tom prečítať. Keby to bolo niečo ťažké, naučiť sa technologiu to si myslim ze dokaže aj pepa z prasačinca (ergo cvičená opica
to je vsetko len o tom ci to niekoho bavi a ma k tomu vztah, ja som ani nematuroval z inf a inf som mal v prvaku a to sme sa nic podstatne neucili a omnoho viac viem ako ti maturanti co sa cele 4 roky s tym bavili, mna to proste bavi, pascal sa ucili dva roky a kludby vy som to zvladol za jeden vikend. Ja mam bohove zaklady, 1,5 roku som skriptoval mody pre SA multiplayer v jazyku pawn - c-like jazyk a to my hodne vela dalo prijatelnou cestou