Odpowiedź :
#include <iostream>
using namespace std;
int main()
{
int i,indeks,znalezione;
int tablica[8]; //deklaracja tablicy na 8 elementow
for (i=0; i<8; i++) cin >> tablica[i]; // wypelnienie tablicy liczbami z klawiatury
znalezione=0; //zerowanie zmiennej pomocniczej
//szulanie pierwszego zerowego elementu z tablicy
for (i=0; i<8; i++)
{
if (tablica[i]==0 && znalezione==0)
{
indeks=i;
znalezione=1;
}
}
//wyswietlenie indeksu z zerem lub informacji o braku takiego indeksu
if (znalezione==0) cout << "Brak elementow zero";
else cout << "Indeks: " << indeks;
return 0;
}
Odpowiedź
Kod źródłowy jest w pierwszym załączniku. W drugim podałam jak wyglądają przykładowe wyniki uruchomienia.
Przykładowe wyniki uzyskałam na platformie replit.
Wyjaśnienie
Napisałam swój program zupełnie inaczej niż zwykle to robię, specjalnie po to aby można go było porównać z pierwszym rozwiązaniem.
Co zmieniłam?
- Nie deklarujemy globalnie zmiennych używanych tylko w pętlach!
- Zadeklarowałam n = 8, ponieważ jest wielokrotnie używane. Dzięki temu wiadomo każdym miejscu, że chodzi o to samo 'n'. To jest bardzo ważne, bo typowo w programach pojawiają się wartości 'n - 1' i/lub 'n + 1', co sprawia wrażenie, że jakieś liczby biorą się z sufitu. To jest bardzo ważna zmiana. Są nawet sugestie, aby zawsze deklarować nietypowe liczby wykorzystywane w programie... Typowe to 0 i 1. :)
- Użyłam zmiennej indeks do wskazania czy indeks został znaleziony.