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

Ile razy wpisana liczba występuje w tablicy i na jakiej pozycji?

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
2,171 wizyt
pytanie zadane 13 maja 2020 w C i C++ przez chakip Nowicjusz (210 p.)

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ć :/

komentarz 13 maja 2020 przez Asertywny Mądrala (5,430 p.)
Sprecyzuj wyraźnie, co jest inputem dla funkcji oraz jaki jest oczekiwany output.
komentarz 13 maja 2020 przez chakip Nowicjusz (210 p.)
Cały program ma polegać na tym, że jest losowo wygenerowana tablica liczb całkowitych w przedziale 10-20 (40 liczb po 10 w jednym wierszu). Użytkownik wpisuje jakaś liczbę w tym samym przedziale (10-20) i dostaje outputa ile takich liczb występuje w wygenerowanej tablicy. Wiem ze słabo mi idzie tłumaczenie ale może to coś pomoże.

1 odpowiedź

+2 głosów
odpowiedź 13 maja 2020 przez Asertywny Mądrala (5,430 p.)
wybrane 13 maja 2020 przez chakip
 
Najlepsza

Ta funkcja bierze dwa argumenty - liczbę oraz tablicę, a następnie zwraca liczbę wystąpień elementu w tablicy.

 

int countElem(int elem, int arr[]) {
    int cnt = 0;
    int arrSize = 40;
    for (int i = 0; i < arrSize; ++i) {
        if (arr[i] == elem) {
            ++cnt;
        }
    }
    return cnt;
}

 

komentarz 13 maja 2020 przez chakip Nowicjusz (210 p.)
Dzięki! jeżeli tylko wejdę na PC to wypróbuje :D

Podobne pytania

0 głosów
1 odpowiedź 897 wizyt
0 głosów
1 odpowiedź 366 wizyt
pytanie zadane 11 grudnia 2022 w SQL, bazy danych przez dave91 Początkujący (480 p.)
0 głosów
0 odpowiedzi 341 wizyt
pytanie zadane 23 stycznia 2018 w C i C++ przez kappa997 Nowicjusz (230 p.)

93,164 zapytań

142,176 odpowiedzi

321,933 komentarzy

62,491 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 688p. - dia-Chann
  2. 676p. - CC PL
  3. 675p. - Łukasz Piwowar
  4. 662p. - Łukasz Eckert
  5. 649p. - Michal Drewniak
  6. 641p. - rucin93
  7. 621p. - Dawid128
  8. 572p. - ssynowiec
  9. 521p. - Piotr Aleksandrowicz
  10. 498p. - Michał Telesz
  11. 490p. - Hubert Chęciński
  12. 457p. - Marcin Putra
  13. 437p. - nidomika
  14. 432p. - rafalszastok
  15. 427p. - Adrian Wieprzkowicz
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...