daily pastebin goal
58%
SHARE
TWEET

Untitled

a guest Mar 19th, 2019 65 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 ='@', zadnjiInt ='/',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.             asciiSuma+=toA(niz[i]);
  52.         }
  53.         else if ((toA(temp)>=48 && toA(temp) <=57) && toA(temp) > toA(zadnjiInt)){
  54.                
  55.                 niz[i] = temp;
  56.                 zadnjiInt = niz[i];
  57.                 asciiSuma+=toA(niz[i]);
  58.         }else{
  59.                 i--;
  60.              }
  61.     }
  62. }
  63.  
  64. void ispis(char niz[], int v){
  65.     for (int i=0; i<v; i++){
  66.         cout << niz[i] << endl;
  67.     }
  68.    
  69. }
  70.  
  71.  
  72. int main()
  73. {
  74.     char niz[v];
  75.     unos(niz,v);
  76.     ispis(niz,v);
  77.    
  78.    
  79.    
  80.     return 0;
  81. }
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
 
Top