Next exercise from codeLab that I am getting logical error indication for.
What am I missing? Thanks in advance.

You are given an array x of string elements along with an int variable n that contains the number of elements in the array. You are also given a string variable mode that has been declared. Assign to mode the mode value of the array. (Assume there are no "ties".)

NOTE: The mode is the value that occurs most frequently.

EXAMPLE: Given "msft" "appl" "msft" "csco" "ibm" "csco" "msft", the mode is "msft" because it appears the most number of times in the list.

This is my code:

int countPrev=0;
for (int j=0; j<n; j++) {
    if (x[0]==x[j])
        countPrev++;
}
int count=0;
for (int i=1; i<n; i++) {
    for (int j=1; j<n; j++) {
        if (x[i]==x[j])
            count++;
    }
    if (countPrev>count)
        mode=x[i-1];
    else
        mode=x[i];
    countPrev=count;
}

Recommended Answers

All 2 Replies

You are not reseting count anywhere. After line 16 put count = 0; and see what happenes.

Hi Nathan,
i added count reset (thanks!!), and also on line 8 loop has to start from 0, not 1..
moving on to the next exercise.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.