Linguagem C

Exercício resolvido

16/08/2013 11:47

Dada uma matriz real A de ordem m por n, verificar se existem elementos repetidos em A.

Solução:

#include <stdio.h>
#include <stdlib.h>

main()
{
      int m, n, i, j, k, l, repetido=0;
      float A[50][50];
      printf("Programa para verificar se a matriz A,\nde ordem m por n, tem elementos repetidos.\n\n");
      printf("Forneca o valor de m: ");
      scanf("%d", &m);
      printf("Forneca o valor de n: ");
      scanf("%d", &n);
      printf("Forneca os elementos da matriz:\n\n");
      for(i = 1; i <= m; i++)
      {
            for(j = 1; j <= n; j++)
            {
                  printf("a%d%d = ", i, j);
                  scanf("%f", &A[i][j]);
            }
      }
      for(i = 1; i <= m; i++)
      {
            for(j = 1; j <= n; j++)
            {
                 for(k = i; k <= m; k++)
                 {
                       for(l = j; l <= n; l++)
                       {                            
                                 if((i != k)||(j != l))
                                 {
                                       if(A[i][j] == A[k][l])
                                       {
                                                  repetido = 1;
                                       }
                                 }
                       }     
                 }
            }
      }
      if (repetido == 1)
      {
                   printf("\n\nA matriz contem elementos repetidos.\n\n");
      }
      else
      {
          printf("\n\nA matriz NAO contem elementos repetidos.\n\n");
      }
      system("pause");
}

Exercício resolvido

16/08/2013 08:37

Escrever um programa para, dado uma matriz A de ordem "n", verificar se é uma matriz anti-simétrica.

Solução:

//Erick Vivan
#include <stdio.h>
#include <stdlib.h>
main()
{
      int n, i, j, m[50][50], mt[50][50], simetrica=1;
      printf("Programa para verificar se uma matriz A eh anti-simetrica.\n\n");
      printf("Digite a ordem da matriz: ");
      scanf("%d", &n);
      printf("\nDigite as entradas da matriz:\n\n");
      for(i = 1; i <= n; i++)
      {
            for(j = 1; j <= n; j++)
            {
                  printf("a%d%d = ", i, j);
                  scanf("%d", &m[i][j]);
                  mt[j][i] = m[i][j];
                  m[i][j] = -m[i][j];
            }
      }
      for(i = 1; i <= n; i++)
      {
            for(j = 1; j <= n; j++)
            {
                  if(m[i][j] != mt[i][j])
                  {
                        simetrica = 0;          
                  }
            }
      }
      if(simetrica == 0)
      {
                   printf("\nA matriz fornecida NAO eh anti-simetrica.\n\n");
      }
      else
      {
          printf("\nA matriz fornecida eh anti-simetrica.\n\n");
      }
      system("pause");
}

Exercício resolvido

16/08/2013 08:27

Obter uma matriz de ordem N tal que os elementos são: a = 3i - j

Solução:

//Erick Vivan
#include <stdio.h>
#include <stdlib.h>
main()
{
      int opcao=0, n, i, j, m[50][50];
     while(opcao!=2)
      {
            printf("1 - Acessar Programa\n");
            printf("2 - Finalizar Programa\n\n");
            printf("Digite uma das opcoes: ");
            scanf("%d", &opcao);
            switch(opcao)
            {
                         case 1:
                             printf("\n-----------------------------------------------");
                         printf("\nPrograma para obter uma matriz quadrada cujos\nelementos sao dados por: a = 3i - j\n");
                             printf("-----------------------------------------------\n\n");
                             printf("Digite a ordem da matriz: ");
                             scanf("%d", &n);
                             printf("\n");
                             printf("Portanto, a matriz eh:\n\n");
                             for(i = 1; i <= n; i++)
                             {
                                   for(j = 1; j <= n; j++)
                                   {
                                         m[i][j] = (3*i - j);
                                         printf("%d   ", m[i][j]);
                                   }
                                   printf("\n");
                             }
                             printf("\n");
                             system("pause");
                             system("cls");
                         break;
                         case 2:
                         break;
                         default:
                                 printf("\nOpcao invalida!\n\n");
                                 system("pause");
                                 system("cls");
            }
      }
}
 

Exercício resolvido

16/08/2013 08:20

Dados números reais x ≥ 0 e epsilon > 0, calcular uma aproximação da raiz quadrada de x através da seqüência de números abaixo. Tome r₀ = x e rn+1 = 1/2 (rn+ x/rn). Exemplos:

Para x = 3, r₀ = 3, r₁ = 2, r₂ = 1.75, r₃ = 1.732143, r₄ = 1.732051
Para x = 4, r₀ = 4, r₁ = 2.5, r₂ = 2.05, r₃ = 2.000610, r₄ = 2.000000
Para x = 5, r₀ = 5, r₁ = 3, r₂ = 2.33, r₃ = 2.238095, r₄ = 2.236068
Para x = 0.81, r₀  = 0.81, r₁ = 0.905, r₂ = 0.9000138122, r₃ = 0.9000000001

A aproximação será o primeiro valor rn₊₁ tal que |rn₊₁ − rn| < e.

Solução:
//Erick Cursino Vivan
#include <stdio.h>
#include <stdlib.h>
float r, r1, valor_abs, x, epsilon;
main()
{
      printf("Programa para calcular uma aproximacao da raiz quadrada de x.\n\n");
      printf("Digite um valor para x: ");
      scanf("%f", &x);
      printf("\nDigite uma valor para epsilon (precisao): ");
      scanf("%f", &epsilon);
      r = x;
      valor_abs = (epsilon + 1);
      while (valor_abs >= epsilon)
      {
            r1 = (r + x/r)/2;
            valor_abs = (r1 - r);
            if (valor_abs < 0)
            {
                   valor_abs = -valor_abs;
            }
            r = r1;
      }
      printf("\nRaiz quadrada de %f = %f\n\n", x, r1);
      system("pause");
}

Exercício resolvido

16/08/2013 08:10

Dado um número inteiro n > 0, calcular o valor da soma:
Sn = 1/n + 2/(n-1) + ... + n/1

Solução:

#include <stdio.h>
#include <stdlib.h>
int n, i;
float termo;
main()
{
      printf("Programa para calcular a seguinte sequencia:\n\nSn = 1/n + 2/(n-1) + ... + n/1\n\n");
      printf("Digite um valor inteiro para n: ");
      scanf("%d", &n);
      termo = 0;
      for(i = 0; i < n; i++)
      {
            termo = termo + (float)(i + 1)/(n - i);
      }
      printf("\nS%d = %.2f\n\n", i, termo);       
      system("pause");     
}

Itens: 22 - 26 de 26
<< 1 | 2 | 3 | 4