How to check if a sequence of numbers is a Geometric progression (consecutive ratios are the same) in C++

1 Answer

0 votes
#include <iostream>

bool isGeometricProgression(int arr[], int size) {
    if (size == 1) {
        return true;
    }
 
    int ratio = arr[1] / (arr[0]);

    for (int i = 1; i < size; i++) {
        if ((arr[i] / (arr[i - 1])) != ratio) {
            return false;
        }
    }
    
    return true;
}
 
int main()
{
    int arr[] = {9, 27, 81, 243, 729, 2187 };
    int size = sizeof(arr) / sizeof(arr[0]);
 
    (isGeometricProgression(arr, size)) ? (std::cout << "Yes") : (std::cout << "No");
}
 
 
 
/*
run:
 
yes
 
*/

 



answered Sep 21, 2024 by avibootz
...