Tässä etsitään lukujonoja, joiden kerroin on sama jokaisessa luvussa. Kertoimet ovat kokonaislukuja.
#include <iostream> using namespace std; int main(){ int maara = 0; //Syötetään lähtötiedot. cout << "Syötä määrä." << endl; cin >> maara; int luvut[maara]; cout << "Syötä luvut." << endl; for (int x = 0; x < maara; x++){ cin >> luvut[x]; } cout << endl; //Etsitään lukujonoja. //Lukujonoja on eri tyyppejä. //Etsitään lukujonoja joiden kerroin on joidenkin kokonaislukujen välillä (kokonaislukujen väli on 1) //Kerroin pitää olla koko lukujonon ajan sama. bool onko = true; bool onko_2 = false; for (int x = 0; x < maara-1; x++){ for (int y = x+1; y < maara; y++){ //Katsotaan, millaisesta lukujonosta on kyse, eli katsotaan kerroin. onko_2 = false; for (int i = 1; i <= 10; i++){ onko = true; for (int z = x+1; z <= y; z++){ if (luvut[z] <= luvut[z-1]*i || luvut[z] > luvut[z-1]*(i+1)){ onko = false; } } if (onko == true){ cout << "Kerroin:" << i << endl; onko_2 = true; } } if (onko_2 == false){ cout << "Ei kerrointa" << endl; } for (int z = x; z <= y; z++){ cout << luvut[z] << endl; } cout << endl; } } return 0; }
Aihe on jo aika vanha, joten et voi enää vastata siihen.