naJwiększa liczba z głównej przekątnej - wpisanie do całEgo wiersza

0

Jak znaleźć największą liczbę głównej przekątnej i wpisać ją do całego wiersza w którym jest ta liczba?
Znalezienie największej liczby udało mi się, natomiast nie mam pomysłu jak wpisać teraz tą liczbę do całego wiersza.

double najwiekszaLiczba;
    najwiekszaLiczba = A[0][0];

    for (int x=1; x<n; x++)
    {
        for(int y=1; y<n; y++ )
        {
                if (A[x][y] > najwiekszaLiczba)
                najwiekszaLiczba = A[x][y];
        }
    }

0

Co masz na myśli pisząc „wpisać teraz tą liczbę do całego wiersza”? Zastąpić wszystkie wartości na głównej przekątnej tą liczbą? To jak już znajdziesz, to w takiej samej pętli zamiast porównywać, przypisujesz.

Poza tym, zwróć uwagę, że Ty przeszukujesz całą tablicę, a nie tylko jej główną przekątną.

0
Althorion napisał(a):

Co masz na myśli pisząc „wpisać teraz tą liczbę do całego wiersza”? Zastąpić wszystkie wartości na głównej przekątnej tą liczbą? To jak już znajdziesz, to w takiej samej pętli zamiast porównywać, przypisujesz.

Poza tym, zwróć uwagę, że Ty przeszukujesz całą tablicę, a nie tylko jej główną przekątną.

Naprawiłem problem z wczytywaniem po skosie, mimo iż na moim zapisie.

 double najwiekszaLiczba;
    najwiekszaLiczba = A[0][0];

    for (int x=0; x<n; x++)
    {
        if (A[x][x] > najwiekszaLiczba)
        najwiekszaLiczba = A[x][x];
    }

Lecz nadal nie mam pojęcia jak nadpisać wartości na tą największą liczbę w wierszu gdzie ona występuje.

2
bifed85954 napisał(a):
    if (A[x][x] > najwiekszaLiczba)
    najwiekszaLiczba = A[x][x];

Zmień na, i dalej wiesz jak ...

     if (A[x][x] > najwiekszaLiczba) {
       najwiekszaLiczba = A[x][x];
       indekNajwiekszejLiczby = x;
     }
1

Musisz jeszcze zapamiętać, w którym wierszu ta najwiekszaLiczba była — tzn. zrobić sobie jeszcze jedną zmienną, wierszZMaksimum, czy coś, i jak if (A[x][x] > najwiekszaLiczba), to podmieniać wierszZMaksimum = x.

A jak już znasz wiersz, to przelatujesz w pętli przez niego i podmieniasz.

0
Althorion napisał(a):

Musisz jeszcze zapamiętać, w którym wierszu ta najwiekszaLiczba była — tzn. zrobić sobie jeszcze jedną zmienną, wierszZMaksimum, czy coś, i jak if (A[x][x] > najwiekszaLiczba), to podmieniać wierszZMaksimum = x.

A jak już znasz wiersz, to przelatujesz w pętli przez niego i podmieniasz.

    for (int x=0; x<n; x++)
    {
        if (A[x][x] > najwiekszaLiczba)
        {
        najwiekszaLiczba = A[x][x];
        indeksNajwiekszejLiczby = x;
        }
    }
    cout << endl;

    for (int x=0; x<n; x++)
    {
        for (int y=0; y<n; y++)
        {
            cout << fixed << setprecision(M) << setw(D)<< A[x][y];
        }
        cout << endl;
    }

Aktualnie mam coś takiego, drukuje mi ponownie całą tablicę, lecz mam problem z podmianą wartości w konkretnym wierszu.

0
bifed85954 napisał(a):

Aktualnie mam coś takiego, drukuje mi ponownie całą tablicę, lecz mam problem z podmianą wartości w konkretnym wierszu.

Jaki problem? Coś nowego jest w tym: A[indeksNajwiekszejLiczby][x]=najwiekszaLiczba; ?

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