Advertisement
Solomid

Zadaća 4

Feb 19th, 2020
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.05 KB | None | 0 0
  1. zadaca 4
  2.  
  3. 1.
  4. #include <stdio.h>
  5. #define e 0.0001
  6. #define br_el 5
  7.  
  8. double eksponent(double a,int n){
  9.     int i;
  10.     double suma=a;
  11.     for(i=0;i<n-1;i++){
  12.         suma*=a;
  13.     }
  14.     return suma;
  15. }
  16.  
  17. int main() {
  18.     double nizx[br_el],nizy[br_el];
  19.     double a,b,h,suma=0,temp;
  20.     int i,n,br=0;
  21.     printf("Unesite prvu tacku intervala: ");
  22.     scanf("%lf",&a);
  23.     if(a<=0||a>100){
  24.         printf("Nedozvoljena vrijednost!");
  25.         return 0;
  26.     }
  27.     printf("Unesite drugu tacku intervala: ");
  28.     scanf("%lf",&b);
  29.     if(a>b||b<=0||b>100||(a==b)){
  30.         if(b<=0){
  31.             printf("Nedozvoljena vrijednost!");
  32.         }
  33.         else printf("Neispravan interval!");
  34.         return 0;
  35.     }
  36.     printf("Unesite eksponent: ");
  37.     scanf("%d",&n);
  38.     if(n<-10||n>10){
  39.         printf("Neispravan eksponent!");
  40.         return 0;
  41.     }
  42.     printf("Unesite korak diskretizacije: ");
  43.     scanf("%lf",&h);
  44.     temp = a;     //sve sa a
  45.     i=0;
  46.     do{
  47.         if(i<4){
  48.             nizx[i]=a;
  49.             nizy[i]=eksponent(a,n);
  50.         }
  51.        
  52.         suma += eksponent(a,n);
  53.         a += h;
  54.        
  55.         if(b-a<e){
  56.         nizx[br_el-1]=a-h;
  57.         nizy[br_el-1]=eksponent(a-h,n);
  58.         }
  59.        
  60.         br++;      // za ispis
  61.         i++;
  62.     }while(b-a>e);
  63.     printf("Korak   x               y = f(x)\n");
  64.     printf("----------------------------------\n");
  65.     for(i=0;i<5;i++){
  66.         if(nizx[i]<e) continue;
  67.        
  68.             if(i<4)
  69.             printf("%5d. %lf %15.5lf\n",i+1,nizx[i],nizy[i]);
  70.             else if(i==4 && br>4){
  71.             printf("(...)\n");
  72.             printf("%5d. %lf %15.5lf\n",br,nizx[i],nizy[i]);
  73.             }
  74.     }
  75.     printf("----------------------------------\n");
  76.     printf("P(x^%d)[%g,%g]= %.6lf (dx=%g)",n,temp,b,suma*h,h);
  77.     return 0;
  78. }
  79.  
  80. 2. ne treba ti
  81.  
  82. 3.
  83. #include <stdio.h>
  84. #define broj_el 200
  85. #define e 0.0001
  86. #include <math.h>
  87. int main()
  88. {
  89.     int c=0,i,j;
  90.     double dc,lc,uc;
  91.     double niz[broj_el] = {0.00};
  92.     while(c<=0||c>100) {
  93.         printf("Unesite broj clanova niza: ");
  94.         scanf("%d",&c);
  95.     }
  96.  
  97.     printf("Unesite niz: ");
  98.     for(i=0; i<c; i++) {
  99.         scanf("%lf",&niz[i]);
  100.     }
  101.  
  102.     for(i=0; i<c; i++) {
  103.         if(c==199)
  104.             break;
  105.         if((fabs(niz[i+1]-2*niz[i])<e)&&(i!=c-1)) {
  106.             dc=niz[i+1];
  107.             lc=niz[i];
  108.             uc=(dc+lc)/2;
  109.             for(j=c; j>i+1; j--) {
  110.                 niz[j]=niz[j-1];
  111.             }
  112.             niz[i+1]=uc;
  113.             c++;
  114.         }
  115.     }
  116.     printf("Nakon ubacivanja niz glasi: \n");
  117.     for(i=0; i<c; i++) {
  118.         printf("%g ",niz[i]);
  119.     }
  120.     int br[10] = {0};
  121.     int cifra;
  122.     for(i=0; i<c; i++) {
  123.         cifra=((int)(niz[i]*10))%10;
  124.         br[cifra]++;
  125.     }
  126.     for(i=0; i<10; i++) {
  127.         if(br[i]!=0)
  128.             printf("\nCifra %d se ponavlja %d puta.",i,br[i]);
  129.     }
  130.     return 0;
  131. }
  132.  
  133. 4.
  134. #include <stdio.h>
  135. #include <math.h>
  136. #define duzina 25
  137. #define e 0.00000001
  138.  
  139. int main() {
  140.     double jelovnik[duzina];
  141.     double kombo[25][25] = {{0}};
  142.     int racun[100];
  143.     double temp,snizenje=0,maxracun=0;
  144.     int i=1,j=0,r=0,maxi,maxj,k1,k2,x=1;
  145.     char flush;
  146.  
  147.     for(i=0;i<duzina;i++){
  148.         scanf("%lf",&jelovnik[i]);
  149.         if(jelovnik[i]<0)
  150.         i--;
  151.     }
  152.     do{
  153.         printf("Unesite kombinaciju: ");
  154.         scanf("%d",&k1);
  155.         if(k1==0) break;
  156.         scanf("%d %lf",&k2,&temp);
  157.         if((temp>=(jelovnik[k1-1]+jelovnik[k2-1])) || (kombo[k1-1][k2-1]!=0 && kombo[k2-1][k1-1]!=0) || k1==k2){
  158.         printf("Neispravna kombinacija!\n");
  159.         }
  160.         else
  161.         {
  162.         kombo[k1-1][k2-1]=temp;
  163.         kombo[k2-1][k1-1]=temp;
  164.         }
  165.     }while(k1!=0);
  166.     do{
  167.     printf("Unesite racun: ");
  168.     for(i=0;i<100;i++){
  169.         scanf("%d",&racun[i]);
  170.         if(i==0 && racun[i]==0)
  171.         return 0;
  172.         if(racun[i]==0)
  173.         break;
  174.         if(jelovnik[racun[i]-1]<e){
  175.             printf("Jelo nije u ponudi\nUnesite racun: ");
  176.             for(i=0;i<r;i++){
  177.                 racun[i]=0;
  178.             }
  179.             do{
  180.             flush=getchar();
  181.             }while((flush!='\0')&&(flush!='\n'));
  182.         }
  183.         r++;
  184.     }
  185.     for(i=0;i<r;i++){
  186.         maxracun +=  jelovnik[racun[i]-1];
  187.     }
  188.     for(i=0;i<r;i++){
  189.         snizenje=0;
  190.         if(racun[i]<0) continue;
  191.         for(j=i+1;j<r;j++){
  192.             if(racun[j]<0 || (kombo[racun[i]-1][racun[j]-1])<e) continue;
  193.             if(fabs(jelovnik[racun[i]-1]+jelovnik[racun[j]-1]-kombo[racun[i]-1][racun[j]-1])>snizenje){
  194.                 snizenje = jelovnik[racun[i]-1]+jelovnik[racun[j]-1]-kombo[racun[i]-1][racun[j]-1];
  195.                 maxi=i;
  196.                 maxj=j;
  197.             }
  198.         }
  199.         maxracun-=snizenje;
  200.         racun[maxi]=-2;
  201.         racun[maxj]=-2;
  202.     }
  203.     printf("Ukupan iznos racuna je: %.2lf KM\n",maxracun);
  204.     maxracun=0;
  205.     r=0;
  206.     }while(x!=0);
  207.     return 0;
  208. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement