SHARE
TWEET

Untitled

a guest Mar 19th, 2019 58 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. /*Zadatak 2:
  3. Napisati program koji omogućava unos karaktera sve dok se ne popuni niz od 30 elemenata prema sljedećim pravilima:
  4. ·         Elementi niza mogu biti samo velika slova i brojevi.
  5. ·         Svaki naredni element u nizu treba da bude abecedno poslije prethodnog, odnosno u slučaju broja, dalje od nule na brojnoj osi (voditi računa da se međusobno porede samo slova i samo brojevi).
  6. ·         Ukupna suma ASCII kodova unesenih elemenata ne smije biti veća od 1000.
  7. Izlaz iz programa treba da budu dobiveni elementi niza. Testni primjer je urađen za niz od 5 elemenata.
  8.  
  9.  
  10. Unesite veliko slovo ili broj: D
  11. Unesite veliko slovo ili broj: 3
  12. Unesite veliko slovo ili broj: A
  13. Unesite veliko slovo ili broj: F
  14. Unesite veliko slovo ili broj: 0
  15. Unesite veliko slovo ili broj: 4
  16. Unesite veliko slovo ili broj: R
  17.  
  18. */
  19.  
  20. // charovi 65 - 90
  21. // brojevi 48 - 57
  22. #include <iostream>
  23.  
  24. using namespace std;
  25.  
  26. int v=5;
  27.  
  28.  
  29. int toA(char num){
  30.     return (int)num;
  31. }
  32.  
  33.  void unos(char niz[],int v){
  34.    
  35.     int asciiSuma =0;
  36.     char zadnjiChar =toA('@'), zadnjiInt =toA('/'),temp;
  37.    
  38.     for(int i=0; i<v; i++){
  39.         do{
  40.             cout << "Unesite niz[" << i << "]: ";
  41.             cin >> temp;
  42.            
  43.         }while((toA(temp)<65 || toA(temp)>90) && (toA(temp)<48 || toA(temp)>57) || asciiSuma+toA(temp)>1000);
  44.        
  45.         // charovi 65 - 90
  46.         // brojevi 48 - 57
  47.        
  48.         if (toA(temp) >= 65 && toA(temp)<=90 && toA(temp) > toA(zadnjiChar)){
  49.             niz[i] = temp;
  50.             zadnjiChar = niz[i];
  51.         }
  52.         else if ((toA(temp)>=48 && toA(temp) <=57) && toA(temp) > toA(zadnjiInt)){
  53.                
  54.                 niz[i] = temp;
  55.                 zadnjiInt = niz[i];
  56.             }else{
  57.                 i--;
  58.             }
  59.          
  60.            
  61.        
  62.        
  63.        
  64.        
  65.     }
  66.    
  67.    
  68. }
  69.  
  70. void ispis(char niz[], int v){
  71.    
  72.     for (int i=0; i<v; i++){
  73.         if (toA(niz[i]) >= 65 && toA(niz[i])<=90)
  74.             cout << niz[i] << endl;
  75.         else {
  76.             int ia = (int)niz[i];
  77.             cout << niz[i] << endl;
  78.         }
  79.     }
  80. }
  81.  
  82.  
  83. int main()
  84. {
  85.     char niz[v];
  86.     unos(niz,v);
  87.     ispis(niz,v);
  88.    
  89.    
  90.    
  91.     return 0;
  92. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top