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

tablica szukanie c++

Object Storage Arubacloud
0 głosów
1,825 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 2,887 wizyt
pytanie zadane 23 lipca 2017 w JavaScript przez modest Nowicjusz (210 p.)
0 głosów
2 odpowiedzi 670 wizyt
+1 głos
1 odpowiedź 816 wizyt

92,567 zapytań

141,420 odpowiedzi

319,616 komentarzy

61,953 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...