Professional Documents
Culture Documents
DEPARTAMENTO DE INFORMTICA
Prof. Wesley Romo
6879-01 Fundamentos de Algoritmos
LISTA DE EXERCCIOS No 12
Maring
24 de Novembro de 2016
1)
#include<stdio.h>
int main(){
#include<stdio.h>
int main(){
int n, pos_menor = 0, pos_troca = 0;
printf("\nDigite o tamanho do vetor:");
scanf("%d", &n);
int v[n];
printf("\nV[0]:");
scanf("%d", &v[0]);
int menor = v[0];
for(int i=1;i<n;i++){
printf("\nV[%d]:", i);
scanf("%d", &v[i]);
if(v[i]< menor){
menor = v[i];
pos_menor = i;
}
}
int existe_menor = 1;
while(pos_troca < n){
v[pos_menor] = v[pos_troca];
v[pos_troca] = menor;
pos_troca += 1;
menor = v[pos_troca];
existe_menor = 0;
for(int i=pos_troca; i<n;i++){
if(v[i]< menor){
menor = v[i];
pos_menor = i;
existe_menor = 1;
}
}
}
printf("\nVetor ordenado\n");
for(int i=0;i<n;i++)
printf("%3d ", v[i]);
return 0;
}
3)
#include<stdio.h>
int main(){
int tam_vetor, qnt_num = 0, num;
printf("\nDigite o tamanho do vetor:");
scanf("%d", &tam_vetor);
int v[tam_vetor];
for(int i=0;i<tam_vetor;i++){
printf("\nV[%d]:", i);
scanf("%d", &v[i]);
}
printf("\nDigite o elemento a ser buscado no vetor:");
scanf("%d", &num);
printf("\nposicoes:");
for(int i=0;i<tam_vetor;i++){
if(v[i] == num){
printf("%4d", i);
qnt_num++;
}
}
printf("\nQuantidade: %d", qnt_num);
return 0;
}
4)
#include<stdio.h>
int main(){
int coordenadas = -1;
float h, soma = 0;
while(coordenadas<0 || coordenadas>50){
printf("Numero de abscissas: ");
scanf("%d", &coordenadas);
}
printf("\nValor de H: ");
scanf("%f", &h);
float y[coordenadas];
float area = 0;
for(int i=0;i<coordenadas;i++){
printf("%d ordenada y:", i+1);
scanf("%f", &y[i]);
if(i!=0 && i!=(coordenadas-1))
soma += 2*y[i];
else
soma +=y[i];
}
area = 0.5*h*soma;
printf("\nArea: %.2f", area);
return 0;
}
5)
#include<stdio.h>
int main(){
printf("\nopcao: ");
scanf(" %c", &opc);
switch(opc){
case 'a':
if(n_cresc)
printf("\nvetor nao esta em ordem crescente");
else
printf("\nvetor em ordem crescente");
break;
case 'b':
for(int i=0;i<n;i++)
v2[i] == v1[i];
break;
case 'c':
printf("\nVetor invertido.\n");
for(int i=0;i<n;i++){
v2[i] = v1[n-k];
k++;
printf("%2d", v2[i]);
}
break;
case 'd':
for(int i=0;i<(n/2);i++){
troca = v1[i];
v1[i] = v1[n-k];
v1[n-k] = troca;
k++;
}
printf("\nVetor invertido.\n");
for(int i=0;i<n;i++)
printf("%2d", v1[i]);
break;
case 'e':
printf("\nInsira valores ordenadamente no vetor1. \n");
for(int i=0;i<n;i++){
scanf("%d", &v1[i]);
}
break;
case 'f':
printf("\nDigite um elemento para ser eliminado do vetor1:");
scanf("%d", &elemento);
for(int i=0;i<n;i++)
if(v1[i] == elemento)
qnt_elemento++;
k = 0;
for(int i=0;i<n;i++)
if(v1[i] != elemento ){
v2[k] = v1[i];
k++;
}
printf("\nVetor com o elemento eliminado.\n");
for(int i=0;i<n-qnt_elemento;i++)
printf("%2d", v2[i]);
break;
case 'g':
}
if(comp > 0)
printf("\n%d aparece %d vezes", comp, qnt_elemento);
qnt_elemento = 0;
}
break;
return 0;
}
6)
#include<stdio.h>
int main(){
int linha_a,coluna_a, linha_b, coluna_b, x, k;
printf("\nDigite a ordem da matriz A:");
scanf("%d %d", &linha_a, &coluna_a);
return 0;
}
7)
#include<stdio.h>
int main(){
int b[linha_b][coluna_b];
for(int i=0;i<linha_b;i++)
for(int j=0;j<coluna_b;j++){
printf("\nB[%d][%d]:", i, j);
scanf("%d", &b[i][j]);
}
int existe_diferente = 0;
if(linha_a == linha_b && coluna_a == coluna_b){
existe_diferente = -1;
for(int i=0;i<linha_a;i++){
for(int j=0;j<coluna_a;j++){
if(a[i][j] != b[j][i]){
existe_diferente = 1;
break;
}
}
if(existe_diferente>0)
break;
}
}else
printf("\nMatrizes nao sao iguais e simetricas");
if(existe_diferente>0)
printf("\nMatrizes nao sao iguais e simetricas");
else if(existe_diferente<0)
printf("\nMatrizes iguais e simetricas");
return 0;
}
8)
#include<stdio.h>
int main(){
int linha_a,coluna_a, k;
printf("\nDigite a ordem da matriz A:");
scanf("%d %d", &linha_a, &coluna_a);
int a[linha_a][coluna_a], t[coluna_a][linha_a];
for(int i=0;i<linha_a;i++)
for(int j=0;j<coluna_a;j++){
printf("\nA[%d][%d]:", i, j);
scanf("%d", &a[i][j]);
}
printf("\nMatriz transposta\n");
for(int i=0;i<linha_a;i++)
for(int j=0;j<coluna_a;j++)
t[j][i] = a[i][j];
for(int i=0;i<coluna_a;i++){
for(int j=0;j<linha_a;j++){
printf("%2d", t[i][j]);
}
printf("\n");
}
return 0;
}
9)
#include<stdio.h>
#define n 5
#define m 5
int main(){
}
printf("\nMatriz diferenca\n");
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
printf("%3d", d[i][j]);
}
printf("\n");
}
return 0;
}
10)
#include<stdio.h>
#define n 2
#define m 2
int main(){
int a[n][m], s1 = 1, s2 = 1;
printf("\nDigite os valores da matriz A:");
for(int i=0;i<n;i++)
for(int j=0;j<m;j++){
printf("\nA[%d][%d]:", i, j);
scanf("%d", &a[i][j]);
if(i == j)
s1 *=a[i][j];
else
s2 *=a[i][j];
}
return 0;
}
11)
#include<stdio.h>
#define n 5
#define m 5
int main(){
if(n_triangular)
printf("\nMatriz nao e triangular superior");
else
printf("\nMatriz e triangular superior");
return 0;
}