Pascal

Programovacie jazyky, rady, poradňa...
1nika-zv1
Medium Expert
Medium Expert
Príspevky: 97
Registrovaný: 29 dec 2007, 15:16
Kontaktovať používateľa:

Pascal

Príspevok od používateľa 1nika-zv1 »

takze za ulohu mam naprogramovat v pascale toto: nacitat a vypisat zlozky 2-rozmerneho pola.Kedze sme sa to iba nedavno ucili v skole,dako som mimo z toho:)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

omg, už sa začala škola, to tu zas bude zábava :)
aké hodnoty? číselné? textové? ako sa budú zadávať? z klávesnice alebo zo súboru? ako sa majú vypisovať? ...

a keďže nie si prvá v danom ročníku, som si istý že ak sa to už nezmazalo, minulý rok tu bola rovnaká téma, ešte si pamätám že som podobne reagoval
1nika-zv1
Medium Expert
Medium Expert
Príspevky: 97
Registrovaný: 29 dec 2007, 15:16
Kontaktovať používateľa:

Príspevok od používateľa 1nika-zv1 »

takze mali by to byt hodnoty ciselne a zadavat z klavesnice

//autoeditácia príspevku ( 15 Sep 2008, 12:02 )
a hej raz som daco potrebovala tiez do prace v pascale:D

//autoeditácia príspevku ( 15 Sep 2008, 12:15 )
Mam daco taketo:
//audiotrack: http://www.hojko.com/pravidla-fora-cita ... 43629.html (pravidlo 27)

No len na konci by som to chcela vypisat do riadku napr.nieco ako do tabulky alebo take daco..
morfeusko
Medium Star
Medium Star
Príspevky: 395
Registrovaný: 19 mar 2008, 15:21
Bydlisko: Nitra
Kontaktovať používateľa:

Príspevok od používateľa morfeusko »

tak tak tabulku spravis takto len to daj do prgramu za to nacitanie:

Kód: Vybrať všetko

for i:=1 to n do
begin
  for j:=1 to m do
    write(D[i,j]); 
  writeln;
end;
1nika-zv1
Medium Expert
Medium Expert
Príspevky: 97
Registrovaný: 29 dec 2007, 15:16
Kontaktovať používateľa:

Príspevok od používateľa 1nika-zv1 »

kde presne? mozes to dat do toho mojho? lebo su tam dva nacitania
ale stale mi to na kocni nevypise:(
morfeusko
Medium Star
Medium Star
Príspevky: 395
Registrovaný: 19 mar 2008, 15:21
Bydlisko: Nitra
Kontaktovať používateľa:

Príspevok od používateľa morfeusko »

Kód: Vybrať všetko

program zlozka;
uses crt;
var D:array[1..10] of array [1..5] of integer;
var n,m,i,j:integer;
begin
Writeln('zadaj pocet riadkov:');
readln(n);
Writeln('zadaj pocet stlpcov:');
readln(m);
for i:=1 to n do
for j:=1 to m do
begin
writeln('zadaj hodnotu pre zlozku D[',i,',',j,']');
readln(D[i,j]);
end;
for i:=1 to n do
begin
  for j:=1 to m do
    write(D[i,j]);
  writeln;
end; 
end.


johny_sk
Professional
Professional
Príspevky: 1343
Registrovaný: 15 máj 2008, 21:56

Príspevok od používateľa johny_sk »

zdrojak od morfeuska by mal byt OK.

len poznamocka: v pascale sa zvykne 2D pole pisat takto

var D: array [1..10, 1..5] of integer;

je to presne to iste, ale je to trosku kratsie ;-)

a este otazocka na morfeuska: preco si dal uses crt? niekde si to aj pouzil?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

crt tam dal, lebo to bolo v pôvodnom kode ktorý som zmazal a on ho iba dorábal o ten výpis. Neopravil ani ďalšiu vec, že m a n sa načítava z klávesnice, ale pole nie je dynamické. Ak zadám n alebo m ako 1000 tak program zkolabuje lebo príde na načítavanie 11. prvku pola ktorý nie je alokovaný. Hodila by sa tam kontrola
1nika-zv1
Medium Expert
Medium Expert
Príspevky: 97
Registrovaný: 29 dec 2007, 15:16
Kontaktovať používateľa:

Príspevok od používateľa 1nika-zv1 »

tak teda hod:)
morfeusko
Medium Star
Medium Star
Príspevky: 395
Registrovaný: 19 mar 2008, 15:21
Bydlisko: Nitra
Kontaktovať používateľa:

Príspevok od používateľa morfeusko »

audiotrack napísal:crt tam dal, lebo to bolo v pôvodnom kode ktorý som zmazal a on ho iba dorábal o ten výpis. Neopravil ani ďalšiu vec, že m a n sa načítava z klávesnice, ale pole nie je dynamické. Ak zadám n alebo m ako 1000 tak program zkolabuje lebo príde na načítavanie 11. prvku pola ktorý nie je alokovaný. Hodila by sa tam kontrola
Mas pravdu ale nad tou kontrolou som sa ani moc nezamyslal lebo ten program pravdu poviediac som si ani poriadne nepozrel len som tam hodil vypis ale tak ked to chcete mat poriadne :)

Kód: Vybrať všetko

program zlozka;
uses crt;
var D:array[1..10,1..5] of integer;
var n,m,i,j:integer;
begin

Writeln('zadaj pocet riadkov:');
readln(n);
if n>10 then
 while n>10 do
  begin
   writeln ('si mimo rozsah (max-10)');
   readln(n);
 end;

Writeln('zadaj pocet stlpcov:');
readln(m);
if m>5 then
 while m>5 do
  begin
   writeln ('si mimo rozsah (max-5)');
   readln(m);
 end;

for i:=1 to n do
for j:=1 to m do
begin
writeln('zadaj hodnotu pre zlozku D[',i,',',j,']');
readln(D[i,j]);
end;

for i:=1 to n do
begin
  for j:=1 to m do
    write(D[i,j]);
  writeln;
end;
end. 
neskusal som to compilovat tak sa tam mozu nachadzat chybicky
1nika-zv1
Medium Expert
Medium Expert
Príspevky: 97
Registrovaný: 29 dec 2007, 15:16
Kontaktovať používateľa:

Príspevok od používateľa 1nika-zv1 »

mozte lock a zmazat

//autoeditácia príspevku ( 12 Nov 2008, 20:25 )
no tak mam tu problem mam za ulohu mam subor,a v nom vetu a program mi ma zistit kolko pismen akych je v subore v tej vete:)
mam daco take...ale neviem sap ohnut a moznoto je aj zle :

Kód: Vybrať všetko

program medzery;
uses fdelay,crt;
var r,znak,znak1:char;
pm:byte;
t:text;
tp:array['a'..'z'] of integer;
begin
clrscr;
for r:='a' to'z' do tp[r]:=0;
read(r,znak);
assign(t,'D:\PISMENA.txt');
reset(t);
pm:=0;
while not(eof(t)) do
     begin
    read(t,znak);
if znak=' ' then pm:=pm+1
end;
Writeln('Pocet medzier: ',pm);
while not(eof(t)) do
  begin
  read;
if (znak1>='a') and (znak1<='z')then
tp[znak1]:=tp[znak1]+1;
end;
writeln('pocet pismen:  ',znak1);
close(t);
readln;
end.
konyk87
King
King
Používateľov profilový obrázok
Príspevky: 1709
Registrovaný: 24 okt 2007, 15:56

Príspevok od používateľa konyk87 »

neviem, ci to bude tym, ale v poslednom cykle while, mas len prikaz read, ale necitas zo suboru a vypis by mal byt podla mna tiez v cykle (v inom), inak ti vypise len posledny znak, ktory bol nacitany..dal by som tam nejaky takyto cyklus, ze co to spravi :) :

Kód: Vybrať všetko

for r:='a' to'z' do writeln(tp[r]);
jjakub
Amateur
Amateur
Príspevky: 23
Registrovaný: 13 sep 2009, 13:56

Re: Pascal

Príspevok od používateľa jjakub »

zdravim ako by som pole nacital automaticky ? Dvojrozmerne bez zadavania z klavesnice ale napr od 1 do 12 ?

potreboval by som do 2 rozmerneho pola nacitat 2 suradnice ak sa to da vobec.

Cielom je dostat do pola proceduru circle . Potrebujem vykreslit tak 50 kruho ale nechcem to robit pojednom slo by to nejak ?
Chcem srpravit hraciu plochu na clovece
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: Pascal

Príspevok od používateľa c-ice »

ak chceš nahodne co asi nechceš ... random ... a randomize ... UTFG: Pascal Random
inak chceš pouzit cyklus len asi otom ešte nevieš že to prave chceš ... UTFG: Pascal Loop
mirak2
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6719
Registrovaný: 18 sep 2005, 13:44
Bydlisko: Prague, CZE / Kosice, SVK

Re: Pascal

Príspevok od používateľa mirak2 »

pokial chces robit kruhy na clovece tak to by som nepchal do pola suradnice, hned ich vykresluj a to so skratenim asi neobides, to nie je sachovnica ktoru si vykreslis cez dva fory a jeden if
Napísať odpoveď