Ir ao conteúdo

Posts recomendados

Postado

Preciso construir um codigo em que primeiro pergunta qual a quantidade de valores vai tero codigo

segundo escreve os valores

depois armazena no vetor A os positivos e em B os negativos

o 0 é ignorado

e depois

Se a quantidade de valores positivos for maior ou igual a quantidade de valores negativos, mostre a média e quantos valores estão acima da média dos valores positivos e separar os valores por espaço.

Se a quantidade de valores negativos for maior do que a quantidade de valores positivos, mostre quantos valores negativos foram fornecidos.

  • Obrigado 1
Postado

@chokex   use a função scanf para pegar o que o usuário digitar no teclado ,  e crie os dois vetores usando esse valor digitado ,  e os números negativos podem ser detectados usando o comando IF  , comparando com zero , e se for menor que zero é negativo ,  e a média é somar todos os valores positivos e dividir pela qtd de positivos , e depois que você fizer um código sobre esse exercício , poste ele aqui e ajudaremos se precisar  .

  • Curtir 2
  • Obrigado 1
Postado

consegui ate essa parte 

#include <stdio.h>

int main (){
int N, vetPos[N], vetNeg[N];
int valor, i, cont;
cont = 1;

  printf ("Insira a quantidade de numeros: ");
  scanf ("%i", &N);

do{
    printf("Informe um valor: ");
    scanf("%d",&valor);

    if(valor > 0){
        //insere no vetor positivo
        for(i=0;i<N;i++){
            vetPos[i] = valor;
        }
    }else if(valor< 0){
        //insere no vetor negativo
        for(i=0;i<N;i++){
            vetNeg[i] = valor;
        }
    }
    valor = 0;
    cont++;
}while(cont<=N);
  if (vetPos>= vetNeg){
    media= 
  }


return 0;
}

 

 

 

Travei como calcular a media dos vetores

  • Obrigado 1
Postado

@chokex    use o botão <> "code" que está lá na barra de ferramentas da janela de postar ,

1389308180_barracode.jpg.320d38c8a2f710006fe7001ac2621c03.jpg

para que seu código fique bem formatado e coloridinho e mais fácil de copiar para testar  ,:

#include <stdio.h>
int main ()
{
  int N;                       /// vetPos[N], vetNeg[N]; N não foi inicializado
                               /// assim os vetores terao qtd de posições desconhecidas
  int valor, iP = 0,iN = 0, cont = 0;
  int tot = 0;
  int i = 0;
  float media = 0;
  printf ("Insira a quantidade de numeros: ");
  scanf ("%d", &N);  /// d de Decimal
  int vetPos[N];
  int vetNeg[N];
  do
  {
    printf("Informe um valor: ");
    scanf("%d",&valor);

    if(valor > 0)
    {
        //insere no vetor positivo
        vetPos[iP] = valor;
        iP++;
    }
    else
    {
      if(valor < 0)
      {
        //insere no vetor negativo
        vetNeg[iN] = valor;
        iN++;

      }
    }
    cont += 1;
  }while( cont < N );

  if ( sizeof(vetPos) / 4 > sizeof(vetNeg) / 4 )
  {
    for(i=0; i<iP; i++ )tot += vetPos[i];
    printf("MediA => %.2f",media = (float)tot/iP);
  }
  return 0;
}

 

  • Curtir 1
Postado
2 horas atrás, devair1010 disse:

@chokex    use o botão <> "code" que está lá na barra de ferramentas da janela de postar ,

1389308180_barracode.jpg.320d38c8a2f710006fe7001ac2621c03.jpg

para que seu código fique bem formatado e coloridinho e mais fácil de copiar para testar  ,:

#include <stdio.h>
int main ()
{
  int N;                       /// vetPos[N], vetNeg[N]; N não foi inicializado
                               /// assim os vetores terao qtd de posições desconhecidas
  int valor, P = 0,N = 0, cont = 0;
  int tot = 0;
  int i = 0;
  float media = 0;
  printf ("Insira a quantidade de numeros: ");
  scanf ("%d", &N);  /// d de Decimal
  int vetPos[N];
  int vetNeg[N];
  do
  {
    printf("Informe um valor: ");
    scanf("%d",&valor);

    if(valor > 0)
    {
        //insere no vetor positivo
        vetPos[P] = valor;
        P++;
    }
    else
    {
      if(valor < 0)
      {
        //insere no vetor negativo
        vetNeg[N] = valor;
        N++;
      }
    }
    cont += 1;
  }while( cont < N );

  printf("tam vetPos = %d\ntam vetNeg = %d\n",sizeof(vetPos) / 4, sizeof(vetNeg) / 4);
  if ( iP > iN )
  {
    for(i=0; i<iP; i++ )tot += vetPos[i];
    printf("MediA => %.2f",media = (float)tot/iP);
  }  
  return 0;
}

 

 

  • Curtir 1
Postado

testei seu codigo e mesmo assim não aparece as medias pra mim, só aparece pra colocar os valores e retorna o 0. 

 

 

  • Curtir 1
Postado

agora entendi o que aconteceu, acho que entendeu errado a pergunta. é tipo assim: primeiro pergunta quantos numero(exemplo; 5) ai insere os numeros (exemplo: 5,-8,9,4,-3), depois armazena em A os positivos (5,9,4)

e em B os negativos (-8,-3). Se a quantidade em A>=B mostrar a media e a quantidade de valores positivos acima da media. Se a quantidade em B>A mostrar quantos valores foram fornecidos em B.

  • Obrigado 1
Postado

Olá, tudo bem? Espero que esteja bem.

Se habilita os alerta do compilador, o primeiro seria sobre o variável `N` que foi usada, porém, não inicializada. Dê oportunidade para edução via compilador com ativação de alerta.

image.png.5f83bd112abed3b9d6e952f23567245e.png

Em 19/03/2022 às 18:23, chokex disse:

Se a quantidade de valores positivos for maior ou igual a quantidade de valores negativos, mostre a média e quantos valores estão acima da média dos valores positivos e separar os valores por espaço.

image.png.061bde814e9b379f6df03eb874cdf3af.pngSe o n. itens positivos não é menor que negativos deverá um resultado que depende de duas médias: a média (dos itens) e a média somente dos positivos.

Em 19/03/2022 às 21:41, chokex disse:

Travei como calcular a media dos vetores

* Destrave, pense no problema dissociado da questão, faça do problema um sub-exercício e depois importe o que aprendeu.

 

          * Codifique uma solução (numa função se preferir)  que itera os itens  de um  vetor e imprime  no  terminal

          *, re-codifique a solução anterior para não só imprimir como também adicionar e retornar a soma dos itens

          *, por último, use a solução para definir  a média aritmética; com a divisão de retorno pela quantia de itens

          

Verá código análogo a esta

Em 20/03/2022 às 07:56, devair1010 disse:
for(i=0; i<iP; i++ )tot += vetPos[i];
printf("MediA => %.2f",media = (float)tot/iP);

 

Pode até ser mais|menos verborrágico com relação os nomes das variáveis, o que importa é a lógica. E no caso, existe adição dos itens de `vetPos` em tot, após se calcula o quociente (real) da soma pela quantidade de itens, ou simplesmente, a média.

 

🙂 

  • Curtir 1
  • Obrigado 1

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...