logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Program w Pascalu: sortowanie rekordów i wyświetlanie danych osób

kloncd 24 Maj 2005 13:53 1536 6
REKLAMA
  • #1 1520792
    kloncd
    Poziom 11  
    Posty: 78
    Ocena: 5
    Mam prośbę do was. Potrzebuje napisać program w PASCALU. Ma to być oparte na RECORDACH. np Maja byc 4 osoby:
    IMIE NAZWISKO PESEL NIP
    z klawiatury mam wpsiać poszczegulne elementy, wyswietlić to równo w tablicy, a nastepnie wyszukac wedlug wybranego kryterium (wg IMIENA, NAZWISKA, PESELA, NIPu) metoda bombelkowa rosnąco i wyswietlic na ekran. Potrzebuje wskazuwek albo calego programu zebym mogl go przeanalizowac bo zrobilem wpisywanie rekordow ale mam problem z rownym wyswietleniem ich na ekranie a wyszukiwania nie umiem zrobic.
  • REKLAMA
  • #2 1520942
    ed-ek
    Poziom 34  
    Posty: 1814
    Pomógł: 275
    Ocena: 42
    Załącz kod który napisałeś,łatwiej jest poprawiać i dopisywać niż pisać całość.
  • REKLAMA
  • #3 1521093
    kloszi
    Poziom 21  
    Posty: 547
    Pomógł: 34
    Ocena: 88
    Coraz częściej widzę na forum: „Potrzebuję napisać program z...." Osobiście uważam, że forum raczej służy do rozwiązywania problemów a nie pisania gotowych programów na jakieś zaliczeni czy zajęcia. Jak całkowicie się nie znacie na danym języku programowania to trzeba się poduczyć (internet, książki, korki...), albo zrezygnujcie ze szkoły jak nie macie ochoty się ogóle uczyć i liczycie że kto inny (w dodatku za darmo) będzie za was pisał programy.
  • #4 1521440
    Łuk_F
    Poziom 17  
    Posty: 257
    Pomógł: 34
    Ocena: 12
    Tobie chodzi pewnie o zapisywanie w tablicy rekordowej. Oto mój pomysł na ten program.
    Mam nadzieje że o to ci chodziło.
    Pesel i nip są zawsze takiej samej wielkości więc ich nie badam.
    Załączniki:
    • POM.rar (484 Bajtów) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #5 1537424
    kloncd
    Poziom 11  
    Posty: 78
    Ocena: 5
    program rekordy;

    uses crt;
    const x=3;
    type
    dane = record
    imie :string[30];
    nazwisko : string[30];
    pesel : longint;
    nip : longint
    ;
    end;

    var
    i: integer;
    licznik, licznik2:integer;
    tablica : array [1..x] of dane;
    pomocnicza:dane;


    begin
    clrscr;
    licznik:=1;
    for i:=1 to x do
    begin
    //writeln ('Podaj IMIE ', licznik);
    //readln (tablica[i].imie);
    // writeln ('Podaj Nazwisko ', licznik );
    // readln (tablica[i].nazwisko);
    writeln ('Podaj NIP ', licznik );
    readln (tablica[i].nip);
    // writeln ('Podaj Pesel ', licznik);
    // readln (tablica[i].pesel);
    licznik:=licznik+1;

    end;
    clrscr;
    writeln ('WPISALES NASTEPUJACE DANE:');
    writeln;
    writeln;
    licznik2:=0;
    for i:=1 to x do
    begin
    licznik2:=licznik2+1;
    // writeln(licznik2, ' ', tablica[i].imie, ' ', tablica[i].nazwisko, ' ', tablica[i].pesel, ' ', tablica[i].nip );
    writeln(licznik2, ' ',tablica[i].nip);

    end;

    readln;
    // sortowanie
    for i:=1 to x-1 do
    if tablica[i].nip > tablica[i+1].nip then
    begin
    pomocnicza:=tablica[i];
    tablica[i]:=tablica[i+1];
    tablica[i+1]:=pomocnicza;

    end;
    write ('posortowane wedlug nipa');
    writeln (tablica[i].nip);
    readln;

    readln;



    end.


    PROGRAM DZIALA DO MOMENTU WPISYWANIA DO REKORDU A JESLI CHODZI JUZ O SAMO POSORTOWANIE wg NIP od najwiekszego do najmniejszego to nic nie robi (a ma sortowac metoda bombelkowa i wyswietlic). JAK TO ZROBIC??
  • REKLAMA
  • Pomocny post
    #6 1539374
    mun
    Poziom 16  
    Posty: 73
    Pomógł: 24
    Ocena: 4
    Witam,

    Poniżej końcówka programu:
    // sortowanie
    repeat
    Pom:=False;
    for i:=1 to x-1 do
    if tablica[i+1].nip < Tablica[i].nip then
    begin
    Pom:=True;
    pomocnicza:=tablica[i+1];
    tablica[i+1]:=tablica[i];
    tablica[i]:=pomocnicza;
    end;
    until Pom=False;

    writeln ('posortowane wedlug nipa ');
    for i:=1 to x do
    writeln (tablica[i].nip);
    readln;

    end.

    Pozdrawiam
  • #7 2485253
    511311815
    Poziom 14  
    Posty: 110
    Pomógł: 3
    Ocena: 15
    polecam www.4programmers.net albo gogle szukaj w programowaniu pascala albo delphi przecierz sa oner bardzo podobne

Podsumowanie tematu

✨ Dyskusja dotyczy napisania programu w języku Pascal wykorzystującego rekordy do przechowywania danych czterech osób (imię, nazwisko, PESEL, NIP). Program ma umożliwiać wprowadzanie danych z klawiatury, wyświetlanie ich w wyrównanej tabeli oraz sortowanie rosnące według wybranego kryterium (imię, nazwisko, PESEL, NIP) metodą sortowania bąbelkowego. Użytkownik zgłasza problem z wyrównanym wyświetlaniem danych oraz implementacją sortowania i wyszukiwania. W odpowiedziach pojawiły się sugestie dołączenia kodu źródłowego w celu łatwiejszej pomocy oraz krytyka dotycząca oczekiwania gotowych rozwiązań. Przykładowy fragment kodu pokazuje definicję rekordu, tablicę rekordów, wczytywanie danych oraz próbę implementacji sortowania bąbelkowego po polu NIP. Wskazano również, że PESEL i NIP mają stałą długość, co może ułatwić ich obsługę. Dodatkowo zasugerowano korzystanie z zasobów internetowych, takich jak www.4programmers.net, oraz wyszukiwanie informacji o Pascalu i Delphi, które są językami o podobnej składni.
Wygenerowane przez model językowy.
REKLAMA