Pascal, jak zrobić te zadanie?
Moderator: Moderatorzy
- Tomek7
- Stary wyga bezprzewodowy
- Posty: 704
- Rejestracja: 2008-04-25, 18:31
- Lokalizacja: EŁK
Pascal, jak zrobić te zadanie?
Hey, mam problem otóż muszę napisać program na zaliczenie na piątek.Treść wygląda tak.Napisz program który znajdzie w tablicy dwuwymiarowej znaków nr wiersza w którym suma elementów jest większa od 'c'.kompletnie nie wiem jak sie zabrać.
Suma wiersza to mniej więcej coś takiego sobie zrobiłem.Natomiast nie rozumiem funkcji ord('c') = 99
petla od 1 do ilość wierszy //zmienna i
suma_wiersza=0
petla od 1 do ilość kolumn //zmienna j
suma_wiersza=suma_wiersza+wartość znaku z tablicy[i,j]
Suma wiersza to mniej więcej coś takiego sobie zrobiłem.Natomiast nie rozumiem funkcji ord('c') = 99
petla od 1 do ilość wierszy //zmienna i
suma_wiersza=0
petla od 1 do ilość kolumn //zmienna j
suma_wiersza=suma_wiersza+wartość znaku z tablicy[i,j]
-
- Mistrz bezprzewodowy
- Posty: 1332
- Rejestracja: 2009-07-05, 16:15
- Lokalizacja: Warszawa
Re: Pascal, jak zrobić te zadanie?
Ord(): http://turbopascal.skryptoteka.pl/14.html
[ Komentarz dodany przez: krystianb: 2011-04-05, 22:26 ]
Wystarczy wpisać http:// zamiast www.
[ Komentarz dodany przez: krystianb: 2011-04-05, 22:26 ]
Wystarczy wpisać http:// zamiast www.
Ostatnio zmieniony 2011-04-05, 21:25 przez ryba825, łącznie zmieniany 1 raz.
- Tomek7
- Stary wyga bezprzewodowy
- Posty: 704
- Rejestracja: 2008-04-25, 18:31
- Lokalizacja: EŁK
Re: Pascal, jak zrobić te zadanie?
Nie działa link 

-
- Mistrz bezprzewodowy
- Posty: 1332
- Rejestracja: 2009-07-05, 16:15
- Lokalizacja: Warszawa
Re: Pascal, jak zrobić te zadanie?
Irytujące... "Www" sprawia, że nie działa link.
turbopascal.skryptoteka.pl/14.html
Daj jakieś szczegóły do tego zadania, bo jest wieloznaczne.

Daj jakieś szczegóły do tego zadania, bo jest wieloznaczne.
- Tomek7
- Stary wyga bezprzewodowy
- Posty: 704
- Rejestracja: 2008-04-25, 18:31
- Lokalizacja: EŁK
Re: Pascal, jak zrobić te zadanie?
Dlaczego wieloznaczne?Mamy tablicę dwuwymiarową znaków ASCII, muszę znaleźć taki wiersz w którym suma jego elementów będzie większa od ord('c') czyli 99.Trzeba po pierwsze znaleźć wiersze które są większe od ord c a potem wybrać największy z nich.
-
- Mistrz bezprzewodowy
- Posty: 1332
- Rejestracja: 2009-07-05, 16:15
- Lokalizacja: Warszawa
Re: Pascal, jak zrobić te zadanie?
Jeżeli w Pascalu w tablicy na końcu ciągu znaków jest "\0", to można zliczać elementy do wystąpienia tego znaku, a potem dać instrukcje warunkową sprawdzającą czy ilość znaków z podanego wiersza jest większa do 99, jeśli tak to przypisać nr wiersza do zmiennej oznaczającej maksymalną ilość znaków, jeśli nie to kontynuować działa programu.
- Tomek7
- Stary wyga bezprzewodowy
- Posty: 704
- Rejestracja: 2008-04-25, 18:31
- Lokalizacja: EŁK
Re: Pascal, jak zrobić te zadanie?
Kod: Zaznacz cały
uses crt;
const iw=5;ik=4;
var i,j,suma,liczba:integer;
tab:array[1..iw,1..ik]of integer;
begin
clrscr;
writeln;writeln;writeln('podaj liczbe okreslajaca sume liczb w wierszu ');
readln(liczba);
writeln;writeln;writeln('WYLOSOWANE LICZBY');writeln;
randomize;
for i:=1 to iw do
for j:=1 to ik do
begin
tab[i,j]:=random(10);
write(tab[i,j],' ') ;
if j=ik then writeln;
end;
for i:=1 to iw do
begin suma:=0;
for j:=1 to ik do
begin
suma:=suma+tab[i,j];
if (suma>liczba)and(j=ik) then
writeln('w wierszu ',i,' suma liczb wiersza > ',liczba);
end;end;
writeln;writeln;writeln('press any key');
readkey;
End.
- Jo_gurt
- Guru bezprzewodowy
- Posty: 16330
- Rejestracja: 2007-11-16, 21:49
- Lokalizacja: Lublin
Re: Pascal, jak zrobić te zadanie?
Miała być tablica znaków, a ty masz liczb całkowitych.
Miała być suma większa od 99, a ty porównujesz z czymś wczytanym.
Na koniec by się przydało wypisać numery wierszy, których suma jest większa niż 99.
W ogóle jakbyś inne zadanie robił
Robiąc według niezbyt jasnego zadania z pierwszego postu wychodzi coś takiego, ale to 99 jest raczej słabo dobrane. Mała szansa, że suma będzie mniejsza od 99.
Na marginesie - pisz bardziej przejrzysty kod, ułatwi ci to sprawę. Np pisanie "end;end;" łatwo doprowadzi do pomyłki.
Miała być suma większa od 99, a ty porównujesz z czymś wczytanym.
Na koniec by się przydało wypisać numery wierszy, których suma jest większa niż 99.
W ogóle jakbyś inne zadanie robił

Kod: Zaznacz cały
uses crt;
const iw = 5; ik = 5;
var i, j, suma, liczba : integer;
tab : array[1..iw, 1..ik]of char;
begin
clrscr;
writeln; writeln;
writeln('WYLOSOWANE ZNAKI');
writeln;
randomize;
for i := 1 to iw do
begin
for j := 1 to ik do
begin
tab[i, j] := char(random(255));
write(tab[i,j], ' ') ;
end;
writeln;
end;
writeln;
write('Numery wierszy z suma wieksza od 99: ');
for i:=1 to iw do
begin suma:=0;
for j:=1 to ik do
begin
suma:=suma+ord(tab[i,j]);
end;
if (suma > 99) then
write(i, ' ');
end;
writeln; writeln;
writeln('press any key');
readkey;
End.
Na marginesie - pisz bardziej przejrzysty kod, ułatwi ci to sprawę. Np pisanie "end;end;" łatwo doprowadzi do pomyłki.
- Tomek7
- Stary wyga bezprzewodowy
- Posty: 704
- Rejestracja: 2008-04-25, 18:31
- Lokalizacja: EŁK
Re: Pascal, jak zrobić te zadanie?
Dzięki Jo_gurt jesteś wielki 
