Ir ao conteúdo

Posts recomendados

Postado

boa noite pode me ajuda eu fiz esse exercício e queria 
saber se está certo de acordo com o enunciado 

2) Faça um programa que tenha uma função que receba dois números inteiros retorne o menor número.
#include <stdio.h>
#include <iostream>
#include <locale.h>
#define  MAX 30

using namespace std;

void preencher_vetor (int n [], int tam){;
for (int i=0; i<tam;i++){
cin>> n [i];
 }
}

void imprimir_vetor (int n [], int tam){;
for (int i=0; i<tam;i++){
cout<<n [i] << "";
 }
}


int menor(int n[], int tam){
int aux_menor = n[0];
for (int i=0; i<tam; i++){
if(aux_menor> n[i+1]){
aux_menor = n[i+1];
   }
  }

return aux_menor;
}
int main(){
int n [MAX], tam;
cout<<"Digite o tamanho do vetor" << endl;
cin>>tam;
n[tam];
preencher_vetor(n,tam);
cout<< endl;
imprimir_vetor(n,tam);
cout<<"Menor elemento do vetor" << menor(n,tam) << endl;
return 0;
}
3) Escreva uma função que calcule e retorne a distância entre dois pontos ( x1, y1) e (x2, y2). Todos os números e valores de retorno devem ser do tipo float.
#include <iostream>
#include <math.h>
using namespace std;
struct Ponto{
    float x;
    float y; };
    void LerRetangulo(Ponto ret[], int tam) {
        for(int i = 0; i < tam; i++) {
                cout << "digite coordenadas x e y do ponto " << i + 1 << endl;
        cin >> ret[i].x >> ret[i].y; } }
        double CalcDistancia(Ponto ret[],
                             int tam) {
                                 double distancia = 0;
                                 for(int i = 0; i < tam; i++) {
                                        distancia += sqrt(pow(ret[i].x, 2) + pow(ret[i].y, 2));
                                 }
                                 return distancia; }
                                 void imprimir(double distancia, Ponto ret[], int tam) {
                                     for (int i = 0; i < tam; i++) {
                                            cout << "Ponto " << i << " = " << ret[i].x << ", " << ret[i].y <<endl; }
                                     cout << "Distância = " << distancia << endl; }
                                     int main(int argc, char *argv[]) {
                                         Ponto retangulo[4];
                                         LerRetangulo(retangulo, 4);
                                         imprimir(CalcDistancia(retangulo, 4), retangulo, 4);
                                         }

  • Membro VIP
Postado

Já pensou em rodar e ver por si? Mas tem algo sinistro...: tá grande d+ prum enunciado minúsculo. Num insight de minimalismo:

int retorna_menor(int a,int b)
{
int c=0;
if (a<b) c=a;
if (b<a) c=b;
return c;
}

 

4 horas atrás, oromotoceu disse:

uma função que receba dois números inteiros retorne o menor número

 

  • Curtir 2
  • Obrigado 1
Postado

@oromotoceu Use o botão Code para postar o seu código, assim fica mais organizado e melhor para ler. Nos dois exercícios você está passando um vetor como argumento para a função, mas o enunciado não diz nada sobre vetor. No primeiro só pede para passar dois números e no segundo são as coordenadas de dois pontos.

 

Sobre esta parte, 

11 horas atrás, oromotoceu disse:

distancia += sqrt(pow(ret[i].x, 2) + pow(ret[i].y, 2));

 

Para retornar a distância seu calculo deve ter as coordenadas dos dois pontos: √[(x1 - x2)² + (y1 - y2)²], p.ex,  

float qx = (x1 - x2) * (x1 - x2);
float qy = (y1 - y2) * (y1 - y2);

return sqrt(qx + qy);

 

 

  • Curtir 1
  • Obrigado 1
Postado

Não, não está.

 

Poste cada exercício em um tópico diferente e use um título de acordo, de modo a ajudar outros com a mesma dúvida ou similar. E use o botão code como explicado no primeiro post do forum....

 

Veja a diferença


2) Faça um programa que tenha uma função que receba dois números inteiros retorne o menor número.
 

 

#include <stdio.h>
#include <iostream>
#include <locale.h>
#define  MAX 30

using namespace std;

void preencher_vetor (int n [], int tam){;
for (int i=0; i<tam;i++){
cin>> n [i];
 }
}

void imprimir_vetor (int n [], int tam){;
for (int i=0; i<tam;i++){
cout<<n [i] << "";
 }
}


int menor(int n[], int tam){
int aux_menor = n[0];
for (int i=0; i<tam; i++){
if(aux_menor> n[i+1]){
aux_menor = n[i+1];
   }
  }

return aux_menor;
}
int main(){
int n [MAX], tam;
cout<<"Digite o tamanho do vetor" << endl;
cin>>tam;
n[tam];
preencher_vetor(n,tam);
cout<< endl;
imprimir_vetor(n,tam);
cout<<"Menor elemento do vetor" << menor(n,tam) << endl;
return 0;
}

 

cadê a função que recebe dois inteiros?

 

3) Escreva uma função que calcule e retorne a distância entre dois pontos ( x1, y1) e (x2, y2). Todos os números e valores de retorno devem ser do tipo float.

#include <iostream>
#include <math.h>
using namespace std;
struct Ponto{
    float x;
    float y; };
    void LerRetangulo(Ponto ret[], int tam) {
        for(int i = 0; i < tam; i++) {
                cout << "digite coordenadas x e y do ponto " << i + 1 << endl;
        cin >> ret[i].x >> ret[i].y; } }
        double CalcDistancia(Ponto ret[],
                             int tam) {
                                 double distancia = 0;
                                 for(int i = 0; i < tam; i++) {
                                        distancia += sqrt(pow(ret[i].x, 2) + pow(ret[i].y, 2));
                                 }
                                 return distancia; }
                                 void imprimir(double distancia, Ponto ret[], int tam) {
                                     for (int i = 0; i < tam; i++) {
                                            cout << "Ponto " << i << " = " << ret[i].x << ", " << ret[i].y <<endl; }
                                     cout << "Distância = " << distancia << endl; }
                                     int main(int argc, char *argv[]) {
                                         Ponto retangulo[4];
                                         LerRetangulo(retangulo, 4);
                                         imprimir(CalcDistancia(retangulo, 4), retangulo, 4);
                                         }

 

Cadê a tal função?

  • Curtir 1
  • Obrigado 1
Postado
8 horas atrás, Midori disse:

@oromotoceu Use o botão Code para postar o seu código, assim fica mais organizado e melhor para ler. Nos dois exercícios você está passando um vetor como argumento para a função, mas o enunciado não diz nada sobre vetor. No primeiro só pede para passar dois números e no segundo são as coordenadas de dois pontos.

 

Sobre esta parte, 

 

Para retornar a distância seu calculo deve ter as coordenadas dos dois pontos: √[(x1 - x2)² + (y1 - y2)²], p.ex,  

float qx = (x1 - x2) * (x1 - x2);
float qy = (y1 - y2) * (y1 - y2);

return sqrt(qx + qy);

 

 

obrigado por ter me ajudado 

  • Curtir 2

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!