Linguagem C
Exercício resolvido
16/08/2013 11:47Dada 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:37Escrever 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:27Obter uma matriz de ordem N tal que os elementos são: a = 3i - j
Solução:
//Erick Vivan
#include
#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:20Dados 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
#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:10Dado um número inteiro n > 0, calcular o valor da soma:
Sn = 1/n + 2/(n-1) + ... + n/1
Solução:
#include
#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");
}