Napisz program, który wczytuje liczby całkowite do ośmioelementowej tablicy i wypisuje na ekran indeks pierwszego elementu tablicy, którego wartość wynosi zero. Jeśli nie ma takiego elementu, program powinien wypisać komunikat "Brak elementu zero".

proszę o napisanie programu w c++. dam naj



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.
Zobacz obrazek 0AB
Zobacz obrazek 0AB