Cześć! :D
Potrzebuje zrobić program, w którym wyświetli się ile razy w zbiorze występuje wpisana przez nas liczba. Zbiór jest wygenerowany już wcześniej. Załączam wam cały kod programu:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
const int n=40; // n -ilość elementów w tablicy
int a[n]; // deklaracja tablicy liczb całkowitych
// funkcja wypisz() wypisuje po k elementów w wierszu
void wypisz(int a[],int k)
{
int p=0;
for(int i=0; i<n; i++)
{
cout<<a[i]<<" ";
p++;
if(p%k==0) cout<<endl;
}
}
int main() // program głowny
{
int k=10; //ilość liczb w wierszu dla funkcji wypisz()
srand(time(NULL)); // zerowanie zegara
for(int i=0; i<n; i++) // wypełnianie tablicy liczbami losowymi
a[i]=10+rand()%11; //z przedziału <10,99>
cout<<endl; // złamanie linii
wypisz(a,k); // wypisanie elementów tablicy po "k" w wierszu
cout<<endl<<endl;
//zliczanie cyfr w wylosowanych liczbach
int p, t[10]={0}; // t[i] to ilość cyfr "i"
for(int i=0;i<n;i++)
{
p=a[i]%10; // pod p będzie cyfra jedności liczby a[i]
t[p]++;
p=a[i]/10; // pod p będzie cyfra dziesiątek liczby a[i]
t[p]++;
}
//koniec zliczania
//wypisanie zliczonych cyfr wg wzoru: cyfra : ilość
for(int i=0; i<10; i++) cout<<i<<" : "<<t[i]<<endl;
/*#####################################################*/
int l=0;
int m=0;
int max = 0;
int min = 0;
max = t[0];
min = t[0];
cout << "Podaj liczbe z przedzialu 10-20:"<< endl;
do
{
cin >> l;
if(l>=10&&l<=20)
{
m=m+1;
for(int i=0;i<n;i++)
{
for(int i=0; i<10; i++) cout<<"Ilosc wybranej liczby w wylosowanym zbiorze:"<<t[i]<<endl;
}
}
else
{
cout << "Twoja liczba powinna byc w przedziale 10-20!:"<<endl;
}
}
while(m!=1);
return 0;
}
oraz tylko tą część, która powinna odpowiadać za tą funkcję (żeby nie trzeba było szukać w kodzie):
if(l>=10&&l<=20)
{
m=m+1;
for(int i=0;i<n;i++)
{
/*TUTAJ POWINNA BYĆ TA FUNKCJA(chyba)*/
for(int i=0; i<10; i++) cout<<"Ilosc wybranej liczby w wylosowanym zbiorze:"<<t[i]<<endl;
}
}
Już trochę nad tym myślę ale nic nie jestem w stanie wytworzyć :/