GRY-Online.pl --> Archiwum Forum

Zadanie w Pascalu . Moze ktos wie jak mam to zrobic ?

23.11.2004
10:42
smile
[1]

Gandalf-biały [ Mithrandir ]

Zadanie w Pascalu . Moze ktos wie jak mam to zrobic ?

mam zadanie z informatyki i liczylem na to ze ktos odemnie z grupy to zrobi a tu sie okazuje ze nikt nie wie jak :(

za 3 godz. zaczynam infe wiec jesli komus sie uda zrobic to zadanie to bede wdzieczny :)

Zad.
Wprowadzic 10 liczb do tablicy. Znalezienie i wypisanie dwóch najwiekszych liczb tej tablicy.

dzieki

23.11.2004
11:03
[2]

august_ [ Legionista ]

szkoda, ze nie powiedziales wczesniej, bo chetnie bym ci pomogl, ale musze wyjsc niestety.

sprawa polega na tym, ze po wpisaniu liczb do tablicy musisz zrobic cos takiego:

program costam;
a,b,i : integer;
uses Crt;
begin

// tu trzeba wpisac liczby do tablicy, ale chyba to umiesz nie?

a := array[0];
for i:=0 to 9 do
if array > a then a :=array;

// a potem mozna zrobic druga petle, ale wykluczajac juz pierwsza liczbe

b:=array[0];
for i:=0 to 9 do
begin
if b:=a then
begin
end;

else
begin
if array > b then b :=array;
end;

end.
..no cos takiego. Pisalem na sucho, wiec bledy napewno sa jakies. ale mam nadzieje ze Ci to pomoze.
pozdro!

23.11.2004
11:04
[3]

august_ [ Legionista ]

tam powinno byc oczywiscie:
if array > a then a :=array;

23.11.2004
11:06
[4]

august_ [ Legionista ]

hahahaha.... myslalem, ze nie napisalem i, a potraktowalo to jako kursywe!!! ehhh

if array[i] > a then a :=array[i];

if array[j] > a then a :=array[j]; /gdzie j to i :) ...ale zamieszalem....

23.11.2004
12:05
[5]

kastore [ Troll Slayer ]

uses Crt;
var tab : array[1..10] of Integer;
max1, max2, oldmax : Integer;
i : Integer;
begin
for i:=1 to 10 do begin
Write('Podaj liczbe');ReadLn(tab[ i ]);
end;
max1:=-10000;
max2:=-10000;
for i:=1 to 10 do begin
if tab[ i ]>max2 then begin
max2:=tab[ i ];
end;
if max2>max1 then begin
oldmax:=max1;
max1:=max2;
max2:=oldmax;
end;
end;
WriteLn('Pierwsza najwieksza niczba ',max1);
WriteLn('Druga najwieksza niczba ',max1);
Write('Naciśnij coś aby zakonczyc',max1);ReadLn;
end;

24.11.2004
12:52
[6]

kastore [ Troll Slayer ]

I jak tam?? dobrze było??

24.11.2004
17:48
[7]

august_ [ Legionista ]

wydaje mi sie, ze twoja metoda jest lepsza, powinna dzialac dobrze, ale nie mozna sobie zalozyc, ze max=-10000, a co jesli w tablicy beda element ponizej -10000. wystarczyloby wpisac do max1 i max2 wartosci tab[1].

24.11.2004
22:44
[8]

kastore [ Troll Slayer ]

No w sumie można, normalnie w Delfi używam funkcji Max() albo Min() do określania progów, ale nie pamietałem czy w czystym Pascalu to jest.

30.11.2004
09:36
[9]

Kiss [ Konsul ]

Czy ktos pomoze przerobic ten program na procedury? Chodzi o uzycie duzej ilosci procedur zamiast zwyklego kodu.

procedure CzekajNaEnter;
begin
writeln('Nacisnij [ENTER] aby kontynuowac');
readln;
end;



const
rozmiar=15;
type
TypElem=integer;
TypTab=array[1..rozmiar] of TypElem;
var
tab:TypTab;
i,n:integer;
indMin:integer;
pom:TypElem;

begin
writeln('Sortowanie przez wybor');
writeln('Wprowadz liczby do tablicy 1..', rozmiar);

for i:=1 to rozmiar do
begin
write('Element', i, ':');
readln(tab);
end;

writeln('Wprowadziles nastepujace liczby do tablicy');
for i:=1 to rozmiar do
begin
write(tab, ',');
end;
writeln;
CzekajNaEnter;


writeln('Sortuje');
for i:=1 to rozmiar do ‹przejdz przez kolejne pozycje tablicy›
begin ‹dla kazdej i-tej pozycji›
indMin:=i; ‹znajdz indeks najmniejszego element w tablicy od i..rozmiar›
for n:=i+1 to rozmiar do
begin
if tab[n]<tab[indMin] then
indMin:=n;
end;
pom:=tab; ‹zamien ze soba miejscami zelement najmniejszy i i-ty›
tab:=tab[indMin];
tab[indMin]:=pom;
end;

writeln('Tablica po posortowaniu');
for i:=1 to rozmiar do
begin
write(tab, ',');
end;
writeln;
CzekajNaEnter;
end.

30.11.2004
23:35
smile
[10]

captain_nemo [ Generaďż˝ ]

jedna mala uwaga : jezeli w programie odwolujesz sie do jakiejs tablicy (np zmienna tab:typtab jest z array-a typtab) to musisz odwolywac sie do jakiegos elementu tablicy np tab[1] (pierwsz element) lub tab -i-ty elementchyba ze dajesz to w procedurze lub funkcji....

ja to wszystko bym napisal tak:

program Kiss;
uses crt;

const
n=15;

type
tablica=array[1..n] of integer;


var
x:tablica; ‹deklaracja zmiennych globalnych,
tych staraj sie deklarowac jak najmniej›




procedure enter;
begin
writeln('Nacisnij Enter');
readln;
end;



procedure wypelnij(var x:tablica);
var
i:integer; ‹deklaracja zmiennych lokalnych›

begin
for i:=1 to n do
begin
Writeln('Podaj ',i,'-y element tablicy bedacy liczba calkowita');
readln(x);
end;
end;


procedure wyswietl(x:tablica);
var
i:integer ;
begin
for i:=1 to n do
writeln(i,'-y element tablicy rowna sie : ',x);
writeln(' ');
end;


procedure sortuj(var x:tablica); ‹sortowanie bombelkowe :) ›
var
i,j:integer; pom:integer;
begin
for i:=1 to n do
for j:=1 to n do
begin
if x > x[j] then
begin
pom:=x[j];
x[j]:=x;
x:=pom;
end;
end;
end;


begin
clrscr;
enter;
wypelnij(x);
writeln('Tablica w chwili obecnej wyglada nastepujaco');
writeln(' ');
wyswietl(x);
sortuj(x);
enter;
writeln('Tablica po sortowaniu wyglada tak');
writeln(' ');
wyswietl(x);
readln
end.



sorki ze te writeln-y sa w programie ale juz mi sie nie chcialo robic tego w procedurach :)



30.11.2004
23:38
[11]

captain_nemo [ Generaďż˝ ]


hmmm dziwne ale gol nie daje mi napisac x [ i ] (bez spacji) dlatego tam wszedzie gdzie masz w procedurach x dodaj jeszcze x [ i ]

30.11.2004
23:52
[12]

.Jacek 99. [ Senator ]

Jak juz napisal august_ , GOL traktuje [,i] (bez przecinka:) ) jako znacznik dla kursywy:)


Apropo Pascala mialem dzis kolokwium z niego. Na kartce papieru. bez dostepu do kompa:)
Ogolnie mowiac robilismy za kompilator:)

01.12.2004
00:01
[13]

captain_nemo [ Generaďż˝ ]

ja tez mialem dzis kolosa z Podstaw Programowania, ale mial on troche innych charakter. Zadania glownie opieraly sie na ocenie, poprawie, dopisaniu czegos do istniejacych programow :)

01.12.2004
00:19
smile
[14]

Esqualante [ Jyhad Baghadyr ]

Apropo kolokwium -> Jutro mam koło z asemblera, tez na kartkach ;]

01.12.2004
00:40
[15]

captain_nemo [ Generaďż˝ ]

jezyki niskopoziomowe... dopiero za 2 semestry zaczne zabawe z asemblerem :)

01.12.2004
00:42
[16]

czapi [ Pretorianin ]

Jak przy kolosach jestesmy to ja mam pojutrze z matlaba...ale naszczescie na kompach :P

01.12.2004
01:34
smile
[17]

ronn [ moralizator ]

To norma, ze na studiach pisze sie programy na kartkach. Tez tak mam, kolosy do teorii, laborki i projekty do praktyki.

© 2000-2025 GRY-OnLine S.A.