Advertisement
danrleydaniel

polinomios.c

Jan 24th, 2020
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.17 KB | None | 0 0
  1. float* preenchePolinomio(float* vetor){
  2.     for(int i = 0; i <= 10; i++){
  3.       printf("\nInsira o valor de grau %d: ",i);
  4.       scanf("%f",&vetor[i]);
  5.   }
  6.   return vetor;
  7. }
  8.  
  9. float avaliaPolinomio(float* vetor, int x){
  10.   float soma = 0;
  11.   for(int i = 0; i <= 10; i++){
  12.     soma += (pow(vetor[i],i));
  13.   }
  14.   return soma;
  15. }
  16.  
  17. int igualdadePolinomios(float* vet1, float* vet2){
  18.   int cont = 0;
  19.   for(int i = 0; i <= 10; i++){
  20.     if(vet1[i] == vet2[i])
  21.       cont++;
  22.   }
  23.   if(cont == 0)
  24.     return 1;
  25.   else
  26.     return 0;
  27. }
  28.  
  29. void escrevePolinomio(float * vetor){
  30.   for(int i = 0; i <= 10; i++){
  31.     if(vetor[i] == 0)
  32.       continue;
  33.     else if(i < 10)
  34.       printf("(%.1f)X^%d + ",vetor[i],i);
  35.     else
  36.        printf("(%.1f)^%d",vetor[i],i);
  37.   }
  38. }
  39.  
  40. void somaPolinomio(float* vet1, float* vet2){
  41.   float* vet3;
  42.   for(int i = 0; i <= 10; i++){
  43.     vet3[i] = vet1[i] + vet2[i];
  44.   }
  45.   escrevePolinomio(vet3);
  46. }
  47.  
  48. void subtraiPolinomio(float* vet1, float* vet2){
  49.   float* vet3;
  50.   for(int i = 0; i <= 10; i++){
  51.     vet3[i] = vet1[i] - vet2[i];
  52.   }
  53.   escrevePolinomio(vet3);
  54. }
  55.  
  56. void derivadaPolinomio(float* vet){
  57.   for(int i = 0; i < 10; i++){
  58.     if(vet[i] == 0)
  59.       continue;
  60.     else if(i < 10)
  61.       printf("%d(%.1f) ^ %d +",i, vet[i],i-1);
  62.     else
  63.       printf("%d(%.1f) ^ %d",i, vet[i],i-1);
  64.   }
  65. }
  66.  
  67. void opcaoSoma(void){
  68.   float poli[10];
  69.   float poli2[10];
  70.   printf("\nPrimeiro, digite os valores do primeiro polinômio: ");
  71.   preenchePolinomio(poli);
  72.   printf("\n\nAgora, os valores do segundo polinômio: ");
  73.   preenchePolinomio(poli2);
  74.  
  75.   printf("\n\nPolinômio 1: \n");
  76.   escrevePolinomio(poli);
  77.   printf("\n\nPolinômio 2: \n");
  78.   escrevePolinomio(poli2);
  79.   printf("\n\nSoma dos dois polinômios: ");
  80.   somaPolinomio(poli, poli2);
  81. }
  82.  
  83. void opcaoSubtracao(void){
  84.   float poli[10];
  85.   float poli2[10];
  86.   printf("\nPrimeiro, digite os valores do primeiro polinômio: ");
  87.   preenchePolinomio(poli);
  88.   printf("\n\nAgora, os valores do segundo polinômio: ");
  89.   preenchePolinomio(poli2);
  90.  
  91.   printf("\n\nPolinômio 1: \n");
  92.   escrevePolinomio(poli);
  93.   printf("\n\nPolinômio 2: \n");
  94.   escrevePolinomio(poli2);
  95.   printf("\n\nSubtração dos dois polinômios: ");
  96.   subtraiPolinomio(poli, poli2);
  97. }
  98.  
  99. void opcaoDerivada(void){
  100.   float poli[10];
  101.   printf("\n\nDê os valores para o polinômio: ");
  102.   preenchePolinomio(poli);
  103.   printf("\n\nA derivada desse polinômio é... \n");
  104.   derivadaPolinomio(poli);
  105. }
  106.  
  107. void opcaoAvalia(void){
  108.   int x;
  109.   float avaliacao;
  110.   float poli[10];
  111.   printf("\nPrimeiro, digite os valores do polinômio: ");
  112.   preenchePolinomio(poli);
  113.   printf("\n\nAgora, diga um valor para X: ");
  114.   scanf("%d",&x);
  115.   avaliacao = avaliaPolinomio(poli, x);
  116.   printf("\n\nResultado final: %.2f",avaliacao);
  117. }
  118.  
  119. void opcaoIgualdade(void){
  120.   float poli[10];
  121.   float poli2[10];
  122.   printf("\nPrimeiro, digite os valores do primeiro polinômio: ");
  123.   preenchePolinomio(poli);
  124.   printf("\n\nAgora, dê os valores do segundo polinômio: ");
  125.   preenchePolinomio(poli2);
  126.  
  127.   if(igualdadePolinomios(poli, poli2))
  128.     printf("\nOs polinômios são iguais");
  129.   else
  130.     printf("\nOs polinômios não são iguais...");
  131.  
  132. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement