void Stats() // postcondition: mean and mode printed { int num; // number entered int sum = 0; // sum of all numbers entered int numNums = 0; // number of numbers entered const int MAX_SCORE = 100; int scores[MAX_SCORE + 1]; // make room for 0--100 for(num=0; num <= MAX_SCORE; num++){ // initialize scores[num] = 0; } while (cin >> num){ // loop while number entered sum += num; numNums++; scores[num] += 1; // tally the number read } if (numNums > 0){ // check for no numbers entered double average = double(sum)/numNums; cout << "mean = " << average << endl; int mode = 0; // default to 0 for(num = 1; num <= MAX_SCORE; num++){ if (scores[num] > scores[mode]){ mode = num; } } cout << "mode = " << mode << endl; } else{ cout << "no numbers entered, no stats calculated" << endl; } } int IsUrban(City stateList[]) { int totalPop = 0; int urbanPop = 0; int k; for(k=0; k < STATE_ENTRIES; k++){ totalPop += stateList[k]; if (k < 5){ urbanPop += stateList[k]; } } if (urbanPop > totalPop - urbanPop){ return 1; } else{ return 0; } } void UrbanStates(City USinfo[][STATE_ENTRIES], String stateName[]) { int k; for(k=0; k < 50; k++){ if (IsUrban(USInfo[k])){ cout << stateName[k] << endl; } } } void Set::Insert(int elt) { // check if room and element not there if (numElements < MAX_SET_SIZE && IsElement(elt) == 0){ elements[numElements] = elt; numElements += 1; } } void Intersect(const Set & A, const Set & B, Set & C) { if (A.NumElts() > B.NumElts()){ Intersect(B,A,C); // loop over smaller set } int k; int count = A.NumElts(); for(k = 0; k < count; k++){ int elt = A.KthElt(k); if (B.IsElement(elt)){ C.Insert(elt); } } }