Pascal

Programovacie jazyky, rady, poradňa...
bartimeus
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 135
Registrovaný: 16 jan 2008, 18:17
Kontaktovať používateľa:

Pascal

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

Potrebujem spraviť program ktorý by vyberal čísla z reťazca, zistil či je párne alebo nepárne a podla toho ho vpísal do riadku. 1. riadok párne, 2. nepárne. PLS potrebujem to vedieť čo najskôr lebo už v utorok maturujem :D

Začal som takto:

Kód: Vybrať všetko

var
pole: array  [1..100] of integer;
a,b,n:integer;

Begin

writeln('Kolko prvkove pole bude');
Readln(n);
Randomize;

 For a:=1 to n do
   Begin pole[a] := random (100)  End;

 For b:=1 to n do
  Begin write(pole[b],' ') End;



 readln;
End.
neutronmind
Expert
Expert
Príspevky: 189
Registrovaný: 05 aug 2008, 14:17

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

Kód: Vybrať všetko

var
retazec: string;
I:integer;

begin
readln(retazec);

for I:=1 to length(retazec) do
begin
     if ((ord(retazec[i]) - ord('0')) mod 2 = 0) then
        writeln(I, '. cislo (', retazec[i], ') je parne')
     else
        writeln(I, '. cislo (', retazec[i], ') je neparne');

end;

readln;
end.
inflater
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 470
Registrovaný: 28 mar 2007, 20:55
Bydlisko: Púchov, Slovakia

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

tak sfleku z hlavy:

Kód: Vybrať všetko

program tajtrlo1;

var kod,i,cislo: integer;
s: string;
parne, neparne: array[1..255] of byte;

BEGIN
write('Zadaj string: ');
readln(s);
for i := 1 to 255 do begin
Val(s[i],cislo,kod);
if (cislo mod 2) = 0 then parne[i] := cislo else neparne[i] := cislo;
end;
Writeln;
Write('parne: ');
for i := 1 to 255 do begin
Str(parne[i],s);
if s <> '0' then Write(s);
end;
Writeln;
Write('neparne: ');
for i := 1 to 255 do begin
Str(neparne[i],s);
if s <> '0' then Write(s);
end;
writeln;
asm xor ax,ax
int 16h end;
END.
Bejcy
Novice
Novice
Príspevky: 4
Registrovaný: 24 máj 2009, 14:24

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

a toto by si vedel??? mam ulohu ze: vypočitajte priemer max 50 zy sebou zadaných kladných čisel. ak chcete ukončiř zadavanie skorej, zadajte zaporne cislo.....
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 »

Bejcy napísal:a toto by si vedel??? mam ulohu ze: vypočitajte priemer max 50 zy sebou zadaných kladných čisel. ak chcete ukončiř zadavanie skorej, zadajte zaporne cislo.....
http://www.hojko.com/post1177503.html#1177503
inflater
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 470
Registrovaný: 28 mar 2007, 20:55
Bydlisko: Púchov, Slovakia

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

Kód: Vybrať všetko

program tajtrlo2;

var i,j,k,l,kod: integer;
s: string;
priemer: real;

BEGIN
write('Zadaj 50 cisel na a. priemer, pre menej zadaj zaporne: ');
readln(s);
for i := 1 to 50 do begin
inc(l);
if s[i] = '-' then begin
Val(s[i+1],j,kod);
(* ak chces, aby to zadane zaporne cislo zaratavalo ako KLADNE, nasledujuci riadok VYMAZ! *)
j := j * (-1); (* tento ... *)
k := k + j;
break;
end else Val(s[i],j,kod);
k := k + j;
end;
priemer := k / l;
Writeln;
Writeln('Aritmeticky priemer ',l,' cisel je: ', priemer:5:3);
readln;
end.
50€. hned.
bartimeus
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 135
Registrovaný: 16 jan 2008, 18:17
Kontaktovať používateľa:

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

Tak podarilo sa mi to nakoniec aj samému po hodine :D

Kód: Vybrať všetko

uses crt;
var
pole,parne,neparne: array  [1..100] of integer;
i,a,b,n:integer;

Begin
clrscr;
textcolor(7);
write('Kolko prvkove pole bude ');
Readln(n);
writeln('');
Randomize;

 For i:=1 to n do
   Begin pole[i] := random (100)  End;

 For i:=1 to n do
  Begin write(pole[i],' ') End;
  writeln('');
  writeln('');

 for i:=1 to n do
 begin
 if ( round(pole[i]/2) = pole[i]/2 )
  then
    parne[i] := (pole[i])
  else
    neparne[i] := (pole[i])
 end;

write ('neparne cisla: ');
 for i:=1 to 100 do
  begin
  if neparne[i] <> 0 then
  begin
   textcolor(green);
   write(neparne[i],',');
  end;
  end;

writeln('');

textcolor(7);
write ('parne cisla: ');
 for i:=1 to 100 do
  begin
  if parne[i] <> 0 then
  begin
   textcolor(red);
   write(parne[i],',');
  end;
  end;


 readln;
End.
inflater
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 470
Registrovaný: 28 mar 2007, 20:55
Bydlisko: Púchov, Slovakia

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

po HODINE? :shock: ja som to mal za 5 minut :lol:

co je na tom zlozite?!
bartimeus
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 135
Registrovaný: 16 jan 2008, 18:17
Kontaktovať používateľa:

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

inflater napísal:po HODINE? :shock: ja som to mal za 5 minut :lol:

co je na tom zlozite?!
nevedel som príkaz ktorý mi zistí či je to parne alebo nepárne, a po dlhšom pátraní som našiel ROUND :)


A ešte toto by som potreboval, posledne čo nemám spravené
Napíšte program, ktorý zistí počet rôznych znakov v reťazci
Napíšte program, ktorý nakreslí funkciu y = sin x
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

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

bartimeus napísal:nevedel som príkaz ktorý mi zistí či je to parne alebo nepárne, a po dlhšom pátraní som našiel ROUND :)

//autoeditácia príspevku ( 24 May 2009, 17:47 )
A ešte toto by som potreboval
Napíšte program, ktorý zistí počet rôznych znakov v reťazci
funkcia round nezistuje ci je cislo parne alebo neparne ale cislo zaokluhluje.
na zistovanie parnosti alebo neparnosti pouzi operator mod, ktory vrati zvysok po deleni
bartimeus
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 135
Registrovaný: 16 jan 2008, 18:17
Kontaktovať používateľa:

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

mastermind napísal:funkcia round nezistuje ci je cislo parne alebo neparne ale cislo zaokluhluje.
na zistovanie parnosti alebo neparnosti pouzi operator mod, ktory vrati zvysok po deleni
Ale funguje mi to. Ako by som to mal teda zmeniť?
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 »

mastermind napísal:funkcia round nezistuje ci je cislo parne alebo neparne ale cislo zaokluhluje.
na zistovanie parnosti alebo neparnosti pouzi operator mod, ktory vrati zvysok po deleni
ešte lepšie funkciu odd ktorá je určená práve na zisťovanie či je číslo párne/nepárne
bartimeus
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 135
Registrovaný: 16 jan 2008, 18:17
Kontaktovať používateľa:

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

Použil som to MOD

Kód: Vybrať všetko

uses crt;
var
pole,parne,neparne: array  [1..100] of integer;
i,a,b,n:integer;

Begin
clrscr;
textcolor(7);
write('Kolko prvkove pole bude ');
Readln(n);
writeln('');
Randomize;

 For i:=1 to n do
   Begin pole[i] := random (100)  End;

 For i:=1 to n do
  Begin write(pole[i],' ') End;
  writeln('');
  writeln('');

 for i:=1 to n do
 begin
 if ((ord(retazec[i]) - ord('0')) mod 2 = 0)
  then
    parne[i] := (pole[i])
  else
    neparne[i] := (pole[i])
 end;

write ('neparne cisla: ');
 for i:=1 to 20 do
  begin
  if neparne[i] <> 0 then
  begin
   textcolor(green);
   write(neparne[i],',');
  end;
  end;

writeln('');

textcolor(7);
write ('parne cisla: ');
 for i:=1 to 20 do
  begin
  if parne[i] <> 0 then
  begin
   textcolor(red);
   write(parne[i],',');
  end;
  end;


 readln;
End.
inflater
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 470
Registrovaný: 28 mar 2007, 20:55
Bydlisko: Púchov, Slovakia

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

jedno mi nejde do hlavy, preco zbytocne odsadzujete riadky? zabijak casu :P
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 »

inflater napísal:jedno mi nejde do hlavy, preco zbytocne odsadzujete riadky? zabijak casu :P
keď budeš písať program ktorý má viac ako 10 riadkov a ktorý aj niečo robí, tak pochopíš. Dám ti sem nejaký svoj program čo má 7000 riadkov a po 10 vnorenom cykle sa obesíš ak to nebude mať dobrú úpravu. A za takýto výrok si si odomňa zaslúžil k- :)
bartimeus
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 135
Registrovaný: 16 jan 2008, 18:17
Kontaktovať používateľa:

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

inflater napísal:jedno mi nejde do hlavy, preco zbytocne odsadzujete riadky? zabijak casu :P
aby to bolo troska prehľadnejšie
A s týmito dvoma príkladmi mi pls pomôžte
Napíšte program, ktorý zistí počet rôznych znakov v reťazci
Napíšte program, ktorý nakreslí funkciu y = sin x
Bojim sa že si ich náhodou vytiahne a ani neceknem.
inflater
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 470
Registrovaný: 28 mar 2007, 20:55
Bydlisko: Púchov, Slovakia

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

obesim ? :D:D lol. kamo, teraz sa pozri sem, uz som to kdesi uverejnoval, kedysi som pisal operacny system v pascali - teda aspom jednoduche monoliticke jadro, a kludne si pozri kod shellu ;) - http://inflater.wz.cz/OSKERNEL.PAS ; bohuzel k-, zvukova stopa ;)

pisal som to asi pred 3 rokmi a aj ked sa do toho dnes pozrem, vyznam sa v tom.

k teme: pomozeme ti vtedy a len vtedy ked sa vo svojom kode zaseknes. ja som ti uz jednu domacu ulohu robil, teraz si na rade :)
bartimeus
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 135
Registrovaný: 16 jan 2008, 18:17
Kontaktovať používateľa:

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

Tak to čo si spravil, :shock: :shock: :shock: :o :o :o :o
klobúk dolu.
Potrebujem poradiť s tým ako porovnať všetky prvky s ASC tabuľky, alebo ako mam spraviť to že mi vypíše počet všetkých použitých znakov v reťazci?
A ta druha sin x, to nemám šajnu, viem spraviť obdĺžniky, kružnice,.... ale funkciu, neviem ani ako začať. Ja som totiž samouk, lebo idem maturovať s INF ale seminár sa neotvoril kvôli nedostatku žiakov :?
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 »

v prvom prípade ti pomôže pole, v druhom budeš vykreslovať body so súradnicami xi,yi kde yi = sin(xi) pre i=0..2pi (prípadne rozsah aký potrebuješ)
bartimeus
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 135
Registrovaný: 16 jan 2008, 18:17
Kontaktovať používateľa:

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

Ako by som toto sfunkčnil?

Kód: Vybrať všetko

var
pole: array [0..255] of integer;
a,i:integer;
begin
readln(a);
for i:=1 to a do
write(#pole(i));
end.
Napísať odpoveď