Mistake in a tutorialspoint article

Revision en1, by Yashraj1402, 2024-08-30 11:06:16

The article in discussion is Find the largest three elements in an array in c++

Method 1 as given in the article (standard 3 variable approach)

But its implementation has a mistake. When they declare the 3 variables (max, max2, max3) they initialize them as:

int max, max2, max3;
max3 = max = max2 = arr[0];

This works fine until the first element of the array (arr[0]) is the greatest element, then there will be no arr[i] which satisfies any of the deciding conditions, which are:

arr[i] > max
arr[i] > max2
arr[i] > max3

Hence, if the first element of the array is the greatest element then max, max2, max3 will be equal to that element to fix this we can just initialize max, max2, max3 with a low infinity like INT_MIN, etc.

Tags array, maximum

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en1 English Yashraj1402 2024-08-30 11:06:16 1241 Initial revision (published)