Init 9
This commit is contained in:
		
							parent
							
								
									f2eb3a6ddc
								
							
						
					
					
						commit
						85597c99a5
					
				
							
								
								
									
										30
									
								
								lab_2/9_const-array.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								lab_2/9_const-array.cpp
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,30 @@ | |||||||
|  | #include <cassert> | ||||||
|  | #include <iostream> | ||||||
|  | #include <limits> | ||||||
|  | 
 | ||||||
|  | /* return the second-largest element of an array
 | ||||||
|  |  * of N integer values (must contain at least two values) | ||||||
|  |  */  | ||||||
|  | int second_of(const int N, const int* const x) { | ||||||
|  |    assert(N >= 2); | ||||||
|  |    int largest = x[0]; | ||||||
|  |     | ||||||
|  |    // smallest possible int value
 | ||||||
|  |    int second_largest = std::numeric_limits<int>::min(); | ||||||
|  | 
 | ||||||
|  |    for(int i = 1; i < N; i++) | ||||||
|  |       if(x[i] > largest) { | ||||||
|  |          second_largest = largest; | ||||||
|  |          largest = x[i]; | ||||||
|  |       } | ||||||
|  |       else if(x[i] > second_largest) | ||||||
|  |          second_largest = x[i]; | ||||||
|  |    return second_largest; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | int main() { | ||||||
|  |    constexpr int fixed_array_size = 5; | ||||||
|  |    constexpr int x[fixed_array_size] = {4, 0, 6, 5, 2}; | ||||||
|  |    const int t = second_of(fixed_array_size, x); | ||||||
|  |    std::cout << t << "\n"; | ||||||
|  | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user