• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyznaczanie odległości między elementami tablicy.

Object Storage Arubacloud
0 głosów
676 wizyt
pytanie zadane 16 stycznia 2019 w Algorytmy przez 0_Stalker Nowicjusz (150 p.)
Witam, mam mały problem muszę zrobić zadanko a niestety nie wiem jak się za nie zabrać.
Mając tablice TAB = [8 3 8 2 6 4 8] mam wyznaczyć maksymalny element tablicy i zliczyć ilość występowania (to umiem) a następnie wyznaczyć minimalną odległość między elementami o maksymalnej wartości (tego już niestety nie umiem).  

Przykład: W podanej tablicy maksymalny element to 8 i występuje 3 razy, a minimalna odległość między maksymalnymi elementami wynosi 2 (indeksy) -  [8(od tego) 3(pierwszy index) 8(drugi index) 2 6 4 8]  

Jeżeli ktoś umiałby pomóc będę bardzo zobowiązany :) (najlepiej C++, C# albo schemat blokowy)
Pozdrawiam, dzięki

1 odpowiedź

+1 głos
odpowiedź 16 stycznia 2019 przez jeremus Maniak (59,720 p.)
wybrane 16 stycznia 2019 przez 0_Stalker
 
Najlepsza
może coś takiego :
to przykładowy algorytm - przy założeniu że masz już tę maksymalną liczbę
jeśli jest tylko jedna wartość maksymalna to odległość - 0 ?
jeśli tak to dodaj warunek  jeśli o==size_tab to o=0

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    int size_tab=13;
    int maksymalna_liczba=8;
    int t[size_tab]={1,3,8,3,2,7,4,6,4,8,8,8,3};
    int o=size_tab;
    int i1=-size_tab;
    for ( int i=0;i<size_tab;i++)
    {
        if ( t[i] == maksymalna_liczba )
        {
            if ( i-i1 < o )
            {
                o=i-i1;

            }
            i1=i;
        }

    }

    cout << o << endl;
    return 0;
}

 

komentarz 16 stycznia 2019 przez 0_Stalker Nowicjusz (150 p.)
tak jeśli występuję jeden raz to ma zwracać 0.

Dziękuję za pomoc :D
komentarz 16 stycznia 2019 przez 0_Stalker Nowicjusz (150 p.)

@jeremus, A gdzie dokładnie mam wstawić tego if'a "o==size_tab" ???

 

komentarz 16 stycznia 2019 przez jeremus Maniak (59,720 p.)
tutaj :   
 if ( o == size_tab ) o=0;
    cout << o << endl;

 

Podobne pytania

0 głosów
3 odpowiedzi 227 wizyt
pytanie zadane 31 maja 2020 w C i C++ przez Dezmonths Początkujący (310 p.)
0 głosów
1 odpowiedź 1,707 wizyt
pytanie zadane 14 stycznia 2019 w PHP przez Krzysztof Narczynski Początkujący (370 p.)
0 głosów
1 odpowiedź 497 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...