Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[C++] Schematy blokowe - średnia i odwracanie kolejności

ksH 14 Lis 2010 13:24 4980 5
  • #1 14 Lis 2010 13:24
    ksH
    Poziom 2  

    witam mam do napisania 2 schematy blokowe i nie wiem jak sie do tego zabrać.

    zad1. Napisać schemat blokowy programu
    do wyznaczania średniej elementów n-elementowej tablicy liczb całkowitych.
    zad2. napisać schemat blokowy programu do odwracanai kolejności elementów zapisanych w n-elementowej tablicy liczb całkowitych. Element pierwszy po wykonaniu algorytmu bedzie na ostatnim miejscu w tablicy, drugi na przedostatnim itd.

    0 5
  • Pomocny post
    #2 14 Lis 2010 13:42
    Matejkos
    Poziom 20  

    Czyli że chodzi o algorytm jeśli chodzi o 1 zadanie to jest ono proste
    Należy zainicjować zmienną licząco liczby oraz sumującą a następnie dodawać kolejne wartości z tablicy i inkrementować zmienną liczącą kiedy nie będzie już więcej liczb dzielisz sumę przez liczbę elementów.

    Jeśli chodzi o 2 zadanie to odczytujesz elementy z tablicy i zapisujesz je do 2 tablicy oraz sprawdzasz ilość elementów a następnie odczytujesz od końca tablice przejściową aż do ostatniego elementu i zapisujesz do tablicy 1.

    Pozdrawiam Matejkos

    0
  • #3 14 Lis 2010 15:21
    ksH
    Poziom 2  

    Nie wiem, czy tak to powinny wyglądać oba zadania.

    Zadanie 1.
    [C++] Schematy blokowe - średnia i odwracanie kolejności
    Zadanie 2.
    [C++] Schematy blokowe - średnia i odwracanie kolejności


    Obrazki dodajemy za pomocą przycisku Dodaj obrazek.
    Post poprawiłem. - arnoldziq

    1
  • #4 14 Lis 2010 18:53
    arnoldziq
    Moderator Programowanie

    Jedno pytanie : co ma tytułowe C++, wspólnego z tymi schematami ?
    Bo składnia w tych schematach, pochodzi w 100% z Pascal-a.

    0
  • #5 14 Lis 2010 22:37
    ksH
    Poziom 2  

    robilismy to na zajęciach gdzie mamy c++
    1 zadanie wydaje mi sie ze dobrze z 2 mam problem jak zrobić zeby było tak
    t[1] = 1
    t[2] = 2
    t[3] = 3
    to po wykonaniu się algorytmu powinno być
    t[1] = 3
    t[2] = 2
    t[3] = 1

    a nie jak jest w kodzie

    0
  • #6 15 Lis 2010 00:48
    arnoldziq
    Moderator Programowanie

    Kolejne kroki postępowania są następujące:
    1. Określasz rozmiar tablicy t jako n. ( t[1..n] )
    2. Ustawiasz zmienną pomocniczą x:=1.
    3. Wprowadzasz do tablicy element x (t[x]:=element;)
    4. Sprawdzasz czy x=n , jeżeli nie , zwiększa x=x+1 i powrót do punktu 3
    5. x=n oznacza że wszystkie elementy zostały wprowadzone
    6. Obliczasz wartość zmiennej pomocniczej y, równą części całkowitej n/2 (y:= n div 2)
    7. Ustawiasz x:=1
    8. Do zmiennej pomocniczej tmp pobierasz wartość n-tego elementu tablicy (tmp:=t[n - (x-1)]
    9. Do tego samego elementu zapisujesz wartość tablicy t[x] ( t[n - (x-1)] := t[x] )
    10. Do t[x] zapisujesz zmienną tmp ( t[x]:=tmp )
    11. Zwiększasz x o 1 ( x:=x+1 )
    12. Czy x=y, jezeli nie - powrót do pkt. 8
    13. Jeżeli tak, to elementy są zamienione.

    W Pascal-u, procedura zamiany wyglądałaby tak :

    Code:
    for x:=1 to (n div 2) do
    
     begin
      tmp := t[n-(x-1)];
      t[n-(x-1)] := t[x];
      t[x] := tmp;
     end;

    0