Lista de ordenação e matrizes com respostas

Transcrição

Lista de ordenação e matrizes com respostas
Exercícios de ordenação e matrizes
1. Faça um programa que leia 6 valores inteiros, armazeno-os em um vetor, organize o vetor de forma que
os números sejam armazenados em ordem crescente e apresente o vetor na tela.
Resposta:
#include <stdio.h>
int main()
{
int vetor[6];
int i, j, buffer;
for(i=0; i<6; i++)
{
printf("Entre com o %do elemento\n", i+1);
scanf("%d", &vetor[i]);
}
for(j=0; j<5; j++)
for(i=5; i>j; i--)
{
if(vetor[i]<vetor[i-1])
{
buffer= vetor [i];
vetor [i]= vetor [i-1];
vetor [i-1]=buffer;
}
}
for(i=0; i<6; i++)
printf("%d\n", vetor [i]);
}
getch();
2. Altere o programa anterior para apresentar o vetor em ordem decrescente.
Resposta:
#include <stdio.h>
int main()
{
int vetor[6];
int i, j, buffer;
for(i=0; i<6; i++)
{
printf("Entre com o %do elemento\n", i+1);
scanf("%d", &vetor[i]);
}
for(j=0; j<5; j++)
for(i=5; i>j; i--)
{
if(vetor[i]>vetor[i-1])
{
buffer= vetor [i];
}
}
vetor [i]= vetor [i-1];
vetor [i-1]=buffer;
for(i=0; i<6; i++)
printf("%d\n", vetor [i]);
}
getch();
3. Faça um programa que armazene 10 números inteiros em um vetor, sendo 5 pares e 5 ímpares, organize
de forma que os 5 números pares estejam em ordem crescente nas primeiras cinco posições do vetor e os
5 números ímpares estejam em ordem decrescente na próximas 5 posições do vetor. Apresente o vetor
final na tela. Os números podem ser entrados em qualquer ordem. O programa deverá informar quantos
números ímpares e pares faltam ser entrados e, caso um dos grupos já esteja completo, deverá solicitar
que seja entrado um número do outro grupo.
Resposta:
#include <stdio.h>
int main()
{
int vetor[10];
int i, j, buffer;
int impar=0, par=0;
i=0;
for(i=0;i<10;i++)
{
if(impar<5 && par<5)
{
printf("Devem ser entrados 10 numeros inteiro, sendo\n");
printf("que faltam entrar %d pares e %d impares\n", 5-par, 5-impar);
printf("Entre com um numero\n");
scanf("%d", &vetor[i]);
if(vetor[i]%2==0)
par++;
else
impar++;
}
else
if(impar==5)
{
do
{
printf("Foram entrados %d pares e %d impares\n", par, impar);
printf("Deve ser entrado necessariamente um numero par\n");
printf("Entre com um numero par\n");
scanf("%d", &vetor[i]);
}while(vetor[i]%2!=0);
par++;
}
else
if(par==5)
{
}
}
do
{
printf("Foram entrados %d pares e %d impares\n", par, impar);
printf("Deve ser entrado necessariamente um numero impar\n");
printf("Entre com um numero par\n");
scanf("%d", &vetor[i]);
}while(vetor[i]%2==0);
impar++;
for(j=0; j<9; j++)
for(i=9; i>j; i--)
{
if(vetor[i]%2==0)
{
buffer= vetor [i];
vetor [i]= vetor [i-1];
vetor [i-1]=buffer;
}
}
for(j=0; j<4; j++)
for(i=4; i>j; i--)
{
if(vetor[i]<vetor[i-1])
{
buffer= vetor [i];
vetor [i]= vetor [i-1];
vetor [i-1]=buffer;
}
}
for(j=5; j<9; j++)
for(i=9; i>j; i--)
{
if(vetor[i]>vetor[i-1])
{
buffer= vetor [i];
vetor [i]= vetor [i-1];
vetor [i-1]=buffer;
}
}
printf("\n\nO vetor ordenado conforme solicitado e:\n%");
for(i=0; i<10; i++)
printf("%d\n", vetor [i]);
}
getch();
4. Faça um programa que solicite uma matriz 4 x 4 de números inteiros, leia e armazene os valores, calcule
e mostre:
(a) a soma dos elementos desta matriz;
(b) o maior e o menor elemento da matriz;
(c) a soma dos elementos de cada linha;
(d) a soma dos elementos de cada matriz.
Resposta:
#include<stdio.h>
int main()
{
int matriz[4][4];
int i,j;
int SomaMatriz=0;
int SomaLinha[4], SomaColuna[4];
int maior, menor;
for(i=0; i<4; i++)
{
SomaLinha[i]=0;
SomaColuna[i]=0;
}
for(i=0; i<4; i++)
for (j=0; j<4; j++)
{
printf("\nEntre com o elemento [%d][%d] da matriz\n",i,j);
scanf("%d", &matriz[i][j]);
}
maior=matriz[0][0];
menor=matriz[0][0];
for(i=0; i<4; i++)
{
for (j=0; j<4; j++)
{
SomaMatriz=SomaMatriz+matriz[i][j];
if(matriz[i][j]>maior)
maior=matriz[i][j];
else
if(matriz[i][j]<menor)
menor=matriz[i][j];
}
}
for(i=0; i<4; i++)
for (j=0; j<4; j++)
SomaLinha[i]=SomaLinha[i]+matriz[i][j];
for(j=0; j<4; j++)
for (i=0; i<4; i++)
SomaColuna[j]=SomaColuna[j]+matriz[i][j];
for(i=0; i<4; i++)
{
for (j=0; j<4; j++)
printf("%d ", matriz[i][j]);
printf("\n");
}
printf("\n\nA soma dos elementos matriz vale %d:\n", SomaMatriz);
printf("\n\nO maior elemento da matriz vale %d:\n", maior);
printf("\n\nO menor elemento da matriz vale %d:\n", menor);
printf("\n\nAs somas das linhas valem\n");
for(i=0; i<4; i++)
printf("linha %d: %d\n", i+1, SomaLinha[i]);
printf("\n\nAs somas das colunas valem\n");
for(i=0; i<4; i++)
printf("coluna %d: %d\n", i+1, SomaColuna[i]);
getch();
}
5. Faça um programa que solicite 16 valores inteiros, armazene-os em uma matriz A de 4x4, apresente a
matriz A e a sua transposta.
Resposta:
#include<stdio.h>
int main()
{
int matriz[4][4];
int i,j, numero=1;
for(i=0; i<4; i++)
for(j=0; j<4; j++)
{
printf("Entre com o %d numero:", numero);
scanf("%d", &matriz[i][j]);
numero++;
}
printf("A matriz entrada foi:\n");
for(i=0; i<4; i++)
{
for(j=0; j<4; j++)
printf("%d ", matriz[i][j]);
printf("\n");
}
printf("A transposta da matriz entrada e:\n");
for(i=0; i<4; i++)
{
for(j=0; j<4; j++)
printf("%d ", matriz[j][i]);
printf("\n");
}
}
getch();
6. Uma matriz é chamada de triangular superior se todos os elementos abaixo da diagonal principal forem
zero. Faça um programa que crie uma matriz triangular superior de 20 x 20, onde todos os elementos
diferentes de zero são iguais a 1. Para criar a matriz use somente um par de for aninhados e um if-else.
Quando for apresentar a matriz, para ficar visualmente melhor, coloque um espaço entre os elementos da
mesma linha.
Resposta:
#include<stdio.h>
int main()
{
int matriz[20][20], n=20;
int i,j;
for(i=0; i<n; i++)
for (j=0; j<n; j++)
if(i<=j)
matriz[i][j]=1;
else
matriz[i][j]=0;
for(i=0; i<n; i++)
{
for (j=0; j<n; j++)
printf("%d ", matriz[i][j]);
printf("\n");
}
}
getch();
7. Repita o exercício anterior para uma matriz triangular inferior.
Resposta:
#include<stdio.h>
int main()
{
int matriz[20][20], n=20;
int i,j;
for(i=0; i<n; i++)
for (j=0; j<n; j++)
if(i>=j)
matriz[i][j]=1;
else
matriz[i][j]=0;
for(i=0; i<n; i++)
{
for (j=0; j<n; j++)
printf("%d ", matriz[i][j]);
printf("\n");
}
}
getch();
8. Faça um programa que leia e armazene os elementos de uma matriz 5x5 de números inteiros e:
(a) apresente matriz entrada ;
(b) apresente a matriz entrada trocando-se a primeira e segunda linhas;
(c) multiplique a primeira linha por 3, some com a quarta linha, armazene o resultado na quarta linha e
apresente a matriz final;
(d) multiplique a segunda coluna por -1, some com a quinta coluna, armazene o resultado na quinta
coluna e apresente a matriz final;
Resposta:
#include<stdio.h>
int main()
{
int matriz[5][5], entrada[5][5], buffer;
int i,j, numero=1;
for(i=0; i<5; i++)
for(j=0; j<5; j++)
{
printf("Entre com o elemento %d %d: ", i,j);
scanf("%d", &entrada[i][j]);
}
printf("O resultado do item a e:\n");
for(i=0; i<5; i++)
{
for(j=0; j<5; j++)
printf("%d ", entrada[i][j]);
printf("\n");
}
for(i=0; i<5; i++)
for(j=0; j<5; j++)
matriz[i][j]=entrada[i][j];
for(i=0; i<5; i++)
{
buffer=matriz[0][i];
matriz[0][i]=matriz[1][i];
matriz[1][i]=buffer;
}
printf("O resultado do item b e:\n");
for(i=0; i<5; i++)
{
for(j=0; j<5; j++)
printf("%d ", matriz[i][j]);
printf("\n");
}
for(i=0; i<5; i++)
for(j=0; j<5; j++)
matriz[i][j]=entrada[i][j];
for(i=0; i<5; i++)
{
matriz[3][i]= 3*matriz[0][i]+matriz[3][i];
}
printf("O resultado do item c e:\n");
for(i=0; i<5; i++)
{
for(j=0; j<5; j++)
printf("%d ", matriz[i][j]);
printf("\n");
}
for(i=0; i<5; i++)
for(j=0; j<5; j++)
matriz[i][j]=entrada[i][j];
for(i=0; i<5; i++)
{
matriz[i][4]= -1*matriz[i][1]+matriz[i][4];
}
printf("O resultado do item d e:\n");
for(i=0; i<5; i++)
{
for(j=0; j<5; j++)
printf("%d ", matriz[i][j]);
printf("\n");
}
}
getch();

Documentos relacionados

Exercícios de Linguagem C resolvidos EXERCÍCIOS DO CAPÍTULO

Exercícios de Linguagem C resolvidos EXERCÍCIOS DO CAPÍTULO 5. Faça um programa que lê um vetor de 3 elementos e uma matriz de 3 x 3 elementos. Em seguida o programa deve fazer a multiplicação do vetor pelas colunas da matriz. #include #include Leia mais

Lista03 Extra

Lista03 Extra 2. Escreva uma função chamada somavetor que possua dois parâmetros: um vetor de inteiros e o número de elementos do vetor. A função deve retornar a soma dos elementos do vetor. 3. Faça duas ...

Leia mais