O czym muszę wiedzieć?
Dana jest jednowymiarowa tablica liczb całkowitych, zadeklarowana jako int t[N];
Zapisz algorytm, który wyszukuje jednocześnie wartość najmniejszego i największego elementu
tablicy.
O czym muszę wiedzieć?
Dana jest jednowymiarowa tablica liczb całkowitych, zadeklarowana jako int t[N];
Zapisz algorytm, który wyszukuje jednocześnie wartość najmniejszego i największego elementu
tablicy.
Wszystko co potrzebne masz właściwie w zadaniu…
Zapamiętaj sobie jaki jest pierwszy element dwa razy, a potem przejrzyj element po elemencie, patrząc czy nowo napotkana wartość będzie większa od aktualnego maksimum lub mniejsza od aktualnego minimum, jeśli tak, to je zaktualizuj.
Nie wiem co się stało ale wysłałem ci rozwiązanie bo miałeś mały błąd...
void minMax( )
{
int min=t[0];
int max=t[0];
for(int i=1; i<N; i++){
if(t[i]<min) min=t[i];
if(t[i]>max) max=t[i];
}
wypisz: min, max;
}
Możecie mi jeszcze powiedzieć coś na temat tego zadania ?
Dana jest jednowymiarowa tablica liczb całkowitych, zadeklarowana jako int t[N];
Zapisz algorytm, który bada, czy wśród wszystkich elementów tablicy występuje przynajmniej jedna
para liczb równych sobie.
boolean wystepuje( )
{
boolean jest=false;
int i=0;
while((i<N) && !jest)
{
if(t1[i]==t2[i]) jest=true;
i++;
}
return jest;
}
boolean wystepuje( )
{
int i=0; int j;
boolean jest=false;
while(!jest && (i<N-1))
{ j=i+1;
while(!jest && (j<N))
if(t[i]==t[j]) jest=true;
else j++;
i++;
}
return jest;
}
Ja bym tak to zrobił może ktoś jeszcze potwierdzi..
@dorotamikroblog:
Tłumaczenie :
Analiza poprawności dla dla tablicy dwuelementowej (N=2):
W tej sytuacji pętla wewnętrzna wykona się tylko jeden raz, bo j osiągnie N niezależnie od
tego czy flaga przestawi się na true, czy nie.
Po powrocie do pętli zewnętrznej i będzie miało wartość N i powtórne wykonanie pętli
zewnętrznej nie będzie miało miejsca.
Dana jest jednowymiarowa tablica liczb całkowitych, zadeklarowana jako int t[N];
Zapisz algorytm, który bada, czy wśród wszystkich elementów tablicy występuje przynajmniej jedna para liczb równych sobie.
Narzucają się trzy rozwiązania:
Dodam jeszcze, że ponieważ mowa jest o sortowaniu liczb, można nieco zoptymalizować etap sortowania, przez zastąpienie go zliczaniem. Jakiś SparseArray będzie właściwym rodzajem kolekcji. Skończy się na pojedynczym przejściu przez tablicę wejściową, pojedynczym przejściu przez kolekcję zliczającą.
Można też użyć metody - dziel i zwyciężaj (devide and conquare).