| | |
| Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Autor | Správa |
---|
Registrovaný: 31.10.06 Prihlásený: 02.11.06 Príspevky: 6 Témy: 1 | Napísal miso_t: 31.10.2006 17:04 | |
|
Caute neviete mi niekto poradit ako mam spravit v pascale program ktory vypise pocet pismen podla toho ake slovo si uzivatel zada? Napr. BLBEC a program vypise 2xB,1xL,1xE,1xC. Dakujem za snahu mne to nejde uplne podla mojich predstav a chcel by som vediet kde robim chybu.
BTW: malo by sa to robit cez pole a:array (a..z) of integer
|
|
Registrovaný: 09.05.05 Prihlásený: 07.12.16 Príspevky: 1294 Témy: 69 Bydlisko: - - - |
Kód: program LettsCount; type countArrType = array['a'..'z'] of integer; var sentence: string; lettcount: countArrType; here, which: integer; mychar, letter: char; begin for mychar := 'a' to 'z' do lettcount[mychar] := 0; writeln('Napiste slovo'); readln(sentence); for here := 1 to length(sentence) do begin letter := sentence[here]; if letter in ['a'..'z'] then lettcount[letter] := lettcount[letter] + 1; end; for mychar := 'a' to 'z' do begin if lettcount[mychar] > 0 then writeln(lettcount[mychar],'.krat ',mychar); end; end.
|
|
Registrovaný: 31.10.06 Prihlásený: 02.11.06 Príspevky: 6 Témy: 1 | Napísal autor témy miso_t: 31.10.2006 18:42 | |
|
srry ze ti do toho skacem ale asi 3 prikazy sme sa neucili nedalo by sa to niako lahsie polopatisitcky... ale dakujem za snahu
|
|
Registrovaný: 09.05.05 Prihlásený: 07.12.16 Príspevky: 1294 Témy: 69 Bydlisko: - - - |
hehe, ja som to stiahol z netu preto tam anglicke premeny..lahsie ti to neviem spravit, ale neviem na co, sak je to cele lahke na pochopenie a tie 3 prikazy mas v helpe pascalu tak povies profakovi ze si si to tam pozrel..alebo sem daj program co si spravil zatial ty a skusime ten vylepsit aby fungovali, pisal si ze nejde podla tvojich predstav uz len :o)
|
|
Registrovaný: 31.10.06 Prihlásený: 02.11.06 Príspevky: 6 Témy: 1 | Napísal autor témy miso_t: 31.10.2006 19:43 | |
|
takze neviem tu premennu countartype...co to je a neda sa to bez toho?
|
|
Registrovaný: 31.10.06 Prihlásený: 02.11.06 Príspevky: 6 Témy: 1 | Napísal autor témy miso_t: 31.10.2006 20:01 | |
|
ale asi takto niako som to ja vymyslel ale asi zle:
program slovo
uses crt;
var a:array [´a´..´z´] of integer;
i:integer;
pismena,pismeno:char;
slovo:string;
begin
writeln (´Zadaj svoje slovo.´);
readln (slovo);
for i := 1 to lenght(slovo) do
begin
if pismeno in [´a´..´z´] then writeln (´Mas tam zatial 1x toto´,pismeno);
if pismeno in [´a´..´z´] then pismeno := pismena;
end;
writeln (´Mas tam ´,pismena);
readln;
end.
|
|
Registrovaný: 24.06.05 Príspevky: 1085 Témy: 76 Bydlisko: sc | Napísal p55p: 01.11.2006 15:25 | |
|
takto vam to funguje??
neskusal som to compilovat, ale mi neako nejde do hlavy ze pole je z pismen (char) a deklarujete ho ako pole celych cisel (integer)..
funguje to bez problemov??
_________________ PODPIS BOL ZMAZANY Z DOVODU NERESPEKTOVANIA PRAVIDIEL FORA!!! |
|
Registrovaný: 09.05.05 Prihlásený: 07.12.16 Príspevky: 1294 Témy: 69 Bydlisko: - - - |
p55p píše: takto vam to funguje?? neskusal som to compilovat, ale mi neako nejde do hlavy ze pole je z pismen (char) a deklarujete ho ako pole celych cisel (integer).. funguje to bez problemov??
to s tym pole je myslene ako oznacenia, pod jednotlivymi polozkami sa budu nachadzat cisla..takze a[b] napriklad ma hodnotu 0 a tak..a..z su iba oznacenia tych prvkov tam, ale hodnoty budu ciselne, preto integer..ak si myslel toto..
inac miso_t, v tom programe mi unika pointa co chces robit v tom for, sak "pismeno" nema ziadnu hodnotu, resp ziadnu si do tej premenej neprideloval tak cely ten cyklus sa rovno ignoruje
Takze vo for pod begin napis
Kód: pismeno:=slovo[i];
, nasledujuce 2 riadky uz nemaju vobec vyznam ten prvy ti vypise "pismeno" , nasledujuci riadok...do pismeno pridelis nic ? musis pocet tych pismen zapisovat do poli, to sa deje v tom mojom kde tu Kód: lettcount[letter] := lettcount[letter] + 1;
a potom vypisovat polia kde je hodnota vyssia ako 0 ..
Definiciu toho countarrtype som nevedel najst na nete :o) ale jeho vyznam je ze normalne ked nacitas do pismena aktualne pismeno, cize napriklad 'b' tak potom potrebujes nejako zapisat do a['b']:=a['b']+1 ; ..a tento riadok musi byt premenlivi co nemas ako spravit..ak das a['pismeno'] tak ti to nepojde..ak das a[pismeno] tiez nie..ale ked pouzijes countarrtype tak mozes pouzit a[pismeno] , to je cele vyuzitie toho tam..proste sa tam dopisu ' ' vsade
|
|
Registrovaný: 31.10.06 Prihlásený: 02.11.06 Príspevky: 6 Témy: 1 | Napísal autor témy miso_t: 02.11.2006 9:25 | |
|
takte aok bude cely program vyzerat??
|
|
Registrovaný: 31.10.06 Prihlásený: 02.11.06 Príspevky: 6 Témy: 1 | Napísal autor témy miso_t: 05.11.2006 13:48 | |
|
Kód: program pocitanie; ues crt; var a:array [´a´..´z´] of inetger; pis:array[1..100] of integer; pismeno:char; i:integer; slovo:string; begin clrscr; writeln (´Napis svoje slovo.´); readln (slovo); for i := 1 to lenght(slovo) do begin readln (a[i]); pismeno:=0; if pismeno in [´a´..´z´] then pis[i] := pis[i] + 1; end; for i := 1 to lengh(slovo) do begin writeln (´Mas tam´pismeno[i] ,pis[i],´krat.´ ); end; end.
a co takto keby to bolo? urvite tam niaka chba je ale aka?
|
|
Registrovaný: 17.11.06 Prihlásený: 31.12.07 Príspevky: 677 Témy: 9 |
skús toto. Momentálne nemám nahodený pascal, len delphi tak mi chýba crt. To si tam pridaj a teda ani neviem či je správny výstup lebo mi to hneď vyhodí.. no to je jedno..
Kód: program Project2; var a:array ['a'..'z'] of integer; pismeno:char; i:integer; slovo:string; begin for pismeno:= 'a' to 'z' do a[pismeno]:=0; // počet všetkých písmen vynulujem write('Napis svoje slovo: '); read(slovo); for i := 1 to length(slovo) do //pre každé písmeno v slove.. begin pismeno:=slovo[i]; //do písmena dám prvý znak zo slova if pismeno in ['a'..'z'] then a[pismeno] := a[pismeno] + 1; //ak sa nachádza v množine a-z tak ho pripočítam jednotku k hodnote uloženej pod indexom tohto písmena, teda k nule lebo na začiatku som dal do každého písmena nulu end; for pismeno := 'a' to 'z' do //prejdem celým polom begin if a[pismeno]>0 then writeln ('Mas tam ',pismeno, a[pismeno],'krat.' ); //ak je niekde nula, netreba vypisovať end; end.
možno je to neprehladné kôli tým poznámkam, ale aby si pochopil ako som zmýšlal. Vravím že nezaručujem že bude fungovať, ale môže ti to byť aspoň inšipráciou. A k tvojmu programu: máš tam aj plno preklepov, napríklad nevieš napísať uses, length, namiesto apostrofov si dával dlžne alebo čo to bolo...
|
|
| Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| textove pole v Redakčné systémy | 4 | 773 | 04.01.2011 12:22 prohibit | | raid pole v Pevné disky a radiče | 23 | 2405 | 09.07.2008 1:15 Pegas099 | | Dynamicke pole.. v PHP, ASP | 3 | 417 | 28.09.2011 22:56 Ando | | Dvojrozmerne pole v Delphi, Visual Basic | 2 | 732 | 22.01.2013 22:50 Gregi555 | | Viacrozmerne pole v PHP, ASP | 3 | 572 | 07.12.2010 16:41 venom2 | | Textové pole v HTML, XHTML, XML, CSS | 2 | 513 | 13.09.2012 15:16 janosihelsky | | pascal - pole v Assembler, C, C++, Pascal, Java | 8 | 799 | 15.08.2009 9:44 beginner | | elmag. pole v Ostatné | 3 | 273 | 16.09.2014 14:47 logarytmus | | textove pole v JavaScript, VBScript, Ajax | 5 | 582 | 20.06.2009 15:38 Snacker | | RAID pole [ Choď na stránku: 1, 2 ] v Pevné disky a radiče | 54 | 6428 | 10.01.2007 20:10 ertin | | Schovaj pole v JavaScript, VBScript, Ajax | 2 | 281 | 05.02.2013 20:32 Ďuri | | Pole stringov v Assembler, C, C++, Pascal, Java | 2 | 641 | 15.11.2012 21:14 Denco1 | | C# pole matíc v Assembler, C, C++, Pascal, Java | 1 | 346 | 11.07.2010 11:37 dEVIANT | | strankovanie cez pole v PHP, ASP | 3 | 517 | 20.05.2008 8:56 p360t | | Pole do stringu v PHP, ASP | 3 | 396 | 10.03.2009 17:34 Tominator | | pomoc pascal pole [ Choď na stránku: 1, 2 ] v Assembler, C, C++, Pascal, Java | 31 | 3501 | 31.01.2009 11:24 neutronmind |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|