Exercícios de vetor e matriz
3 participantes
Binary Road :: Lógica e Técnica de Programação :: Programação Orientada a Objeto :: Análise de Algoritmos :: Organização e Recuperação da Informação :: Estrutura de dados e algoritimos :: Lógica e Técnica de Programação :: Estudo
Página 1 de 1
Exercícios de vetor e matriz
1) Implemente um programa que ordene um vetor de 10 posições em ordem decrescente.
2) Implemente um programa que implemente uma matriz 4x4 de números interiros. Verifique se esta matriz forma um quadrado mágico, um quadrado mágico é formado quando a soma dos elementos de casa linha é igual a soma dos elementos de cada coluna e é igual a soma dos elementos da diagonal principal e éigual a soma da diagonal secundaria.
2) Implemente um programa que implemente uma matriz 4x4 de números interiros. Verifique se esta matriz forma um quadrado mágico, um quadrado mágico é formado quando a soma dos elementos de casa linha é igual a soma dos elementos de cada coluna e é igual a soma dos elementos da diagonal principal e éigual a soma da diagonal secundaria.
34 | ||||
16 | 3 | 2 | 13 | 34 |
5 | 10 | 11 | 8 | 34 |
9 | 6 | 7 | 12 | 34 |
4 | 15 | 14 | 1 | 34 |
34 | 34 | 34 | 34 | 34 |
Re: Exercícios de vetor e matriz
BinaryRoad escreveu:1) Implemente um programa que ordene um vetor de 10 posições em ordem decrescente.
2) Implemente um programa que implemente uma matriz 4x4 de números interiros. Verifique se esta matriz forma um quadrado mágico, um quadrado mágico é formado quando a soma dos elementos de casa linha é igual a soma dos elementos de cada coluna e é igual a soma dos elementos da diagonal principal e éigual a soma da diagonal secundaria.
34 16 3 2 13 34 5 10 11 8 34 9 6 7 12 34 4 15 14 1 34 34 34 34 34 34
1) Implemente um programa que ordene um vetor de 10 posições em ordem decrescente.
- Código:
#include <iostream>
using namespace std;
void main()
{
int x[11], i = 0, replace=0, cont = 0;
for(i = 0; i < 10; i++)
{
cout<< "Digite " << i+1 << " numero.\n";
cin>> x[i];
}
cout<< endl << endl;
while(cont <= 10)
{
cont++;
for(i = 0; i < 11; i++)
while(x[i] < x[i+1])
{
if(i < 10)
{
replace = 0;
replace= x[i];
x[i]=x[i+1];
x[i+1]=replace;
}
else
x[i+1]=x[i];
}
}
for(i = 0; i < 10; i++)
cout<< x[i] << endl;
}
2) Implemente um programa que implemente uma matriz 4x4 de números interiros. Verifique se esta matriz forma um quadrado mágico, um quadrado mágico é formado quando a soma dos elementos de casa linha é igual a soma dos elementos de cada coluna e é igual a soma dos elementos da diagonal principal e éigual a soma da diagonal secundaria.
- Código:
#include <iostream>
using namespace std;
void main()
{
int mat[4][4], vetl[4], vetc[4], vetx[2], l=0, c=0, n=0;
for(l=0; l<4; l++)
{
vetl[l]=0;
for(c=0; c<4; c++)
{
cout<<"Insira um valor para o cubo maico, linha " << l+1 << " coluna " << c+1 << endl;
cin>>mat[l][c];
vetl[l]+= mat[l][c];
}
}
for(c=0; c<4; c++)
{
vetc[c]=0;
for(l=0; l<4; l++)
vetc[c]+= mat[l][c];
}
for(c=0; c<1; c++)
{
vetx[c]=0;
for(l=0; l<4; l++)
vetx[c]+= mat[l][l];
}
for(c=1; c<2; c++)
{
vetx[c]=0;
n=4;
for(l=0; l<4; l++)
{
vetx[c]+= mat[l][n-1];
n--;
}
}
for(l=1; l<2; l++)
cout<< "\n\n\t\t\t\t" << vetx[l] << endl;
for(l=0; l<4; l++)
{
for(c=0; c<4; c++)
cout<< mat[l][c] << "\t";
cout<< vetl[l];
cout<< endl;
}
for(l=0; l<4; l++)
cout<< vetc[l] << "\t";
for(l=0; l<1; l++)
cout<< vetx[l] << endl;
}
Última edição por Renancr em Qua 5 maio 2010 - 0:00, editado 1 vez(es)
Renancr- Mensagens : 118
Data de inscrição : 08/03/2010
Re: Exercícios de vetor e matriz
Renancr escreveu:
1) Implemente um programa que ordene um vetor de 10 posições em ordem decrescente.
- Código:
#include <iostream>
using namespace std;
void main()
{
int x[11], i = 0, replace=0, cont = 0;
for(i = 0; i < 10; i++)
{
cout<< "Digite " << i+1 << " numero.\n";
cin>> x[i];
}
cout<< endl << endl;
while(cont <= 10)
{
cont++;
for(i = 0; i < 11; i++)
while(x[i] < x[i+1])
{
if(i < 10)
{
replace = 0;
replace= x[i];
x[i]=x[i+1];
x[i+1]=replace;
}
else
x[i+1]=x[i];
}
}
for(i = 0; i < 10; i++)
cout<< x[i] << endl;
}
tem um erro de logica nesse seu codigo..
voce inicializa o vetor com 11 posiçoes e usa apenas 10.. deixando o ultimo com "LIXO" e na hora de organizar em ordem decrescente esse "LIXO" acaba sendo imprimido no programa
aqui esta o seu codigo corrigido
- Código:
#include<iostream>
using namespace std;
void main()
{
int x[10], i, replace=0,cont = 0;
for(i = 0; i < 10; i++)
{
cout<< "Digite " << i+1 << " numero.\n";
cin>> x[i];
}
cout<< endl << endl;
while(cont <= 10)
{
cont++;
for(i = 0; i < 9; i++)
while(x[i] < x[i+1])//Poderia usar o IF que é mais apropriado
{
replace= x[i];
x[i]=x[i+1];
x[i+1]=replace;
}
}
for(i = 0; i < 10; i++)
cout<< x[i] << endl;
}
- Código:
#include<iostream>
using namespace std;
void main()
{
int i,x,valor,vet[10];
for(i=0;i<10;i++)
{
cout<<"Entre com o "<<i+1<<"o valor: ";
cin>>vet[i];
}
for(i=0;i<10;i++)
for(x=0;x<10;x++)
if(vet[i]<vet[x])
{
valor=vet[i];
vet[i]=vet[x];
vet[x]=valor;
}
for(i=0;i<10;i++)
cout<<vet[i]<<" ";
}
issu ai.. continue com o bom trabalho
C++MasTeR- Mensagens : 8
Data de inscrição : 20/04/2010
Localização : Microsoft Corporation
Re: Exercícios de vetor e matriz
C++MasTeR escreveu:Renancr escreveu:
1) Implemente um programa que ordene um vetor de 10 posições em ordem decrescente.
- Código:
#include <iostream>
using namespace std;
void main()
{
int x[11], i = 0, replace=0, cont = 0;
for(i = 0; i < 10; i++)
{
cout<< "Digite " << i+1 << " numero.\n";
cin>> x[i];
}
cout<< endl << endl;
while(cont <= 10)
{
cont++;
for(i = 0; i < 11; i++)
while(x[i] < x[i+1])
{
if(i < 10)
{
replace = 0;
replace= x[i];
x[i]=x[i+1];
x[i+1]=replace;
}
else
x[i+1]=x[i];
}
}
for(i = 0; i < 10; i++)
cout<< x[i] << endl;
}
tem um erro de logica nesse seu codigo..
voce inicializa o vetor com 11 posiçoes e usa apenas 10.. deixando o ultimo com "LIXO" e na hora de organizar em ordem decrescente esse "LIXO" acaba sendo imprimido no programa
aqui esta o seu codigo corrigidoexiste varias maneiras de fazer ordenação.. irei postar uma que eu gosto pois tem uma melhor visualização
- Código:
#include<iostream>
using namespace std;
void main()
{
int x[10], i, replace=0,cont = 0;
for(i = 0; i < 10; i++)
{
cout<< "Digite " << i+1 << " numero.\n";
cin>> x[i];
}
cout<< endl << endl;
while(cont <= 10)
{
cont++;
for(i = 0; i < 9; i++)
while(x[i] < x[i+1])//Poderia usar o IF que é mais apropriado
{
replace= x[i];
x[i]=x[i+1];
x[i+1]=replace;
}
}
for(i = 0; i < 10; i++)
cout<< x[i] << endl;
}
- Código:
#include<iostream>
using namespace std;
void main()
{
int i,x,valor,vet[10];
for(i=0;i<10;i++)
{
cout<<"Entre com o "<<i+1<<"o valor: ";
cin>>vet[i];
}
for(i=0;i<10;i++)
for(x=0;x<10;x++)
if(vet[i]<vet[x])
{
valor=vet[i];
vet[i]=vet[x];
vet[x]=valor;
}
for(i=0;i<10;i++)
cout<<vet[i]<<" ";
}
issu ai.. continue com o bom trabalho
É agora que vc falou da para ver que da para simplificar e melhorar a lógica, mas não vou editar aquele não, vou deichar aquele de exemplo e vou postar um novo repply.
Vlw mestre Yoda!!
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Renancr- Mensagens : 118
Data de inscrição : 08/03/2010
Tópicos semelhantes
» Primeira aula de Vetor
» Matriz primeira aula
» Exercícios Lista 1
» 4ª lista de exercícios
» Trabalho com matrizes
» Matriz primeira aula
» Exercícios Lista 1
» 4ª lista de exercícios
» Trabalho com matrizes
Binary Road :: Lógica e Técnica de Programação :: Programação Orientada a Objeto :: Análise de Algoritmos :: Organização e Recuperação da Informação :: Estrutura de dados e algoritimos :: Lógica e Técnica de Programação :: Estudo
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos