PASCAL elementy tablic

Krzysztaf
2011-01-21 14:31
Krzysztaf
0

Mam do stworzenia 2 pogramy:
Stworzyć tablicę jednowymiarową 50-elementową, uzupełnić ją elementami losowymi i wyświetlić na ekranie. Następnie umieścić liczy parzyste i nieparzyste w oddzielnych tablicach i wyświetlić obie.
Stworzyć tablicę jednowymiarową 50-elementową, uzupełnić ją elementami losowymi i wyświetlić na ekranie. Następnie wyświetlić elementy tablicy większe od ostatniego elementu tej tablicy.

Stworzyć i wypisać tablicę umiem, ale mam problem z drugą częścią obu programów. Czy mógłby mi ktoś pomóc?

Pozostało 580 znaków

2011-01-21 14:46
Moderator

Rejestracja: 12 lat temu

Ostatnio: 56 sekund temu

Lokalizacja: Wrocław

0

Proste:
N = ostatni element tablicy
Pseudokod:

For I=0 to 50 do
 jeżeli tablica[i] > n to
  wypisz tablica[i]

edytowany 1x, ostatnio: Patryk27, 2011-01-21 14:47

Pozostało 580 znaków

2011-01-21 16:22
Moderator

Rejestracja: 11 lat temu

Ostatnio: 1 tydzień temu

Lokalizacja: Szczecin

0

Moją odpowiedź dałem już w temacie, który trafił do kosza - czyli jest on pod adresem:
http://4programmers.net/Forum/Kosz/173194-pascal_elementy_tablic a 3 zadanie to w
sumie też na początku nie miałem pomyslu jak określić uniwersalnie przekątne, lecz tak
z ciekawości wpisałem w google: delphi przekątne i w pierwszym linku jest rozwiązanie
tylko że dla tablicy dynamicznej indeksowanej od zera. Wystarczy sobie poprawić, więc
jak widzisz wystarczy chwile samodzielnie poszukać. I mi ta wiedza, przyda się pewnie
w jakimś programie kiedyś, Ty odwalisz gotowce, więc pewnie niewiele się nauczysz ;/

program krzysztaf_zad3;

{$APPTYPE CONSOLE}

const
  Max = 3;
var
  I, J : Byte;
  Tablica : array[1..Max, 1..Max] of integer;
  SumaPrzekatnej1, SumaPrzekatnej2 : integer;
begin
  Randomize;
  SumaPrzekatnej1 := 0;
  SumaPrzekatnej2 := 0;
  for I := Low(Tablica) to High(Tablica) do
    for J := Low(Tablica[I]) to High(Tablica[I]) do
    begin
      Tablica[I][J] := Random(10);
      Write(' ', Tablica[I][J]);
      if J mod Max = 0 then
        Writeln;
    end;
  for I := 1 to Max do
  begin
    SumaPrzekatnej1 := SumaPrzekatnej1 + Tablica[I][I];
    SumaPrzekatnej2 := SumaPrzekatnej2 + Tablica[Max - I + 1][I];
  end;
  Writeln;
  Writeln('Suma przekatnej numer 1 wynosi: ', SumaPrzekatnej1);
  Writeln('Suma przekatnej numer 2 wynosi: ', SumaPrzekatnej2);
  Readln;
end.

Pozostało 580 znaków

2011-01-21 16:43
Moderator

Rejestracja: 12 lat temu

Ostatnio: 56 sekund temu

Lokalizacja: Wrocław

0

Nudzę się, więc:
Zadanie 1:

Program Zadanie1;
Const Max = 1000;
Var Main                  : Array[1..50] Of Integer;
    Parzyste, Nieparzyste : Array[1..25] Of Integer;
    I, P, nP              : Integer;
Begin
 Randomize;
 P   := 1;
 nP := 1;
 WriteLn('Tablica:');
 WriteLn;
 For I := 1 To 50 Do
 Begin
  Main[i] := Random(1000);
  WriteLn(Main[i]);
 End;
 For I := 1 To 50 Do
  if (Main[i] Mod 2) = 0 Then
  Begin
   Parzyste[p] := Main[i];
   Inc(P);
  End Else
  Begin
   Nieparzyste[nP] := Main[i];
   Inc(nP);
  End;
 WriteLn('Parzyste:');
 WriteLn;
 For I := 1 to 25 Do
  WriteLn(Parzyste[i]);
 WriteLn('Nieparzyste:');
 For I := 1 To 25 Do
  WriteLn(Nieparzyste[i]);
End.

Zadanie 2:

Program Zadanie2;
Const Max = 1000;
Var Main: Array[1..50] Of Integer;
Begin
 Randomize;
 P   := 1;
 nP := 1;
 WriteLn('Tablica:');
 WriteLn;
 For I := 1 To 50 Do
 Begin
  Main[i] := Random(1000);
  WriteLn(Main[i]);
 End;
 WriteLn('Elementy spelniajace wartosc LICZBA ZE ZBIORU > OSTATNIA LICZBA ZE ZBIORU');
 For I := 1 To 50 Do
  if (Main[i] > Main[High(Main)]) Then
   WriteLn(Main[i]);
End.

Pisane bez kompilatora.


Pozostało 580 znaków

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