Etsitään luvun ensimmäinen indeksi. Ohjelmassa käytetään vain yhtä for-silmuklaa. Indeksit haetaan jakojäännöksellä.
#include <iostream> using namespace std; int main(){ int luvut[10] = {5,12,15,16,2,12,10,5,17,8}; for (int x = 0; x < 10; x++){ cout << luvut[x] << endl; } //Taulukon indeksi haetaan jakojäännöksellä. //Haettava luku etsitään for-silmukan avulla. for (int x = 0; x < 100; x++){ if (x % 10 == 0){ //Uusi luku. cout << endl; cout << x/10+1 << ":"; } if (luvut[x%10] == (x/10)+1){ //Luku löydetty. cout << x%10; x = x+(10-x%10)-1; } } cout << endl; cout << "///" << endl; return 0; }
JRokka kirjoitti:
Ohjelmassa käytetään vain yhtä for-silmuklaa. Indeksit haetaan jakojäännöksellä.
Ohjelmassa on kaksi for-silmukkaa. Tarkoitat ilmeisesti että vain yhtä sisäkkäistä silmuttaa.
Esimerkissä tällaisenaan ei ole järkeä käytännössä koskaan. Tekniikkaa sinänsä voisi jossain erityistilanteessa tarvita kerran miljoonassa vuodessa (erittäin rajoitettu yksinkertainen mikrontrolleri jossa on pakko säästää pinoa ja rekistereitä)
kirjoitusvirhe:
JRokka kirjoitti:
silmuklaa
Aihe on jo aika vanha, joten et voi enää vastata siihen.