StigMa 0 Denunciar post Postado Junho 27, 2009 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
quitZAUMMM 18 Denunciar post Postado Junho 27, 2009 #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
Sil.Miranda 0 Denunciar post Postado Junho 28, 2009 #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
VictorCacciari 42 Denunciar post Postado Junho 28, 2009 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
Sil.Miranda 0 Denunciar post Postado Junho 28, 2009 "usando apenas as bibliotecas stdio.h e iostream" eu achei que pela iostream ser uma biblioteca do C++ podia usar.. Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Junho 28, 2009 É 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