ewerton150 Postado Novembro 22, 2014 Denunciar Share Postado Novembro 22, 2014 Ola amigos tenho 3 questoes a serem resolvidas em c++ consegui fazer o codigo de 2 mais não esta funcionando já a terceira não consegui, podem ver? 9) Crie uma função inverte() que receba um vetor de caracteres (string), definida pelo usuário, e devolve o vetor de caracteres invertido. Imprima o vetor de caracteres no final. Observação: Sua função deve inverter a posição de todos os elementos e NÂO imprimir o vetor original ao contrário. (Não consegui Fazer o codigo) 10) Escreva uma função CALCULA que: receba como parâmetros duas variáveis inteiras, X e Y; retorne em X a soma de X e Y; retorne em Y a subtração de X e Y. Teste sua função em um programa principal main(). Sugestão: Declare X e Y como variáveis inteiras comuns e passe para a função os endereços &X e &Y. Na função declare X e Y como ponteiros . Código #include<stdio.h> int calcula (int x, int y){ int *ponteiroY=&y; int *ponteiroX=&x; x=((*ponteiroX)+(*ponteiroY)); y=((*ponteiroX)-(*ponteiroY)); return x; return y; } int main(){ int X,Y,SOMA,SUBTRACAO; printf("Digite o valor de X: "); scanf("%d",&X); printf("Digite o valor de Y: "); scanf("%d",&Y); X=calcula(X, Y); Y=calcula(X,Y); printf("O Valor da soma de X e: %d \n",X); printf("O Valor da subtracao de Y e: %d",Y); } 11) Escreva uma função que receba dois vetores de inteiros, v[] e u[], e que calcule e retorne o produto escalar desses vetores. A expressão do produto escalar é dado por ⃗v⋅⃗u=v1 u1+v2 u2+...+vn un , n é o número de elementos. Código #include<stdlib.h> #include<stdio.h> int vetor(){ int A[10], int B[10]; int multiplica,PE=0,i; for (i=0;i<=1; i++){ multiplica=A*B ; PE=PE+multiplica; } } main(){ int A[10], B[10], multiplica,PE=0,i; for (i=0;i<=1; i++){ int Vetor; printf("digite o valor de A: "); scanf("%i", &A); printf("digite o valor de B: "); scanf("%i", &B); } Vetor=vetor(); printf("A soma do Produto escalar dos vetores são: %i \n", Vetor); system("pause"); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ScreenBlack Postado Novembro 24, 2014 Denunciar Share Postado Novembro 24, 2014 Para a questão 10, pode simplificar da seguinte forma: void calcula (int *x, int *y) { *x += *y; *y = *x - (2 * *y); // Como o valor de X está somado Y, precisamos remover duas vezes de X o valor Y. } Chamada na função principal: calcula( &X, &Y ); printf("O Valor da soma de X e Y: %d \n", X); printf("O Valor da subtracao de X e Y: %d", Y); Na questão 11, precisa passar os vetores por parâmetros para a função: int vetor(int A[10], int B[10], int qtdElementos) { int Resultado = 0; int i = 0; for ( i = 0; i < qtdElementos; i++ ) Resultado += ( A[i] * B[i] ); return Resultado; } Trecho da função principal: for ( i = 0; i < 3; i++ ) { printf("digite o valor de A: "); scanf("%d", &A[i]); printf("digite o valor de B: "); scanf("%d", &B[i]); qtdElementos++; } Resultado = vetor(A, B, qtdElementos); printf("A soma do Produto escalar dos vetores: %i\n", Resultado); Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ewerton150
Ola amigos tenho 3 questoes a serem resolvidas em c++
consegui fazer o codigo de 2 mais não esta funcionando já a terceira não consegui, podem ver?
9) Crie uma função inverte() que receba um vetor de caracteres (string),
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.