Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

C++ wypisanie indeksów tablicy po wyszukaniu największej sumy w podciągu

Ostatnio zmodyfikowano 2022-11-24 20:08
Autor Wiadomość
Ania_farma
Temat założony przez niniejszego użytkownika
C++ wypisanie indeksów tablicy po wyszukaniu największej sumy w podciągu
» 2022-11-23 23:36:40
Cześć,
próbuje znaleźć sposób na wypisanie indeksów tablicy pod którymi znajduje się wyszukana największa suma podciągu.

C/C++
#include <iostream>

using namespace std;
int sumCount( int arr[ ], int size );


int main() {
   
int arr[ ] = { 3, 5, 10, - 7, 87, - 55, - 100 };
   
int size = sizeof( arr ) / sizeof( arr[ 0 ] );
   
cout << "Podciag o najwyzszej sumie: " << sumCount( arr, size ) << endl;
   
   
return 0;
}

int sumCount( int arr[ ], int size )
{
   
int max_sum = arr[ 0 ], max_current = arr[ 0 ];
   
for( int i = 1; i < size; i++ )
   
{
       
max_current = max( arr[ i ], max_current + arr[ i ] );
       
max_sum = max( max_sum, max_current );
       
   
}
   
return max_sum;
   
   
//for (int i = max_current; i < max_current + max_sum; i++)
    //return  cout << arr[i] << " ";
}
Na początku chciałam żeby pętla pokazywała wszystkie liczby wyszukanego podciągu, jednak to też mi nie wyszło.
Z góry dziękuję za podpowiedzi.
P-179787
pekfos
» 2022-11-24 20:08:57
Użyj zwykłego if zamiast max().  Gdy aktualizujesz wynik, zapisz i w dodatkowych zmiennych.
P-179788
« 1 »
  Strona 1 z 1