mit welchen eingaben...
-
also ich will aus 10 Zahlen jeweils wissen wie oft eine zahl vorkommt...
BSP:
10,10,10,11,11,12,12,13,17,12
10 = 3mal
11 = 2mal
12 = 3mal
13 = 1mal
17 = 1malaber bei mir springt er immer nach der eingabe aus dem programm...
was mach ich falsch??
-
Wenn du mehrere Werte zählen willst, mußt du das in einer eigenen Schleife erledigen:
do { cin>>key; if(key>0) { int ct = count(...); cout<<key<<" kommt "<<ct<<" mal vor."<<endl; } } while(key>0);
-
key ist in dem fall die zahl von der ich wissen will wie oft sie vorkommt??
-
Jens Friedrich schrieb:
key ist in dem fall die zahl von der ich wissen will wie oft sie vorkommt??
Ja, aber das war sie doch schon in deinem letzten Code.
-
kann mir jemand sagen wo hier noch ein fehler steckt wenn ich auflisten will wie oft jede eingegeben Zahl vorkommt...
#include <iostream>
using namespace std;int main (void)
{
int Zahl[10], i = 0, k, b, key;
double a;while (i<10)
{
cout << "Bitte " << i+1 << "te Zahl eingeben" << endl;
cin >> a;b = ((int)a);
if(a < 10 || a != b)
cout << "Die eingegebene zahl ist zu klein, versuchen Sie es erneut." << endl;
else if(a > 20)
cout << "Die eingegebene Zahl ist zu groß, versuchen Sie es erneut." << endl;
else if(a !=b)
cout << "Die eingegebene Zahl ist keine ganze Zahl, versuchen Sie es erneut." << endl;
else
{
Zahl[i] = b; i++;
}
}do
{
cin>>key;
if(key>0)
{
int ct = count(Zahl[i]);
cout<<key<<" kommt "<<ct<<" mal vor."<<endl;
}
}
while(key>0);
}
-
#include <map> ... using namespace std; ... map<int,int> count; for(int i = 0; i < 10; i++){ count[Zahl[i]]++; } map<int,int>::iterator iter; for(iter = count.begin(); iter != count.end(); ++iter){ cout << iter->first << " kommt " << iter->second << " mal vor" << endl; }
-
des is doch aber wieder mit vector <> oder??
muss des aber mim array machen..
-
Wenn du für alle Werte in deinem Zahlenbereich zählen mußt, sieht die Schleife etwas anders aus:
for(int key=10;key<=20;++key) { int ct=std::count(Zahl,Zahl+10,key);//oder deine selbstgeschriebene Zählschleife if(ct>0) cout<<key<<"-"<<ct<<endl; }
-
Hier mal eine schnell hingeklatsche "Lösung". Variablennamen absichtlich stumpf gewählt.

num ist hierbei die Anzahl an Elementen im zu parsenden Array. Zahl das Array mit den Elementen. Fertig.
for(int i = 0; i < num; i++){ int Anz = 1; bool alt = false; for(int n = 0; n < i; n++){ if (Zahl[n] == Zahl[i]){ alt = true; break; } } if (alt) continue; for(int k = i + 1; k < num; k++){ if (Zahl[k] == Zahl[i]) Anz++; } cout << Zahl[i] << " kommt " << Anz << " mal vor " << endl; }
-
cool danke... wart echt ne große hilfe...