Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

StigMa

Achar Valor em Vetor

Recommended Posts

Pessoal , estou com uma duvida no seguinte exercicio:

Ler um vetor W de 10 elementos, depois ler um valor V. Contar e escrever quantas vezes o valor V ocorre no vetor W e escrever tambem em que posicoes (indices) do vetor W o valor V aparece.Caso o valor V nao ocorra nenhuma vez no vetor W, escrever uma mensagem informando isto.

Obs: Gostaria que me ajudassem usando for ou while, sem qsort pois ainda nao dei esse assunto. usando apenas as bibliotecas stdio.h e iostream

 

Eis o que ja fiz:

 

#include <stdio.h>
#include <iostream>
main(){
	   int vetW[10],valor,i,cont=0;
		   for (i=0;i<10;i++){
		   printf("Digite o %do valor de W: ",i+1);
		   scanf("%d",&vetW[i]);
		   }
		   printf("\nDigite um valor qualquer: ");
		   scanf("%d",&valor);
		   for (i=0;i<10;i++){
		   if (vetW[i]==valor)
		   cont=cont+1;
		   }
		   printf("\nO valor aparece: %d vezes no vetor",cont);
		   system("pause");
		   }

 

Falta a parte que ele procura as posicoes no vetor, Agradeco desde ja

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include <stdio.h>

int main(){
	int vetW[10],valor,i,cont=0, pos[10];
		for (i=0;i<10;i++){
			printf("Digite o %do valor de W: ",i+1);
			scanf("%d",&vetW[i]);
		}
		printf("\nDigite um valor qualquer: ");
		scanf("%d",&valor);
		for (i=0;i<10;i++){
			if (vetW[i]==valor)
			pos[cont++]=i;

		}
		printf("\nO valor aparece: %d vezes no vetor\nNas posicoes: ", cont);
		for (i=0;i<cont;i++) printf("%d ", pos[i]+1);//digamos q o vetor comeca no valor 1
		return 0;
}

[[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include <iostream>
#include <vector>

using namespace std;

vector < int > W;
vector < int > pos;
int main()
{

	for(int i=0;i<10;i++){
			cout << "Vetor[" << W.size() <<"], Valor = ";
	int tp;
	cin >> tp;
	W.push_back(tp);
	}
	int V;
	cout << "Digite um valor qualquer ";
	cin >> V;
	int i = 0;
	while( i< 10 ){
		if(W[i] == V)
		pos.push_back(i);

		i++;
	}
	if(pos.size() == 0)
	cout << "Nao foi encontrado nenhuma ocorrencia" << endl;
	else
	cout << "Encontradas " << pos.size() << " Ocorrencias nas posicoes : ";
	for(int z=0;z < pos.size();z++) cout << pos[z] << ",";

return 0;
}

Vetor é melhor que array ;D

 

qlq duvida é so postar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sil...

O código do cara está em C, não existem vetores em C!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É verdade...

Não tinha visto a iostream lá, se for c++, você está correto! Mais vale usar vetores a arrays, a não ser alguns casos específicos.

 

Mas vem cá, se ta usando a iostream, pra que a stdio? Pra usar scanf e printf vá com a versão C++ da stdio.h, a cstdio

Não é bom incluir bibliotecas C em um código C++.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.