• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Tablica dwuwymiarowa- zliczanie ilości zer w tablicy

0 głosów
834 wizyt
pytanie zadane 24 marca 2019 w C i C++ przez zaliczenie14 Użytkownik (620 p.)

Witam. Mam daną tablice dwuwymiarową 4x4 o wartościach typu całkowitego, które są wprowadzanie przez użytkownika i muszę dopisać program, który będzie zliczał ilość zer w tablicy. Dopiero uczę się programować i mam z tym problem. Coś tam próbowałem zdziałać ale nie wiem jak to zapisać mimo że korzystałem z poradników.
Tu mam tą tablice i między ////// muszę napisać ten program, który będzie zliczał 0. Proszę o sprawdzenie i ewentualne poprawienie.

using namespace std;

    int main()
{
    const int n=4, m=n;
    double a[n][m];

    int i,j;

    for(i=0;i<=n-1;i++)
        for(j=0;j<=m-1;j++)

        {
            cout<<"a["<<i<<"]["<<j<<"]=";
            cin>>a[i][j];
        }
    /////////////////////////////////////
    int x,szuk=0,wynik=0;

    for(x=0;x<=n-1;x++)

        if (a[i][j]==szuk)
            wynik++;
            return wynik;

    int il,ile;

    il=ile(4,n.szuk);

    if (il==0)
        cout<<"Brak 0"<<szuk<<"w tablicy";
    else
        cout<<"Wartosc 0"<<szuk<<"wystepuje"<<il<<"razy";

   ////////////////////////////////

    for(i=0;i<=n-1;i++)
    {
        for(j=0;j<=m-1;j++)
            cout<<a[i][j]<<"\t";
    }

    cout<<endl;
    return 0;
}

 

2 odpowiedzi

+1 głos
odpowiedź 24 marca 2019 przez pokrzywek10 Początkujący (280 p.)
edycja 24 marca 2019 przez pokrzywek10

Mam rozumieć, że zliczanie tych "0", o których piszesz ma dotyczyć jedynie komórek tablicy, w których zera występują "samodzielnie", a nie np. komórek w tablicy o wartości 100, gdzie również występują zera, ale w odniesieniu do liczby 100?

Aby zniwelować nadmiar kodu, sprawdzanie czy cyfra '0' wystąpiła w tablicy, można już zaimplementować zaraz po wprowadzeniu wartości komórki przez użytkownika, w tej samej pętli. Działający kod zamieszczam poniżej: 

#include <iostream>
using namespace std;

int main() {
	const int n = 4, m = n;
	int tab[n][m];
	int x, szukana = 0, wynik = 0;

	for (int i = 0; i <= n - 1; i++) {
		for (int j = 0; j <= m - 1; j++) {
			cout << "a[" << i << "][" << j << "] = ";
			cin >> tab[i][j];
			if (tab[i][j] == szukana)
				wynik++;
		}
	}

	if (wynik == 0)
		cout << endl << "Brak " << szukana << " w tablicy";
	else
		cout << endl << "Wartosc " << szukana << " wystepuje w tablicy " << wynik << " razy";

	getchar();
	getchar();

	return 0;
}
komentarz 24 marca 2019 przez zaliczenie14 Użytkownik (620 p.)
Dziękuje za pomoc, za bardzo kombinowałem i wyszło dziadostwo.
+1 głos
odpowiedź 24 marca 2019 przez Mateusz Pawlak Użytkownik (960 p.)
Podaję kod samego przeszukiwania (pisze z telefonu i nie koge dodać tego jako kodu)

 

Int ile;

For(int i =0; i<4;i++)

{

         For(int j=0;j<4;j++)

                  If(tab[i] [j] ==0)

                          Ile++;

}

Wyswietlasz ile i po problemie

Podobne pytania

+1 głos
4 odpowiedzi 931 wizyt
pytanie zadane 1 lutego 2021 w C i C++ przez forok Nowicjusz (160 p.)
0 głosów
1 odpowiedź 891 wizyt
0 głosów
1 odpowiedź 455 wizyt

93,731 zapytań

142,669 odpowiedzi

323,286 komentarzy

63,291 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...