Jump to content

Archived

This topic is now archived and is closed to further replies.

cichy024

Pomoc w programie w pascalu

Recommended Posts

Witam proszę o pomoc tak jak w temacie.

Treść zadań

1. Oblicz i wyświetl średnią wieku osób w pliku mamy.txt (pierwsza liczba to nr osoby następnie jest imię a później wiek).

2. Oblicz ile jest dziewczynek a ilu chłopców w noworodki.txt

Link z plikami:

http://rapidshare.com/files/397554371/Pasc...adania.rar.html

Chodzi mi o ogólne zarysy programu a szczególnie jak z pliku tekstowego wyciągnąć sam wiek oraz rodzaj płci. Proszę o szybką pomoc.

Link to comment
Share on other sites

W obu przypadkach bedzie podobnie:

1. wczytujesz linia po linii z pliku txt, tu masz, jak to zrobic: http://www.ks-ekspert.pl/artykuly/programo...c-3.aspx?page=4

2. z kazdej wczytanej linii wyciagnac odpowiednie dane (w pierwszym przypadku zawartosc po drugiej spacji, w drugim - po pierwszej: c - dziewczynka, s - chlopiec), tu masz jak to zrobic: http://www.programowanie.virtual.avx.pl/index.php?page=1060

Link to comment
Share on other sites

Dzięki za poradniki z drugim zadaniem nie będzie problemu jednak nie wiem w 1 zad jak określić pętle żeby wyciągała tylko wiek ponieważ nie jest on zawsze na tej samej pozycji. Potrzebuję się dowiedzieć jak określić żeby czytał wartość po 2 spacji.

Link to comment
Share on other sites

Wczytujesz cala linie (zdaje sie to bylo readln()), potem ustawiasz licznik spacji na 0 i sprawdzasz petla, czy dany znak w ciagu jest spacja (czyli jest rowny ze znakiem ' '), jesli tak, to zwiekszasz licznik o 1. W momencie, kiedy petla natrafi na druga spacje, licznik zostanie zwiekszony do 2 i nastepne znaki beda znakami wieku. Robisz wiec w tej petli warunek if(licznik_spacji = 2) i w nim dokonujesz tego sumowania wieku. Potem tylko dzielisz te sume przez sume wszystkich matek i masz szukana wartosc ;-)

Link to comment
Share on other sites

Próbowałem zrobić 2 zadanie jednak coś nie gra proszę o sprawdzenie programu i podanie przyczyny

program zad2;

var

ld,lch:integer;

i,sapcaj:byte;

t1:string;

f:text;

begin

ld:=0;

lch:=0;

assign(f,' ścieka dostępu do pliku noworodki);

reset(f);

while not eof(f) do

begin

while not eoln(f) do

begin

i:=length(t1);

begin

if t1:=' ' then

spacja:=1;

if spacja:=1 do

begin

i:=spacja+1;

if t1:='c' then lch:=lch+1 else ld:=ld+1;

end;

end;

end;

writeln('Liczba dziewczyn= ',ld);

writeln('Liczba chłopców= ',lch);

readln;

end.

Link to comment
Share on other sites

W instrukcjach warunkowych powinno być '=' zamiast ':=', chyba że to też błąd przy przepisywaniu. Napisz dokładniej co ci nie działa: nie kompiluje się, daje zły wynik, wyrzuca jakiś wyjątek?

Link to comment
Share on other sites



  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...