lista,Delphi, problem z przedziałem Random

0

Wczytywanie 4 liczb a,b,c,d oraz wprowadzenie do listy a elementow losowych z przedzialu <B;C> Lista powinna byc uporzadkowana rosnąca
Wypisać zawartość na ekranie Sprawdz czy element D wystepuje w liście i wyswietl informacje o tym

Napisałem kilka funckji, ale jakoś nie bardzo to działa w programie mogłby ktoś podrzucić gotowy program albo wytknąc błedy?

function Dodaj(lista:PElem; x:integer):PElem;     //Dodawanie do listy bez sortowania
var q:PElem;
begin
  New(q);
  q^.x := x;
  q^.nast := lista;
  Dodaj := q;
end; 
 function Wczytaj:PElem;
var lista:PElem; a,b,c,di:integer;
begin
 lista := nil;       
{Wprowadzamy a,b,c,d}  //nie wiem co zrobic z tym a i b, i jak skleic to do kupy, proszę o pomoc
  repeat
    lista := Dodaj(lista, random(c-b +b));
    
  until c-b+b >= c;
  Wczytaj := lista;
procedure Wypisz2(lista:PElem);    //Wypisywanie za pomoca rekurencji
begin
  if lista <> nil then
  begin
    Wypisz2(lista^.nast);
  
  end;
end;
 
 procedure Usun(var lista:PElem);
var q:PElem;
begin
  while lista <> nil do
  begin
    q := lista^.nast;
    Dispose(lista);
    lista := q;
  end;
end;

var poc:PElem;
begin
  randomize;
  poc := Wczytaj;
  Wypisz2(poc);  //Wypisz lub wypisz2
  Usun(poc);
  Readln;
end.
0

wytknąc błedy?

Twoim błędem jest to że nie podałeś co to dokładnie za błędy.

Użyj debuggera aby sprawdzić na czym polega błąd i go naprawić. Jak nie wiesz z czym to się ja to wygugluj.

1
p.lech553 napisał(a)

{...} jakoś nie bardzo to działa w programie {...}

czy jak jedziesz z samochodem do mechanika to mowisz "jakos nie bardzo działa"?
czy idąc z bolącym sercem do lekarza powiesz "jakoś nie bardzo się czuje"?
pisz konkrety, co nie działa, jak się objawia...
ludzie tak ciągle robią, albo napiszą "wyrzuca błąd". i weź się człowieku później domyślaj jaki to błąd, bo pytającemu się nie chciało napisać.

z góry uprzedzam:
jeśli chcesz żeby ktoś na tym forum napisał program za Ciebie - zapomnij.
albo piszesz w dziale Praca i za jakąś opłatą ktoś odwala za Ciebie całą robotę.
albo faktycznie piszesz sam (i masz świadomość tego co robisz bo znasz podstawy programowania) i jeśli coś nie działa to możemy Ci pomoc w rozwiązaniu ale tylko wtedy gdy zapytasz o KONKRETNY problem. Jeśli nie chcesz płacić a nie znasz podstaw programowania to się ich naucz.

Ponieważ to Twoj pierwszy post na forum, to jeszcze jedna, bardzo ważna sprawa:
http://4programmers.net/Forum/Delphi_Pascal/39079-Zanim_cos_napiszesz_-_CZYTAJ_TO

0
lista := Dodaj(lista, random(c-b +b));

czy to:

random(c-b + b)

ma w ogóle jakiś sens? Wynik z tej operacji i tak zawsze będzie równy c, więc te obliczenia nie mają raczej sensu...

Jeśli nie bardzo rozumiesz generator liczb pseudolosowych - polecam zapoznać się z artykułem na tym forum - funkcja Random();

1 użytkowników online, w tym zalogowanych: 0, gości: 1