Programiranje

QBASIC rjesenje tezeg zadatka

kenomax pon 4.3.2019 10:25

Pozz, treba mi ovaj zadatak uradjen u QBASIC-u hitno:

Napisati program koji ce sa tastature unositi cijele brojeve sve dok se ne unese 0 (bice unesena najmanje 3 broja). Program zatim na ekran treba isprintati koliko ima clanova niza koji su za jedan veci od prethodnog, a za jedan manji od sljedeceg clana niza.

Npr.

2

5

8

9

10

11

4

5

6

0

 

Na ekranu treba ispisati:

3

 

ihush pon 4.3.2019 10:31

-hitno? .. ok, print 3.

ali to nije program, programiranje, učenje.. i to nije rezultat algoritma nego tvoja želja.

- Stvari na forumu funkcioniraju drugačije. Imaš nešto, neko znanje, početak, kod.. i dobiješ pomoć/objašnjenje kad zapneš. Tako dobiješ znanje, rješenje, ocjenu ili goto prvi red.. :)

 

 

edit: :))

ipak, početnički loš primjer, ali radi traženo..

 

REM ****************
CLS
REM ****************
DIM x(100) AS SINGLE
DIM i AS SINGLE
DIM a(3) AS SINGLE
DIM br AS SINGLE
REM ****************
PRINT "unesi brojeve, nula za kraj ili 100 unosa"
REM ****************
FOR n = 1 TO 100
  INPUT i
  IF i = 0 GOTO krajunosa
  x(n) = i
NEXT n
  REM n na izlazu petlje je 101 ako nije prekinuto nulom
REM ****************

krajunosa:
  REM ovisno o izlasku iz petlje n je 101 ili mani broj
  REM privremeno koristimo i za izraźun fornext limita
  REM umanjenog za 3 od max 100..
  REM jer je na izlazu uve†an za jedan i u petlji dodajemo +1+2
  i = n - 3
  br = 0

FOR n = 1 TO i
    a(0) = x(n + 0)
    a(1) = x(n + 1)
    a(2) = x(n + 2)
    IF a(0) + 1 = a(1) THEN
      IF a(1) + 1 = a(2) THEN
        br = br + 1
      END IF
    END IF
    REM ovo je glavni uvjet-zadatak, ako su tri broja u nizu za jeda razlike..
    REM tad brojźanik br uve†avamo za jedan.
    REM Mo§e na razne naźine, ovo je samo jedan od mogu†ih..
    NEXT n
PRINT br
IF br = 0 THEN PRINT "ni jedan unos nije u nizu n, n+1, n+2"