Exercícios com função para vetor e matriz
Disponibilizo 3 exercícios envolvendo função com vetores e matrizes. Disponibilizei código-fonte com a solução e vídeo explicativo das soluções.
- Criar função que recebe um vetor para verificar se ele está em ordem crescente ou decrescente.
- Criar uma função que verifica se determinado valor faz parte dos elementos do vetor.
- Criar uma função que mostra multiplicação de uma matriz por um determinado valor informado para a função.
1- Criar função que recebe um vetor para verificar se ele está em ordem crescente ou decrescente
bool verificaOrdenacaoCrescente(int v[], int tam) {
bool teste = true;
for (int i=1; i < tam; i++) {
if (v[i-1] > v[i]) {
teste = false;
}
}
return teste;
}
bool verificaOrdenacaoDescrescente(int v[], int tam) {
for (int i=1; i < tam; i++) {
if (v[i-1] < v[i]) {
return false;
}
}
return true;
}
bool verificaOrdenacao(int v[], int tam) {
if (verificaOrdenacaoCrescente(v, tam) == true || verificaOrdenacaoDescrescente(v, tam) == true) {
return true;
} else {
return false;
}
}
int main()
{
int vet[4] = {4 ,3, -1, 0};
if (verificaOrdenacao(vet, 4) == true ) {
cout << "Ordenado";
} else {
cout << "Não ordenado";
}
}
2- Criar uma função que verifica se determinado valor faz parte dos elementos do vetor
void preencheVetor(int v[], int tam) {
srand(time(NULL));
for (int i = 0; i < tam; i++) {
v[i] = rand()%10 + 100; //100....150
}
}
void mostraVetor(int v[], int tam) {
for (int i = 0; i < tam; i++) {
cout<< " | " << v[i] ;
}
cout << "|" << endl;
}
bool testa(int vet[], int tam, int x) {
for (int i = 0; i < tam; i++) {
if (vet[i] == x) {
return true;
}
}
return false;
}
int main()
{
int vetor[100], num, tam;
cout << "Digite o tamanho do vetor: ";
cin >> tam;
cout << "Digite um número: ";
cin >> num;
preencheVetor(vetor, tam);
mostraVetor(vetor, tam);
if (testa(vetor, tam, num) == true) {
cout << "Pertence!";
} else {
cout << "Não pertence!";
}
}
3- Criar uma função que mostra multiplicação de uma matriz por um determinado valor informado para a função
void mostraMatriz(float m[3][3]) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << m[i][j];
}
cout<<"n";
}
cout<<"nn";
}
void multiplica(float mat[3][3], int fator, float mat2[3][3]) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
mat2[i][j] = mat[i][j] * fator;
}
}
}
int main()
{
float mat[3][3] = {1, 2, 3,
4, 5, 6,
7, 8, 9.5};
float mat2[3][3];
multiplica(mat, 2, mat2);
mostraMatriz(mat);
mostraMatriz(mat2);
}
Muito obrigado! mas preciso da sua juda com um exercicio!
faça um programa que receba: 1. Um vector com 8 cidades diferentes; 2. uma matriz 4×4 com distâncias entre cidades, sendo que a diagonal principal deve ser colocada automaticamente a distância a zero ou seja, não deve ser permitida a digitação. 3. O consumo de combustível de um veículo, ou seja, quantos quilómetros este veículo percorre com um litro de combustível. O programa deverá calcular e mostrar todos os percursos (nome da cidade de origem e nome da cidade de destino), juntamente com a quantidade necessária para cada veículo percorre-los.
Oi Lucas, para ajudar com o exercício, solicito que veja instruções para solicitação em: https://www.galirows.com.br/meublog/programacao/solicite-algoritmo/
Obrigado!
jaá segui as instruções e enviei!