Zadatak se sastoji iz više povezanih celina koje obrađuju:


Ulazni podaci

Unosi se string:

s1

koji sadrži mala i velika slova engleske abecede i cifre i ima dužinu:  2 < N < 30

N se ne unosi posebno.

Primer:

aZ9ACTg

2.1 Formiranje niza ASCII vrednosti

Potrebno je:

  1. Za svaki karakter iz stringa odrediti ASCII vrednost.

  2. ASCII vrednost zapisati kao trocifren broj.

Primer:

'a' -> 097
'Z' -> 090
'9' -> 057

Dobijeni elementi smeštaju se u niz stringova:

brojeviNiz

Izmena elemenata na parnim indeksima

Za elemente koji se nalaze na:

0, 2, 4, ...

potrebno je:

  • između svake dve cifre umetnuti aritmetičku sredinu svih cifara,

  • sredinu zaokružiti na veći ceo broj.


Primer

ASCII: 097 

Cifre:  0, 9, 7 
Sredina: (0 + 9 + 7) / 3 = 5.33 Zaokruženo: 6 Novi string: 06967

Šta se ispisuje?

Prikazuju se samo elementi:

brojeviNiz[i]

gde je i paran

 

2.2 Provera pravilnosti stringa

String je PRAVILAN ako svi karakteri imaju istu učestalost.

Primer:

aabbcc

svako slovo se pojavljuje 2 puta.


Takođe je pravilan ako uklanjanjem samo jednog karaktera svi preostali karakteri imaju istu učestalost.

Primer:

aabbccc

uklanjanjem jednog:

c

dobija se:

aabbcc

Potrebno je ispisati:

String je pravilan

ili:

String nije pravilan

2.3 Formiranje gena

Potrebno je iz stringa s1  izdvojiti samo: A, C, T, G  zanemarujući veličinu slova.

Primer: Ako je:

aBcActG91

dobija se:

ACTG

Sva slova u novom stringu moraju biti velika.

Dobijeni string je:

s2

2.4 Stabilnost gena

Gen je stabilan ako:

1. Dužina je deljiva sa 4

i

2. Sva četiri slova:

A, C, T, G

imaju istu učestalost:

n / 4

Primer

Ako je:

ACTGACTG

dužina je:

8

svako slovo mora imati:

2

pojavljivanja.


Potrebno je ispisati:

  • da li je gen stabilan,

  • broj pojavljivanja svakog slova.

Primer:

A = 2
C = 2
T = 2
G = 2

2.5 Najkraći podniz za stabilizaciju gena

Potrebno je pronaći:

  • najmanji podniz koji se dodaje na kraj stringa,

  • tako da gen postane stabilan.


Ideja

Ako neka slova nedostaju:

A = 1
C = 3
T = 2
G = 0

potrebno je dodati karaktere koji nedostaju.


Rezultat mora biti:

  • sortiran rastuće po abecedi.

Primer:

AGG

Algoritam zadatka

Deo 2.1

Za svaki karakter:

  1. odrediti ASCII kod,

  2. pretvoriti ga u trocifren string,

  3. ako je indeks paran:

    • izračunati sredinu cifara,

    • umetnuti srednju vrednost između cifara.


Deo 2.2

  1. izbrojati pojavljivanja svih karaktera,

  2. proveriti:

    • da li su sva pojavljivanja jednaka,

    • ili uklanjanjem jednog karaktera postaju jednaka.


Deo 2.3

  1. prolazak kroz string,

  2. provera:

    • da li je karakter:

      A/C/T/G
      
  3. dodavanje u novi string velikim slovom.


Deo 2.4

  1. izbrojati:

    A, C, T, G
    
  2. proveriti:

    • dužina % 4 == 0,

    • sva pojavljivanja jednaka.


Deo 2.5

  1. pronaći maksimalnu učestalost,

  2. sva ostala slova dopuniti do tog maksimuma,

  3. formirati string za dodavanje,

  4. sortirati rastuće.


Pseudokod

Unesi s1

-----------------------------------
2.1 ASCII niz
-----------------------------------

Za svaki karakter iz s1

    ascii = ASCII vrednost karaktera

    pretvori ascii u trocifren string

    smesti u brojeviNiz

Za svaki paran indeks

    uzmi tri cifre

    izračunaj sredinu

    zaokruži na veći broj

    formiraj novi string

    ispiši ga

-----------------------------------
2.2 Pravilnost stringa
-----------------------------------

Izbroj pojavljivanja svih karaktera

Ako su sva pojavljivanja jednaka
    string je pravilan

Inače

    pokušaj uklanjanje jednog karaktera

    ako tada sva pojavljivanja postanu jednaka
        string je pravilan
    inače
        string nije pravilan

-----------------------------------
2.3 Formiranje gena
-----------------------------------

s2 = ""

Za svaki karakter iz s1

    pretvori u veliko slovo

    ako je:
        A ili C ili T ili G

        dodaj u s2

Prikaži s2

-----------------------------------
2.4 Stabilnost gena
-----------------------------------

Izbroj:
    A
    C
    T
    G

Ako je:
    dužina deljiva sa 4
    i sva pojavljivanja jednaka

    gen je stabilan

Inače
    gen nije stabilan

Prikaži broj pojavljivanja

-----------------------------------
2.5 Dodavanje podniza
-----------------------------------

Pronađi najveću učestalost

Za svako slovo:
    A, C, T, G

    dodaj onoliko karaktera
    koliko nedostaje do maksimuma

Sortiraj string

Prikaži rezultat

Last modified: Wednesday, 13 May 2026, 9:40 AM