Znajdowanie indexu liczb z tablicy
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!

Znajdowanie indexu liczb z tablicy

AutorWiadomość
Temat założony przez niniejszego użytkownika
Znajdowanie indexu liczb z tablicy
» 2020-11-12 00:17:15
Mam taki problem z drugą czescia punktu 4. Wyznaczylem max i min punktow x i y. I teraz nie wiem co zrobic bo nie chce mi sie przekonwertowac liczby ze struktury do normalnej liczby.

Mam takie polecenie:

struct punkt{
int x,y;
};

1.Wczytaj licbe punktow (n-int)
2.Wczytaj położenie punktów do talicy
3.Napisz funkcję wypisującą położenia (void wypisz(punkt tab[], int n)
4.Napisz funkcje wyznaczającą punkt, który jest najwyżej(max y) i po lewej(min x), jednoczesnie(zwraca index)
(int ekstremum(punkt tab[], int n))
5.Napisz funkcję wyznaczającą ilosc punktów w odległsci mniejszej niz podana od (0.0)
(int liczba(punkt tab[], int n, double od[] )

A to jest moj kod:

C/C++
#include <iostream>

using namespace std;

struct punkt {
    int x, y;
};

void wypisz( punkt tab[], int n ) {
    for( int i = 0; i < n; i++ ) {
        cout << "Polozenie x,y punktu " << i + 1 << " to: " << tab[ i ].x << "," << tab[ i ].y << endl;
    }
}

int ekstremum( punkt tab[], int n ) {
    int min, max, index;
    for( int i = 0; i < n; i++ ) {
        max = tab[ 0 ].y;
        min = tab[ 0 ].x;
    }
   
    for( int i = 0; i < n; i++ ) {
        if( tab[ i ].y > max ) max = tab[ i ].y;
       
        if( tab[ i ].x < min ) min = tab[ i ].x;
       
    }
    for( int i = 0; i < n; i++ ) {
        if( max = tab[ i ] ) {
            index = i;
        }
    }
    return index;
}
int main()
{
    punkt tab[ 100 ];
    int n;
   
    cout << "Podaj ilosc punktow: ";
    cin >> n;
    for( int i = 0; i < n; i++ ) {
        cout << "Podaj polozenie punktu " << i + 1 << " x: "; cin >> tab[ i ].x;
        cout << "Podaj polozenie punktu " << i + 1 << " y: "; cin >> tab[ i ].y;
    }
    cout << endl << endl;
    wypisz( tab, n );
    cout << endl << endl;
    cout << "Punkt o wspolzednych najbardziej na lewo i do gory to: " << ekstremum( tab, n );
    return 0;
}
P-177702
» 2020-11-12 00:30:50
C/C++
if( max = tab[ i ] )
Próbujesz tu przypisać strukturę do inta, zamiast może porównać inta z polem w strukturze? Ogólnie dziwne rozwiązanie tam masz. Wyznaczyłeś już maksimum, to powinieneś też wiedzieć gdzie ono jest, zamiast później próbować odzyskać tę informację na podstawie samej wartości maksimum. Te zmienne miałyby więcej sensu jako indeksy w tablicy, a nie konkretne wartości z niej. Zwróć jeszcze uwagę że rozwiązanie nie musi istnieć i ten przypadek nie jest obsłużony w ogóle.
P-177703
« 1 »
 Strona 1 z 1