wyszukiwanie danych w tablicy

0

witam. mam następujący problem. dopiero zaczynam zabawę z C++ i moje pytanie jest następujące. mam tablicę

double x_y[4.21,4.37,4.52,5.11,5.36,5.52,6.01,6.13,6.21,6.28,6.41,6.51,7.05,7.14,7.21,7.36,
	7.53,8.06,8.21,8.31,8.52,9.07,9.20,9.51,10.21,10.55,11.09,11.21,11.51,12.06,12.21,12.57,13.21,
	13.36,13.53,14.21,14.51,15.06,15.20,15.36,15.51,16.06,16.23,16.36,16.51,17.06,17.19,17.54,18.04, 
	18.21,18.52,19.22,19.53,20.22,20.51,21.22,21.54,22.22,22.59,23.41]
	

jak widać są to godziny. i teraz chciałbym, aby po wprowadzeniu godziny np. 13 z tablicy wyszukało mi to 13.21,13.36,13.53. pomoże ktoś?:)

1

Poszukaj pod kątem nearest element in array.

0

Problem banalny, wiec masz. Standard c++0x + mingw

#include <iostream>
#include <vector>

using namespace std;

vector<double> getNearest(vector<double>tab, int searchFor)
{
    vector<double>result;
    for(double i : tab)
    {
        if(static_cast<int>(i) == searchFor)
            result.push_back(i);
        if(static_cast<int>(i) > searchFor) // zakladajac ze tablica wejsciowa jest posortowana
            break;
    }
    return result;
}

int main()
{
    vector<double> x_y = {4.21,4.37,4.52,5.11,5.36,5.52,6.01,6.13,6.21,6.28,6.41,6.51,7.05,7.14,7.21,7.36,
            7.53,8.06,8.21,8.31,8.52,9.07,9.20,9.51,10.21,10.55,11.09,11.21,11.51,12.06,12.21,12.57,13.21,
            13.36,13.53,14.21,14.51,15.06,15.20,15.36,15.51,16.06,16.23,16.36,16.51,17.06,17.19,17.54,18.04,
            18.21,18.52,19.22,19.53,20.22,20.51,21.22,21.54,22.22,22.59,23.41};

    for(double i : getNearest(x_y,13))
        cout << i << ' ';
    cout << endl;
    return 0;
}
0

traktowanie liczb w systemie sześćdziesiątkowym jako liczby w systemie dziesiątkowym dość szybko się zemści.

1 użytkowników online, w tym zalogowanych: 0, gości: 1