Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.95 KB | None | 0 0
  1. // cviceni6.cpp : Defines the entry point for the console application.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <string.h>
  8. #include <math.h>
  9.  
  10. int suma_pole(double pole[], int pocet);
  11. int prevod(char cislo[],int soustava);
  12.  
  13. int suma_pole(double pole[], int pocet)
  14. {
  15.     int vysledek = 0;
  16.  
  17.     for(int i = 0; i < pocet; i++)
  18.     {
  19.         vysledek = pole[i] + vysledek;
  20.     }
  21.    
  22.     return vysledek;
  23. }
  24.  
  25. int prevod(char cislo[],int soustava)
  26. {
  27.     int delka = strlen(cislo);
  28.     int i;
  29.     int hodnota = 0;
  30.     int mocnina = pow(soustava, delka-1);
  31.  
  32.     for (i=0;i<delka;i++)
  33.     {
  34.         if (((int)cislo[i] >= 'A') && ((int)cislo[i] <= 'Z'))
  35.         {
  36.             if (((int)cislo[i]-55) < soustava)
  37.             {
  38.                 hodnota = hodnota + ((int)cislo[i]-55) * mocnina;
  39.             }
  40.        
  41.             else
  42.             {
  43.                 hodnota = 0;
  44.                 break;
  45.             }  
  46.         }
  47.  
  48.         else
  49.         {
  50.             if (((int)cislo[i] - '0') < soustava)
  51.             {
  52.                 hodnota = hodnota + ((int)cislo[i] - '0') * mocnina;
  53.             }
  54.            
  55.             else
  56.             {
  57.                 hodnota = 0;
  58.                 break;
  59.             }
  60.         }
  61.  
  62.     mocnina = mocnina / soustava;
  63.    
  64.     }
  65.    
  66.     return hodnota;
  67. }
  68.  
  69. int _tmain(int argc, _TCHAR* argv[])
  70. {
  71.     double pole[20]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
  72.     int vysledek, s, vysledek2;
  73.     char vyraz[100];
  74.  
  75.     printf("---------------\n");
  76.     printf(" 1. UKOL \n");
  77.     printf("---------------\n\n");
  78.     printf("Pole obsahuje cisla: ");
  79.  
  80.     for (int i = 0; i < 20; i++)
  81.     {
  82.         printf("%.0f ", pole[i]);
  83.     }
  84.  
  85.     vysledek = suma_pole(pole, 10);
  86.  
  87.     printf("\n\n\nVysledek je: %d\n\n", vysledek);
  88.  
  89.     printf("---------------\n");
  90.     printf(" 2. UKOL \n");
  91.     printf("---------------\n\n");
  92.  
  93.     printf("Zadejte cislo :");
  94.     scanf("%s", &vyraz);
  95.     printf("Zadejte soustavu :");
  96.     scanf("%d",&s);
  97.    
  98.     vysledek2 = prevod(vyraz, s);
  99.    
  100.     if (vysledek != 0)
  101.     {
  102.         printf("\n\nCislo %s v %dove soustave ma hodnotu %d v desitkove soustave.\n\n", vyraz, s, vysledek2);
  103.     }
  104.     else
  105.     {
  106.         printf("Toto cislo v dane soustave neni!!!\n\n");
  107.     }
  108.  
  109.     return 0;
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement