Advertisement
borisdexter

Funkcii

Dec 17th, 2019
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.59 KB | None | 0 0
  1. // tip - ime - parametri
  2. // tip na funkcija (int,float,double,char), nov tip - void - ne vrakja nishto
  3. // ime - kako sakame
  4. // parametri (promenlivi shto ke ni trebaat za funkcijata)
  5.  
  6. // kvadrat funkcija - lokalni promenlivi
  7. int kvadrat(int x){
  8. x=x*x;
  9. //x=25
  10. return x;
  11. }
  12.  
  13. // stepen funkcija - lokalni promenlivi samo vo funkcijata
  14. int stepen(int x,int s){
  15. int i,pom;
  16. pom=x;
  17. //s=3 x=5 -> 5*5*5
  18. for(i=1;i<s;i++){
  19. // 5=5*5=25
  20. // 25=25*5
  21. x=x*pom;
  22. }
  23. return x;
  24. }
  25.  
  26. // print niza
  27. void print(int niza[],int n){
  28. int i;
  29. for(i=0;i<n;i++){
  30. printf("%d ",niza[i]);
  31. }
  32. printf("\n");
  33. }
  34.  
  35. // print naopaku niza
  36. void printN(int niza[],int n){
  37. int i;
  38. for(i=n-1;i>=0;i--){
  39. printf("%d ",niza[i]);
  40. }
  41. printf("\n");
  42. }
  43.  
  44. // palindrom void - da isprinta dali e palindrom ili ne
  45. void palindrom(int broj){
  46. int cifra,pom=broj;
  47. int prevrtenBroj=0;
  48. while(broj!=0){
  49. cifra=broj%10;
  50. prevrtenBroj=prevrtenBroj*10 + cifra;
  51. broj=broj/10;
  52. }
  53. if(pom==prevrtenBroj){
  54. printf("Palindrom e\n");
  55. }else{
  56. printf("Ne e palindrom\n");
  57. }
  58. }
  59.  
  60. // palindrom int - da vrati dali e palindrom ili ne
  61. bool daliPalindrom(int broj){
  62. int cifra,pom=broj;
  63. int prevrtenBroj=0;
  64. while(broj!=0){
  65. cifra=broj%10;
  66. prevrtenBroj=prevrtenBroj*10 + cifra;
  67. broj=broj/10;
  68. }
  69. if(pom==prevrtenBroj){
  70. return true;
  71. }else{
  72. return false;
  73. }
  74. /*
  75. int n,i;
  76. scanf("%d",&n);
  77. int niza[n];
  78. //palindrom(n);
  79. for(i=0;i<n;i++){
  80. scanf("%d ",&niza[i]);
  81. }
  82. // 363 255 1 13 9
  83. int brojac=0;
  84. for(i=0;i<n;i++){
  85. if(daliPalindrom(niza[i])){
  86. brojac++;
  87. }
  88. }
  89. printf("Vo nizata ima %d broevi palindromi\n",brojac);
  90. */
  91. }
  92.  
  93. // kolku pati X go ima vo nizata
  94. int kolkuPatiX(int niza[],int n,int x){
  95. int i,brojac=0;
  96. for(i=0;i<n;i++){
  97. if(niza[i]==x){
  98. brojac++;
  99. }
  100. }
  101. return brojac;
  102. }
  103.  
  104.  
  105. // pokazuvachi
  106. // 1) pokazhuva kon adresata na veke postoechka promenliva
  107. // 2) ako smenime vrednost na pokazhuvach, ja menuva vrednosta na promenlivata kon koja pokazhuva
  108. // 3) int *p=&x | *p - vrednost , p - adresa | x - vrednost , &x - adresa
  109. /*
  110. void smeni(int *pX,int *pY){
  111. printf("vo funkcija adresa na x=%p vrednost e x=%d\n",pX,*pX);
  112. printf("vo funkcija adresa na y=%p vrednost e y=%d\n",pY,*pY);
  113. int pom;
  114. pom=*pX;
  115. *pX=*pY;
  116. *pY=pom;
  117. }
  118. // site promenlivi imaat pole za adresa i pole za vrednost
  119. int main(){
  120. int x,y;
  121. scanf("%d%d",&x,&y);
  122. // int *p=&x;
  123. printf("adresa na x=%p vrednost e x=%d\n",&x,x);
  124. printf("adresa na y=%p vrednost e y=%d\n",&y,y);
  125. smeni(&x,&y);
  126. printf("posle funkcija adresa na x=%p vrednost e x=%d\n",&x,x);
  127. printf("posle funkcija adresa na y=%p vrednost e y=%d\n",&y,y);
  128. return 0;
  129. }
  130. */
  131.  
  132.  
  133. // imeto kazhuva sho prai
  134. void printNaopaku(int *niza,int n){
  135. int i;
  136. for(i=n-1;i>=0;i--){
  137. printf("%d ",niza[i]);
  138. // *(niza+i)=0;
  139. //printf("%d ",*(niza+i));
  140.  
  141. }
  142. printf("\n");
  143. }
  144.  
  145. // smeni duplikati vo niza so -1
  146. void smeniDuplikati(int *niza,int n){
  147. // i=0, j=1,2,3...n-1
  148. int i,j;
  149. for(i=0;i<n;i++){
  150. for(j=i+1;j<n;j++){
  151. if(*(niza+i)==*(niza+j)){
  152. *(niza+j)=-1;
  153. }
  154. }
  155. }
  156. }
  157.  
  158. int main(){
  159. int n,i;
  160. scanf("%d",&n);
  161. int niza[n];
  162. //palindrom(n);
  163. // 1 2 3 1 2 5 6
  164. // 1 2 3 -1 -1 5 6
  165. for(i=0;i<n;i++){
  166. scanf("%d ",&niza[i]);
  167. }
  168. print(niza,n);
  169. smeniDuplikati(niza,n);
  170. print(niza,n);
  171. return 0;
  172. }
  173.  
  174. // brisenje duplikati
  175. /*
  176. int i,j,k;
  177. // k
  178. // i j
  179. // 1 2 5 4 2 3 5 6
  180. // 1 2 5 4 3 5 6
  181. for(i=0;i<n;i++){
  182. for(j=i+1;j<n;j++){
  183. if(niza[i]==niza[j]){
  184. for(k=j;k<n-1;k++){
  185. niza[k]=niza[k+1];
  186. }
  187. n--;
  188. j--;
  189. }
  190. }
  191. }
  192. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement