Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: C++: Kerroinlukujono

JRokka [02.01.2020 19:06:16]

#

Tässä etsitään lukujonoja, joiden kerroin on sama jokaisessa luvussa. Kertoimet ovat kokonaislukuja.

Koodi

#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;
}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta