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

tablica szukanie c++

Cloud VPS
0 głosów
2,166 wizyt
pytanie zadane 28 sierpnia 2018 w C i C++ przez supergosc44 Początkujący (270 p.)

Witajcie,

Mam w zadaniu napisać funkcje szukaj która:

wyznacza indeks elementu szukanego(podaje użytkownik) w tablicy, o ile wartość ta znajduje się w tablicy jeśli nie wypisać "Brak".

Tablica jest ustawiona na sztywno rozmiar = 10.

Napisałem taką funkcję ale jak wpisuje 15 to wyskakuje mi 9 (powinna wypisać "BRAK") , albo jak wpisuje 25 to wypisuje 1? Dlaczego ?

#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;

void losuj( short n, int t[])
{
    for(int i=0; i<n; i++)
    {
        t[i] = rand()%10+1;
    }
}

void wypisz( short n,int t[])
{
    for(int i=0; i<n; i++)
    {
        cout<<"t["<<i<<"] = "<<t[i]<<endl;
    }
}

void ile_parzystych( short n, int t[])
{
    int ile=0;
    for(int i=0; i<n; i++)
    {
        if(t[i]%2==0)
        {
            ile++;
        }
    }
    cout<<"Ilos elementow parzystych jest : "<<ile<<endl;
}

void szukaj( short n, int t[], int szukana )
{
    bool wynik = false;
    for( int i =0; i<n; i++)
    {
        if( t[i] == t[szukana])
            wynik=true;
    }

    if ( wynik == false)
    {
        cout<<"BRAK";
    }
    else
        cout<<t[szukana];
}

int main()
{
        short n = 10;
        int t[n];

        losuj(n,t);
        wypisz(n,t);
        ile_parzystych(n,t);

        int a;
        cout<<"Podaj szukana liczbe : ";
        cin>>a;

        szukaj(n,t,a);

    return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 28 sierpnia 2018 przez DeBos123 Nałogowiec (44,950 p.)
wybrane 28 sierpnia 2018 przez supergosc44
 
Najlepsza

Zamień w 40 linii:

t[szukana]

na:

szukana

 

komentarz 28 sierpnia 2018 przez supergosc44 Początkujący (270 p.)
udało się :)

w 40 linijce jeszcze zmieniłem na

if( i == szukana)

 

Dzięki wielkie!
komentarz 28 sierpnia 2018 przez DeBos123 Nałogowiec (44,950 p.)

Nie ma sprawy, ale jak zmieniłeś na:

if( i == szukana)

to sprawdzasz czy 'i' jest równe szukanej liczbie, więc jak będziesz chciał znaleźć np. 2 to dostaniesz wynik 2, jak 20 to dostaniesz "BRAK" nawet jak 20 będzie w tablicy, a chyba nie o to ci chodziło.

  • zmienna 'i' to jest w twoim przypadku liczba od 0 do 9
  • t[i] to jest i-ty element z tablicy 't'

więc jak chcesz znaleźć jakąś liczbe w tablicy to musisz porównywać szukaną z i-tym elementem tablicy

Podobne pytania

0 głosów
3 odpowiedzi 3,551 wizyt
pytanie zadane 23 lipca 2017 w JavaScript przez modest Nowicjusz (210 p.)
0 głosów
2 odpowiedzi 975 wizyt
+1 głos
1 odpowiedź 917 wizyt

93,454 zapytań

142,449 odpowiedzi

322,718 komentarzy

62,833 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

Kursy INF.02 i INF.03
...