Alguém pode me ajudar preciso para amanha !!!
Crie um programa para manipular vetores. O Seu programa deve implementar uma função chamada inverte_vetor, que recebe como parâmetro dois vetores V1 e V2, ambos de tamanho N. A função deve copiar os elementos de V1 para V2 na ordem inversa. Ou seja ,se a função receber V1 = {1,2,3,4,5} ,a função deve copiar os elementos para V2 na seguinte ordem: V2 = {5,4,3,2,1}. Além disso, a função também deve retornar o maior
valor encontrado em V1. A função deve obedecer ao seguinte protótipo:
int inverte_vetor (int *vl, int *v2, int n);
Em seguida, implemente no mesmo modulo outra função chamada multiplica_escalar,
que recebe como parâmetro dois vetores V1 e V2 (ambos de tamanho N), e um número inteiro X. A função deve multiplicar cada um dos elementos de V1 por X e armazenar os resultados em V2.
A função deve obedecer aos seguinte protótipo:
void multiplica_escalar (int *vl, int *v2, int x, int n);
Em seguida crie a função principal do programa utilizando as funções inverte_vetor e multiplica_escalar para inverter um vetor de tamanho 10 fornecido pelo usuário e em seguida multiplicar esse vetor por um escalar também fornecido pelo usuário. Por ultimo , o programa deve exibir o vetor resultante.
Respostas
Resposta:
Vou dar a resposta usando a linguagem de programação C
Explicação:
#include <stdio.h>
#include <stdlib.h>
/*Resposta dada por Natan Soares (92) 98146-5148*/
int inverte_vetor (int *v1, int *v2, int n)
{
int i, j,l=n-1, maior = 0, a;
for (i=0;i<n;i++)
{
//armazenar o maior valor de v1 em 'maior'
if(v1[i] > maior)
maior = v1[i];
}
//Ordenando v1 em ordem crescente
for (i=0;i<n;i++)
for (j=0;j<n;j++)
if (v1[j]>v1[i])
{
a=v1[j];
v1[j]=v1[i];
v1[i]=a;
}
//invertendo o v1 em v2
for (i=0;i<n;i++)
{
v2[l] = v1[i];
l--;
}
printf("\n\nImprimindo V1 ordenado\n\n");
for (i=0;i<n;i++)
printf("%d | ",v1[i]);
printf("\n\n\n");
printf("\n\nImprimindo V2 invertido\n\n");
for (i=0;i<n;i++)
printf("%d | ",v2[i]);
return maior;
}
void multiplica_escalar (int *v1, int *v2, int x, int n)
{
for (int i=0;i<n;i++)
{
v2[i] = v1[i]*x;
}
printf("\n\nImprimindo V2 da multiplicação escalar!\n\n");
for (int i=0;i<n;i++)
{
printf("%d | ", v2[i]);
}
}
int main()
{
int n = 10, vet1[n], vet2[n], maior, x;
for (int i=0;i<n;i++)
{
printf("Digite um valor para posição %d do vetor: ",i+1);
scanf("%d",&vet1[i]);
}
printf("\n\nDigite um valor para a multiplicação escalar: ");
scanf("%d",&x);
maior = inverte_vetor(vet1, vet2, n);
multiplica_escalar(vet1,vet2,x,n);
printf("\n\nMaior valor de V1 é %d\n\n\n", maior);
}