Deklarace pole – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Deklarace pole – Pascal – Fórum – Programujte.comDeklarace pole – Pascal – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
4. 11. 2006   #1
-
0
-

Řešim si tento úkol: potřeboval jsem zjistit frekvency tónů stupnice. Výsledek ukládám do pole a tisknu na obrazovku. Chtěl jsem k tomu přiřadit ještě názvy tónů. Do výčtovýho typu nemůžu přistupovat přes index a pole mi nejde nadefinovat.Jak na to?
Tohle jsem vygeneroval :-/

type t_stupnice = (C,Cis,D,Dis,E,F,Fis,G,Gis,A,B,H);
pole_tony = array [1..12] of t_stupnice;
var noty: pole_tony;
x:integer;
begin
...
write(noty[x]);
....
end

Nahlásit jako SPAM
IP: ...–
Reklama
Reklama
eMan0
Stálý člen
4. 11. 2006   #2
-
0
-

svobodicz píše:#
# Řešim si tento úkol: potřeboval jsem zjistit frekvency tónů stupnice. Výsledek ukládám do pole a tisknu na obrazovku. Chtěl jsem k tomu přiřadit ještě názvy tónů. Do výčtového typu nemůžu přistupovat přes index a pole mi nejde nadefinovat.Jak na to?#
#Tohle jsem vygeneroval :-/#
##
#type t_stupnice = (C,Cis,D,Dis,E,F,Fis,G,Gis,A,B,H);#
# pole_tony = array [1..12] of t_stupnice;#
#var noty: pole_tony;#
# x:integer;#
#begin#
#...#
#write(noty[x]);#
#....#
#end



Problem je v tom ze pascal nepracuje se symbolickym vyjadrenim vyctu ale s jejich ordinalnima hodnotama(C=0, Cis=1, ..) coz je z hlediska kompilatoru pochopitelne.

Takze pokud to chces vyresit pomuze ti urcite řetězec STRING.

Nahlásit jako SPAM
IP: ...–
6. 11. 2006   #3
-
0
-

Tak to nějak nepobírám :( Nechápu jak mu podstrčit ten výčet. Když zadávám řetězce z klávesnice, tak je v tom poli mám. Ale nechci to psát při každém spuštění. Nemohl bys mi tu syntaxi prosim napsat?

Nahlásit jako SPAM
IP: ...–
Jura_0
Stálý člen
6. 11. 2006   #4
-
0
-

To svobodicz:



program Project2;

uses
SysUtils;
const
pole_tony : array [1..12] of string = ('C','Cis','D','Dis','E','F','Fis','G','Gis','A','B','H');

type t_stupnice = (C=1,Cis,D,Dis,E,F,Fis,G,Gis,A,B,H);
begin
writeln(pole_tony[Integer(Dis)]);
readln;
end.

Nahlásit jako SPAM
IP: ...–
6. 11. 2006   #5
-
0
-

To Jura_: Díky, způsob jak jsi nadefinoval konstantu jsem ještě nikde nepotkal :ms_0043:

když jsem to v zpustil, tak to na mě hodilo tuhle hlášku: "Project2.exe raised exception class ElnOutError with message 'I/O error 105'. Process stopped. Use Step or Run to continue." Co to znamená? :ms_0745:

Nahlásit jako SPAM
IP: ...–
Jura_0
Stálý člen
6. 11. 2006   #6
-
0
-

svobodicz píše:#
# To Jura_: Díky, způsob jak jsi nadefinoval konstantu jsem ještš nikde nepotkal :ms_0043: #
##
#když jsem to v spustil, tak to na mě hodilo tuhle hlášku: "Project2.exe raised exception class ElnOutError with message ##uvozovka##I/O error 105##uvozovka##. Process stopped. Use Step or Run to continue." Co to znamená? :ms_0745:


Mno, já to původně psal v Delphi, čili se tam ještš vygeneruje specialni makro, které oznamuje překladači, že se jedná o console application. A takže jsem očekával, že když jsme v diskusi o Pascalu, tak jsem jej(to makro) záměrně vyhodil. Ale jak vidno, tak jsi to psal také v Delphi. čili níže přikladám, již fungující kód:


{$APPTYPE CONSOLE}
program Project2;

uses
SysUtils;
const
pole_tony : array [1..12] of string = ('C','Cis','D','Dis','E','F','Fis','G','Gis','A','B','H');

type t_stupnice = (C=1,Cis,D,Dis,E,F,Fis,G,Gis,A,B,H);
begin
writeln(pole_tony[Integer(Dis)]);
readln;
end.

Nahlásit jako SPAM
IP: ...–
6. 11. 2006   #7
-
0
-

To Jura_: Díky :ms_0435: jsem jantar :ms_0860: , tohle jsem přehlédl :ms_0043:

Nahlásit jako SPAM
IP: ...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 15 hostů

Podobná vlákna

Deklarace dvourozměrného pole C# — založil drobeczek

Deklarace pole stringů — založil PiranhaGreg

Nejde deklarace proměnné — založil Bumblebee

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý