[ Príspevkov: 17 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.12.08
Prihlásený: 08.01.09
Príspevky: 13
Témy: 3 | 3
NapísalOffline : 14.12.2008 20:30 | pascal - matica reťazcov

mohol by mi niekto pomôcť zo semestrálkou, vôbec to neviem
Matica reťazcov III. Vygenerujte maticu 10 krát 10 tvorenú prvkami reťazec dĺžky 5 znakov tvorenú len z reťazcov písmen. Ponúknite používateľovi nasledovné voľby v menu :
Uvedenú maticu reťazcov usporiadajte podľa pravidiel pre usporiadavanie reťazcov od najmenšieho po najväčší a to v rámci celej matice. Uvedenú usporiadnú maticu vypíšte.
Výpis matice tak, že všetky zadané veľké písmená zmeníte na malé a opačne
Výpis len tých prvkov matice, ktoré sa začínajú na spoluhlásku
Výpis len tých prvkov matice, ktorých posledným znakom je spoluhláska
nepotrebujem vypracovať, len nejaké zakladné body ako to mám robiť


Offline

Skúsený užívateľ
Skúsený užívateľ
pascal - matica reťazcov

Registrovaný: 30.05.06
Prihlásený: 08.10.14
Príspevky: 1756
Témy: 35 | 35
Bydlisko: BA - WESTSIDE
NapísalOffline : 14.12.2008 21:05 | pascal - matica reťazcov

Na to že je to semestrálka sa možno trochu neskoro pýtaš. Každopádne, podľa pravidiel hotové riešenia do školy nedávame. Preto skús sama začať a spýtaj sa na konkrétny problém, nie na celé zadanie.

Skús začať tak, že budeš ignorovať to menu, len sprav všetky potrebné dátové štruktúry a procedúry pre jednotlivé úlohy.

Pri konštrukcii sa treba trochu zamyslieť, možno by sa oplatilo spraviť malý trik. Podľa zadania úloh zatiaľ vôbec nepotrebuješ mať maticu 10x10, úplne ti stačí 100 prvkové jednorozmerné pole Stringov. Len pri výpise ich budeš vypisovať po riadkoch v desiatkach (a teda navonok sa to bude tváriť ako pole 10x10). To ti pomôže pri konštrukcií procedúr pre jednotlivé úlohy. Jednorozmerné 100 prvkové pole sa zoradí jednoduchšie ako dvojrozmerné 10x10 a trochu sa zjednodušia prechody cez všetky prvky (namiesto dvoch vnorených cyklov stačí jeden).


_________________
A. S. Tanenbaum píše:
The terms LF, MF, and HF refer to low, medium, and high frequency, respectively. Clearly, when the names were assigned, nobody expected to go above 10 MHz, so the higher bands were later named the Very, Ultra, Super, Extremely, and Tremendously High Frequency bands. Beyond that there are no names, but Incredibly, Astonishingly, and Prodigiously high frequency (IHF, AHF, and PHF) would sound nice.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.12.08
Prihlásený: 08.01.09
Príspevky: 13
Témy: 3 | 3
Napísal autor témyOffline : 03.01.2009 15:59 | pascal - matica reťazcov

dakujem za radu, i keď mi to asi aj tak nepomôže


Offline

Užívateľ
Užívateľ
pascal - matica reťazcov

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6 | 6
NapísalOffline : 04.01.2009 14:27 | pascal - matica reťazcov

sak nepise ze chce konecn produkt len navod
no tak
Kód:
pole:array[1..10,1..10] of string;
maenu vytvoris pomocou cyklov, writelnov a readlnov a caseov ak budes chciet a string je pole znakov takze k jednotlivym pismenam sa bude pristupovat ako k trojrozmernemu polu
Kód:
pole[1][1][1]
je prve pismeno prveho riadku a stlpca a pouzivas funkcie ci procedury Upcase, length atakdalej...


_________________
getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.12.08
Prihlásený: 08.01.09
Príspevky: 13
Témy: 3 | 3
Napísal autor témyOffline : 04.01.2009 16:00 | pascal - matica reťazcov

menu by som aj zvladla, možno aj to ostatne, lenže neviem vygenerovať maticu 10x10 tvorenu reťazcami dlhých 5 znakov tvorenú len z pismen


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 15.05.15
Príspevky: 884
Témy: 3 | 3
NapísalOffline : 04.01.2009 16:10 | pascal - matica reťazcov

Staci, ked budes v cykle kazdemu znaku priradovat nejaku nahodne vygenerovanu hodnotu, pomocou random() - pouzi funkciu na prevod cisel na zodpovedajuci znak (funkciu chr()). :)


_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.12.08
Prihlásený: 08.01.09
Príspevky: 13
Témy: 3 | 3
Napísal autor témyOffline : 04.01.2009 16:20 | pascal - matica reťazcov

začala som asi takto
procedure vygeneruj maticu (var M:matica)
var i, j:integer

begin
randomize
for i:=1 to 10 do
for j:= 1 to 10 do
begin
for k:= 1 to 5 do

a ďalej neviem


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 15.05.15
Príspevky: 884
Témy: 3 | 3
NapísalOffline : 04.01.2009 22:15 | pascal - matica reťazcov

No nejako takto (hadam je to dobre, netestoval som)
Kód:
procedure vygeneruj_maticu(var M:matica)
var i, j, k, x:integer

begin
randomize;
for i:=1 to 10 do
   for j:=1 to 10 do
      for k:=1 to 5 do
          matica[i,j,k]:=chr(random(26)+1);
end.

Aj ked si myslim, ze by nebolo zle spravit jednorozmerne pole 100 retazcov, ako spominal p360t... :)


_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.12.08
Prihlásený: 08.01.09
Príspevky: 13
Témy: 3 | 3
Napísal autor témyOffline : 05.01.2009 14:40 | pascal - matica reťazcov

no tu maticu som uz vygenerovala
trocha inak ale ide to
a robim to cez to 100 prvokove pole viem aj upravit velke pismena na male
len neviem ako usporiadat tu maticu viem ze tam budem potrebovat ord(znak)
no neviem...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 15.05.15
Príspevky: 884
Témy: 3 | 3
NapísalOffline : 05.01.2009 14:57 | pascal - matica reťazcov

V Pascale moze retazce porovnavat normalne ako aj cisla (teda pomocou >, <, <=, >=, =), takze staci, ked pouzijes nejaky triediaci algoritmus - napr. BubbleSort, QuickSort, atd. bez akychkolvek uprav.


_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.12.08
Prihlásený: 08.01.09
Príspevky: 13
Témy: 3 | 3
Napísal autor témyOffline : 05.01.2009 14:59 | pascal - matica reťazcov

lenze mi sme sa nic take neucili


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 15.05.15
Príspevky: 884
Témy: 3 | 3
NapísalOffline : 05.01.2009 15:07 | pascal - matica reťazcov

Napisem ti BubbleSort, ten je imho lahsie pochopitelny ako ine, rychlejsie algoritmy, ak by bolo treba, mozem ti poslat aj rychlejsi.

Kód:
procedure utried(var M:matica, DLZKA:integer)
var
    i, j:integer;
    pom: string[5];

begin
    for i:=1 to DLZKA-1 do
        for j:=i+1 to DLZKA do
            if M[i]>M[j]
                begin
                    pom:=M[i];
                    M[i]:=M[j];
                    M[j]:=pom;
                end;
end.


DLZKA - v tvojom pripade je 100
M - je samotne pole retazcov

Dufam, ze tam nie su chyby, netestoval som... :rolleyes:


_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.12.08
Prihlásený: 08.01.09
Príspevky: 13
Témy: 3 | 3
Napísal autor témyOffline : 05.01.2009 17:05 | pascal - matica reťazcov

pri tom druhom begin mi vypisuje chybu


Offline

Užívateľ
Užívateľ
pascal - matica reťazcov

Registrovaný: 16.02.08
Prihlásený: 08.12.10
Príspevky: 235
Témy: 13 | 13
NapísalOffline : 05.01.2009 19:37 | pascal - matica reťazcov

mozem sa opytat na typ skoly?


_________________
Učet je neaktívny.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 15.05.15
Príspevky: 884
Témy: 3 | 3
NapísalOffline : 05.01.2009 21:20 | pascal - matica reťazcov

Pred tym begin malo byt este then. :) Nasiel som tam vsak aj zopar dalsich chyb :rolleyes: . Tu je to opravene... :)
Kód:
procedure utried(DLZKA:integer; var M: matica);
var
    i, j:integer;
    pom: string[5];

begin
    for i:=1 to DLZKA-1 do
        for j:=i+1 to DLZKA do
            if M[i]>M[j] then
                begin
                    pom:=M[i];
                    M[i]:=M[j];
                    M[j]:=pom;
                end;
end;


_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.12.08
Prihlásený: 08.01.09
Príspevky: 13
Témy: 3 | 3
Napísal autor témyOffline : 06.01.2009 15:33 | pascal - matica reťazcov

to then som si vsimla, ale stalemi to v tom riadku if M[i]>M[j] then vypisuje
operand tzpes do not match operator, a neviem preco,
a inak dakujem za pomoc


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 30.04.08
Prihlásený: 15.05.15
Príspevky: 884
Témy: 3 | 3
NapísalOffline : 06.01.2009 19:22 | pascal - matica reťazcov

Nie je zac. :) No moze byt, ze je nejaka chyba v deklaracii typu "matica". Podla mna by ani nebolo treba vytvarat takyto typ, ale stacilo by tam dat array of string[5]. ;)


_________________
Empty your memory, with a free()… like a pointer!
If you cast a pointer to an integer,
it becomes the integer, if you cast a pointer to a struct, it becomes the struct…
The pointer can crash…, and can overflow…
Be a pointer my friend…
 [ Príspevkov: 17 ] 


pascal - matica reťazcov



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

C - **Matica

v Assembler, C, C++, Pascal, Java

4

414

29.01.2014 11:17

Lukys12345

V tomto fóre nie sú ďalšie neprečítané témy.

Odtrhnuta M.2 matica

v AMD čipové sady

6

749

22.03.2020 17:48

Nemesis97

V tomto fóre nie sú ďalšie neprečítané témy.

Vytiahnutie retazcov

v PHP, ASP

6

470

29.09.2011 1:08

roach189

V tomto fóre nie sú ďalšie neprečítané témy.

Porovnanie retazcov s rovnakym zaciatkom

v PHP, ASP

3

575

17.11.2010 15:08

awase

V tomto fóre nie sú ďalšie neprečítané témy.

Ako vytvoriť pole reťazcov v C++?

v Assembler, C, C++, Pascal, Java

1

971

23.05.2011 12:58

nBXXL

V tomto fóre nie sú ďalšie neprečítané témy.

Free Pascal a Turbo Pascal

v Assembler, C, C++, Pascal, Java

0

430

19.12.2014 13:18

Styracoz

V tomto fóre nie sú ďalšie neprečítané témy.

Regexp na hladanie retazcov %s, %d, %1$s a %1$d

v PHP, ASP

2

387

24.01.2009 16:27

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

Pascal

v Kôš

1

30

06.11.2018 14:38

werwest

V tomto fóre nie sú ďalšie neprečítané témy.

pascal

v Assembler, C, C++, Pascal, Java

0

745

03.05.2009 12:35

ebb

V tomto fóre nie sú ďalšie neprečítané témy.

pascal

v Assembler, C, C++, Pascal, Java

6

776

08.01.2009 17:45

majka090

V tomto fóre nie sú ďalšie neprečítané témy.

pascal

v Assembler, C, C++, Pascal, Java

2

1152

09.03.2007 14:08

misolax

V tomto fóre nie sú ďalšie neprečítané témy.

Pascal

v Assembler, C, C++, Pascal, Java

4

2438

01.03.2018 8:02

MTK

V tomto fóre nie sú ďalšie neprečítané témy.

pascal

v Assembler, C, C++, Pascal, Java

2

615

24.06.2010 20:17

KatjushaMan

V tomto fóre nie sú ďalšie neprečítané témy.

Pascal

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Assembler, C, C++, Pascal, Java

40

1564

11.12.2016 22:08

viki

V tomto fóre nie sú ďalšie neprečítané témy.

pascal...

v Assembler, C, C++, Pascal, Java

5

949

18.10.2008 19:02

redog

V tomto fóre nie sú ďalšie neprečítané témy.

Pascal

v Assembler, C, C++, Pascal, Java

7

666

09.10.2011 21:30

F3RY



© 2005 - 2024 PCforum, edited by JanoF