Jak dokonczyc metode wyswietl_elementy_o_parzystych_indeksach, ktora wyswietla co drugi element tablicy tab o dlugosci DLUGOSC_TABLICY?

0

Witam czy moglby ktos pomoc jak dokonczyc metode wyswietl_elementy_o_parzystych_indeksach, ktora wyswietla co drugi element tablicy tab o dlugosci DLUGOSC_TABLICY?
Dodam ze dopiero ucze sie programowania .
Tutaj kod zrodlowy:

`#include <iostream>
#include <random>

#define DLUGOSC_TABLICY 10
#define MINIMALNA_WARTOSC 0
#define MAKSYMALNA_WARTOSC 105

using namespace std;

void uzupelnij_tablice(int tab[])
{
	random_device rd;
	uniform_int_distribution<int> dist(MINIMALNA_WARTOSC, MAKSYMALNA_WARTOSC);

	for (int i = 0; i < DLUGOSC_TABLICY; i++)
	{
		tab[i] = dist(rd);
	}
}

void wyswietl_tablice(int tab[])
{
	for (int i = 0; i < DLUGOSC_TABLICY; i++)
	{
		cout << tab[i] << endl;
	}
}

void wyswietl_sume(int tab[])
{
	int suma = 0;

	for (int i = 0; i < DLUGOSC_TABLICY; i++)
	{
		suma = tab[i] + suma;
	}

	cout << "suma: " << suma << endl;
}

void wyswietl_najwieksza_wartosc(int tab[])
{
	int najwieksza_wartosc = -INT_MAX;

	for (int i = 0; i < DLUGOSC_TABLICY; i++)
	{
		if (tab[i] > najwieksza_wartosc )
		{
			;
		}
	}

	cout << najwieksza_wartosc << endl;
}

void wyswietl_elementy_o_parzystych_indeksach(int tab[]) // void wyswietl_tablice(int tab[])
{
	//tab = 1 5 8 9 13 16
	//1 8 13

	for (int i = 0; i < DLUGOSC_TABLICY; i++)
	{
		cout << wyswietl_elementy_o_parzystych_indeksach << endl;
	}
}

void wyswietl_najmniejsza_wartosc(int tab[]) // void wyswietl_najwieksza_wartosc(int tab[])
{
	int najmniejsza_wartosc = INT_MAX;
}

int main()
{
	cout << "Hello World!" << endl;

	int tablica[DLUGOSC_TABLICY];

	uzupelnij_tablice(tablica);
	wyswietl_tablice(tablica);
	wyswietl_sume(tablica);
	wyswietl_najwieksza_wartosc(tablica);

	int koniec;
	cin >> koniec;

	return 0;
}

``
1

Użyj instrukcji warunkowej if. Warunkiem sprawdzanym może być wartość reszty z dzielenia indeksu przez 2 (jak indeks jest parzysty to wyświetlasz, w przeciwnym wypadku nie. albo odwrotnie)

2

Piszesz o parzystych, a w komentarzu masz nieparzyste.
Jak będziesz w pętli for będziesz zwiększał licznik o dwa a nie o jeden to wyświetlisz co drugi element.

1

przy parzystych indeksach zacznij od 0 i zwiększaj co 2

for (int i = 0; i < DLUGOSC_TABLICY; i+=2) { ... }

z drobnych uwag to funkcja wyswietl_sume robi dwie rzeczy, oblicza sumę i ją wyświetla, można by to rozdzielić. Lepiej byłoby też skorzystać z np. vector<int>, do obliczania sumy std::accumulate a do wyznaczania maksymalnego elementu std::max_element. Oczywiście pod warunkiem, że w zadaniu nie ma wymogu korzystania tylko z tablic:

vector<int> tablica(DLUGOSC_TABLICY);
uzupelnij_tablice(tablica); // void uzupelnij_tablice(vector<int>& tab);
copy(tablica.begin(), tablica.end(), ostream_iterator<int>(cout," "));
cout << "\nsuma: " <<  accumulate(tablica.begin(), tablica.end(), 0) << endl;
cout << "max: " <<  *max_element(tablica.begin(), tablica.end()) << endl;

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