Advertisement
borisdexter

Strukturno funkcii

Dec 22nd, 2019
462
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.55 KB | None | 0 0
  1. // tip - ime - parametri
  2. // int/double/float/char/void - ne vrakja vrednost
  3. // lokalni promenlivi
  4. // site funkcii se pishuvaat nad main
  5.  
  6. // kvadrat
  7. int kvadrat(int promenliva){
  8. promenliva=promenliva*promenliva;
  9. return promenliva;
  10. }
  11.  
  12. // print kvadrat od int
  13. void print(int x){
  14. printf("%d\n",x*x);
  15. }
  16.  
  17. int stepenF(int broj,int stepen){
  18. int i,temp=broj;
  19. /*
  20. 1) 3=3*3
  21. 2) 9=9*9
  22. 3) 81=81*81
  23.  
  24. 1) 3=3*3
  25. 2) 9=9*3
  26. 3) 27=27*3
  27. */
  28. for(i=1;i<stepen;i++){
  29. broj=broj*temp;
  30. }
  31. return broj;
  32. // funkcija vo funkcija
  33. //printf("%f\n",sqrt(stepenF(x,s)));
  34. }
  35.  
  36. // printaj niza
  37. void printNiza(int niza[],int n){
  38. int i;
  39. for(i=0;i<n;i++){
  40. printf("%d ",niza[i]);
  41. }
  42. //printNiza(niza,n);
  43.  
  44. }
  45.  
  46. // printaj niza naopaku
  47. void printNaopaku(int niza[],int n){
  48. int i;
  49. for(i=n-1;i>=0;i--){
  50. printf("%d ",niza[i]);
  51. }
  52. //printNaopaku(niza,n);
  53. }
  54.  
  55. // printaj dali e palindrom N
  56. void palindrom(int n){
  57. int temp=n,obratenBroj=0;
  58. while(temp!=0){
  59. obratenBroj=obratenBroj*10+temp%10;
  60. temp=temp/10;
  61. }
  62. if(n==obratenBroj){
  63. printf("Palindrom e");
  64. }else{
  65. printf("Ne e");
  66. }
  67. }
  68.  
  69. // dali e palindrom N
  70. int daliPalindrom(int n){
  71. int temp=n,obratenBroj=0;
  72. while(temp!=0){
  73. obratenBroj=obratenBroj*10+temp%10;
  74. temp=temp/10;
  75. }
  76. if(n==obratenBroj){
  77. return 1;
  78. }else{
  79. return 0;
  80. }
  81. /*
  82. int brojac=0;
  83. for(i=0;i<n;i++){
  84. if(daliPalindrom(niza[i])){
  85. brojac++;
  86. }
  87. }
  88. printf("Vo funkcijata ima %d palindromi\n",brojac);
  89. */
  90. }
  91.  
  92. // kolku palindromi ima vo nizata (povik na dr funkcija)
  93. int kolkuPalindromi(int niza[], int n){
  94. int i,brojac=0;
  95. for(i=0;i<n;i++){
  96. if(daliPalindrom(niza[i])){
  97. brojac++;
  98. }
  99. }
  100. return brojac;
  101. //printf("Vo nizata ima %d palindromi\n",kolkuPalindromi(niza,n));
  102. }
  103.  
  104. int kolkuPatiX(int niza[],int n,int x){
  105. int i,brojac=0;
  106. for(i=0;i<n;i++){
  107. if(x==niza[i]){
  108. brojac++;
  109. }
  110. }
  111. return brojac;
  112. //printf("Brojot %d se pojavuva %d pati vo nizata\n",x,kolkuPatiX(niza,n,x));
  113. }
  114.  
  115. // izbroj cifri na X
  116. int brojCifri(int x){
  117. int brojac=0,temp=x;
  118. while(temp!=0){
  119. brojac++;
  120. temp=temp/10;
  121. }
  122. return brojac;
  123. }
  124.  
  125. // pretvori N vo niza
  126. void intVoNiza(int n){
  127. int i,brCifri=brojCifri(n);
  128. int niza[brCifri];
  129. for(i=brCifri-1;i>=0;i--){
  130. niza[i]=n%10;
  131. n=n/10;
  132. }
  133. printNiza(niza,brCifri);
  134. //intVoNiza(n);
  135. }
  136.  
  137. // pokazhuvachi primer
  138. /*
  139. // int *pX=&x | int *pY=&y
  140. void smeni(int *pX,int *pY){
  141. printf("pX=%d pX=%p\n",*pX,pX);
  142. printf("pY=%d pY=%p\n",*pY,pY);
  143. int pom;
  144. pom=*pX;
  145. *pX=*pY;
  146. *pY=pom;
  147. printf("pX=%d pX=%p\n",*pX,pX);
  148. printf("pY=%d pY=%p\n",*pY,pY);
  149. }
  150. // int x - x e vrednost, &x e adresata
  151. // int *pX=&x - *pX e vrednost, pX e adresata
  152. int main(){
  153. int x,y;
  154. scanf("%d%d",&x,&y);
  155. //int *p=&x;
  156. //printf("*p=%d x=%p\n",*p,p);
  157. printf("x=%d &x=%p\n",x,&x);
  158. printf("y=%d &y=%p\n",y,&y);
  159. smeni(&x,&y);
  160. printf("x=%d &x=%p\n",x,&x);
  161. printf("y=%d &y=%p\n",y,&y);
  162. return 0;
  163. }
  164. */
  165.  
  166. // sort niza
  167. // niza[i] == *(niza+i)
  168. void sort(int *niza,int n){
  169. int i,j,pom;
  170. // niza[0] = 8xbsh12k10
  171. // niza[1] = 8xbsh12k14
  172. // niza[2] = 8xbsh12k18
  173. // bubble sort: pokazuvaci
  174. for(i=0;i<n;i++){
  175. for(j=0;j<n-1;j++){
  176. if(*(niza+j)>*(niza+j+1)){
  177. pom=*(niza+j);
  178. *(niza+j)=*(niza+j+1);
  179. *(niza+j+1)=pom;
  180. }
  181. }
  182. }
  183. }
  184.  
  185.  
  186. int main(){
  187. int n,i;
  188. scanf("%d",&n);
  189. int niza[n];
  190. for(i=0;i<n;i++){
  191. scanf("%d",&niza[i]);
  192. }
  193.  
  194. //printNiza(niza,n);
  195. sort(niza,n);
  196. printf("\n");
  197. printNiza(niza,n);
  198. printf("\n");
  199. return 0;
  200. }
  201. /*
  202. int niza[n];
  203. for(i=0;i<n;i++){
  204. scanf("%d",&niza[i]);
  205. }
  206. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement