Ir ao conteúdo

Posts recomendados

Postado

Fiz um algoritmo para ler um numero que indica a quantidades de elementos do vetor e mostre o seu maior elemento e sua posição. Mas ele não mostra a posição do maior elemento, só mostra o tamanho do vetor. Por favor, me ajudem a encontrar o erro:

#include <stdio.h>
int main(){
    int v[10005], i, n, l, maior, anterior, local;
    l=1;
    local=0;
    anterior=0;
    while(l!=0){
        scanf("%i", &n);
        if(n==0) return 0;
        for(i=0; i<n; i++){
            scanf("%i", &v);
            if(anterior>v){
                maior=anterior;
                local=i;
            }else{
                maior=v;
                anterior=v;
            }
        }
        printf("%i %i\n", local, maior);
        anterior=0;
    }
    return 0;
}
 

  • Curtir 1
Postado

@luisfelip

#include <stdio.h>

int main()
{
	int v[10005], i, maior, local, n, l/*, anterior*/;

	l = 1;
	local = 0;
	//anterior = 0;

	maior = v[0];
	while (l != 0)
	{
		scanf_s("%i", &n);
		if (n == 0) return 0;

		for (i = 0; i < n; i++)
		{
			scanf_s("%i", &v[i]);
			//if (anterior > v[i])
			if (v[i] > maior)
			{
				maior = v[i];
				local = i;
			}
			//else
			//{
			//	maior = v[i];
			//	anterior = v[i];
			//}
		}

		printf("%d %d\n", local, maior);
		//anterior = 0;
	}
	return 0;
}

 

  • Curtir 1
Postado

@Gustavo Andretto Valeu cara! Eu testei e está aparecendo os valores certos. O único problema é que quando entro com outro valor para 'n' e para o vetor, imprime os mesmos valores da primeira vez. Um exemplo de como de como deve ser entrada e saída:

Entrada;

10
6 54 7 3 73 6 67 23 6 9
5
9 8 7 6 5
8
0 1 2 3 4 5 6 7
0

___________________
Saída
4 73
0 9
7 7

  • Curtir 1
Postado

@luisfelip    seu código está bom, mas está precisando de mais algumas linhas

então experimente esse aqui :

#include <stdio.h>
int main(){
    int v[10005], i, n, l,cont, maior, anterior, local;
    int x,y,c;
    l=1;
    local=0;
    anterior=0;
    while(l!=0){
        printf("digite um numero para quantos numeros e zero para sair ");
        scanf("%i", &n);
        if(n==0) return 0;
        cont=0;
        for(i=0; i<n; i++){
            printf("digite um numero ");
            cont++;
            scanf("%i", &v[i]);
            if(anterior>v){
                maior=anterior;
                local=i;
            }else{
                maior=v[0];
                anterior=v;
            }
        }
        i=0;
        while(v[i]!=0)
        {
           i++;
        }
        printf("A Quantidade De Elementos Do Vetor é ");
        printf("%d\n",i);

        for(x=0;x<i-1;x++)
        {
            c=v[x];
            for(y=x+1;y<i;y++)
            {
                if(v[x]<v[y])
                {
                    v[x]=v[y];
                    v[y]=c;
                }
            }
        }
        maior=v[0];
        local=1;
        printf("Aqui O Local ");
        printf("%i\n", local);
        printf("Aqui O Maior ");
        printf("%d\n",maior);
        anterior=0;
    }
    return 0;
}

 

  • Curtir 1
Visitante
Este tópico está impedido de receber novas respostas.

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!