Jump to content
Fórum Script Brasil
  • 0

Ponteiros


Leonardo Prass
 Share

Question

Escrever um programa para alocar dinamicamente um vetor de inteiros, preencher este vetor com valores lidos do teclado e, por último, escrever o vetor Completar este programa ( sempre usando ponteiros) para informar ao usuário: o maior valor no vetor; o menor valor no vetor; o valor médio armazenado no vetor; e o número de valores negativos no vetor; imprimir os elementos em ordem contrária.

Alguém poderia me ajudar com essa questão?

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Alocar: int *p = new int[tamanho]; sendo tamanho uma variável que você leu com cin anteriormente. Não se esqueça de adicionar delete[] p; antes de sair do programa para liberar a memoria. Pode usar isso igual que um vetor normal, ou seja, p[0]=1;.

O resto acho que você sabe como fazer não? Comece o programa e diga as partes que você tem mais problema.

Link to comment
Share on other sites

  • 0
 #include <iostream>
 # include <stdio.h>
 # include <conio.h>
 using namespace std;
 main(){

        int Vetor[5];
        int maior,menor,negativos;
        int *x;

        for (int i=0; i<5; ++i){
           cout<<"DIGITE OS VALORES DO VETOR: ";
           cin>>Vetor[i];
        }


        maior=Vetor[1];
        menor=Vetor[1];


        for (int i=0; i<5; ++i){
            if (Vetor[i]>maior) maior=Vetor[i];
            if (Vetor[i]<menor) menor=Vetor[i];
            if (Vetor[i]<0) negativos=Vetor[i];
        }

       cout<<" Maior Elemento do Vetor " <<maior<<"\n";
       cout<<" Menor Elemento do Vetor " <<menor<<"\n";
       cout<<"Negativos "<<negativos;

       return 0 ;
 }

Bem eu primeiro To adicionando o Vetor depois Comeco Com os ponteiros esse codigo eu me inspirei em um encontrado na net

a unica coisa que não entendi e que porque

 maior=Vetor[1];
        menor=Vetor[1];isso seria 2 posiçao do vetor ?
if (Vetor[i]>maior) maior=Vetor[i]; maior =Vetor [i] Nao seria o contrario?
Link to comment
Share on other sites

  • 0
 #include <iostream>
 # include <stdio.h>
 # include <conio.h>
 using namespace std;
 main(){

        int Vetor[5];
        int maior,menor,negativos;
        int *x;
        int cont;
        float media;
        for (int i=0; i<5; ++i){
           cout<<"DIGITE OS VALORES DO VETOR: ";
           cin>>Vetor[i];

        }



        media=Vetor [0];
        maior=Vetor[1];
        menor=Vetor[1];


        for (int i=0; i<5; ++i){

            media=media+Vetor[i]/5;
            if (Vetor[i]>maior) maior=Vetor[i];
            if (Vetor[i]<menor) menor=Vetor[i];
            if (Vetor[i]<0) negativos=Vetor[i];

       }

       cout<<" Maior Elemento do Vetor " <<maior<<"\n";
       cout<<" Menor Elemento do Vetor " <<menor<<"\n";
       cout<<"Negativos "<<negativos<<"\n";
       cout<<media;



       return 0 ;
 }

O Que esta Errado Na Média Aritimética?

E Negativos.

 

Link to comment
Share on other sites

  • 0

você não inicializou as variáveis com seus valores corretos, elas contem resíduos. A negativos deverias atribuir um valor de 0, a maior também deverias atribuir um valor de zero, porem menor deveria se inicializada com o maior valor para assim ir decrementando até chegar no menor numero, nesse caso você tem 2 opções, ou você atribui a ela o maior valor permitido por um inteiro, ou você atribui a ela o maior valor na hora de ler com cin e um processo similar ao de descobrir qual o maior numero.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      149.9k
    • Total Posts
      646.8k
×
×
  • Create New...