C++: Zad.1Utwórz n-elementową tablicę liczb całkowitych, gdzie n podawane jest przez użytkownika. A)Wypełnij tablicę wartościami podanymi przez użytkownika. B)Znajdź najmniejszy i największy element w tablicy. C)Oblicz średnią wartość elementów tablicy. D)Wylicz ilość wystąpień cyfry 3 w tablicy. E)Dowolnym sposobem posortuj elementy tablicy w porządku rosnącym. F)Znajdź medianę elementów tablicy. G)Wypisz 3 najmniejsze i trzy największe elementy tablicy. H)Zwiększ wartość każdego elementu tablicy podnosząc go do kwadratu. I)Policz ilość liczb parzystych i nieparzystych w tablicy. J)Podaj ile liczb zawartych w tablicy jest podzielna bez reszty przez 3.
Proszę o pomoc z podpunktem: b,e,f i g. Poproszę również o wytłumaczenie sposobu wykonania podpunktu f :)
aby znaleźć najmniejszy element to tworzysz zmienną do której przypisujesz 1 element z tablicy
potem przechodzisz po całej liście i sprawdzasz czy jakiś element nie jest mniejszy od niego jeśli tak to ustawiasz wartość zmiennej na ten element
mój szybki kod wygląda tak :
int max = arr[0];
int min = arr[0];
for (int i = 1; i < n; i++)
{
if (arr[i] < min) min = tab[i];
else if (arr[i] > max) max = arr[i];
}
e)
Jest wiele algorytmów sortowanie, ale najprostszym na początek do użycia jest bubble sort. Nie będę się rozpisywał jak działa bo jest ogrom filmów na Internecie o tym. Po polsku nazywa się to srtowanie bąbelkowe.
int t;
for (int i = 0; i < n - 1 ; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
t = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = t;
}
}
}
for (int i = 0; i < n; i++)
cout << arr[i] << ",";
f)
mediane liczy się w prosty sposób jeśli liczba elementów jest nie parzysta to mediana to środkowy element posortowanej tablicy
jeśli jest parzysta to jest to średnia artymetyczna 2 elementów najbliżej środka
kod (uwaga tablica musi być posortowana):
if (n % 2 == 0)
{
int middle = n / 2;
float median = (float)(arr[middle] + arr[middle - 1]) / 2;
cout << median << endl;
}
else
{
int middle = (int)n / 2;
cout << arr[middle] << endl;
}
z g powinieneś sobie poradzić jeśli mamy posortowaną tablice ale jak coś to tu jest kod:
cout << arr[0] << endl;
cout << arr[1] << endl;
cout << arr[2] << endl;
cout << endl;
cout << arr[n-1] << endl;
cout << arr[n-2] << endl;
cout << arr[n-3] << endl;
Jeśli coś jest nie jasne to pisz to postaram się wyjaśnić
Pozdrawiam :)
0 votes Thanks 0
Kushinaaa
Chciałam sie zapytać czemu akurat użył*ś array przy tablicy
ever200
Jeśli chodzi ci o arr to tak nazwałem tablice u siebie. Nie ma szczególnego powodu dla którego tak ją nazwałem. Arr to skrót od array czyli po polsku tablica. Chyba, że pytasz o coś innego.
ever200
Równie dobrze można ją nazwać tab lub poprostu tablica
b)
aby znaleźć najmniejszy element to tworzysz zmienną do której przypisujesz 1 element z tablicy
potem przechodzisz po całej liście i sprawdzasz czy jakiś element nie jest mniejszy od niego jeśli tak to ustawiasz wartość zmiennej na ten element
mój szybki kod wygląda tak :
int max = arr[0];
int min = arr[0];
for (int i = 1; i < n; i++)
{
if (arr[i] < min) min = tab[i];
else if (arr[i] > max) max = arr[i];
}
e)
Jest wiele algorytmów sortowanie, ale najprostszym na początek do użycia jest bubble sort. Nie będę się rozpisywał jak działa bo jest ogrom filmów na Internecie o tym. Po polsku nazywa się to srtowanie bąbelkowe.
int t;
for (int i = 0; i < n - 1 ; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
t = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = t;
}
}
}
for (int i = 0; i < n; i++)
cout << arr[i] << ",";
f)
mediane liczy się w prosty sposób jeśli liczba elementów jest nie parzysta to mediana to środkowy element posortowanej tablicy
jeśli jest parzysta to jest to średnia artymetyczna 2 elementów najbliżej środka
kod (uwaga tablica musi być posortowana):
if (n % 2 == 0)
{
int middle = n / 2;
float median = (float)(arr[middle] + arr[middle - 1]) / 2;
cout << median << endl;
}
else
{
int middle = (int)n / 2;
cout << arr[middle] << endl;
}
z g powinieneś sobie poradzić jeśli mamy posortowaną tablice ale jak coś to tu jest kod:
cout << arr[0] << endl;
cout << arr[1] << endl;
cout << arr[2] << endl;
cout << endl;
cout << arr[n-1] << endl;
cout << arr[n-2] << endl;
cout << arr[n-3] << endl;
Jeśli coś jest nie jasne to pisz to postaram się wyjaśnić
Pozdrawiam :)