Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/mati/domains/forum.programosy.pl/public_html/includes/bbcode.php on line 112

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/mati/domains/forum.programosy.pl/public_html/includes/bbcode.php on line 112
z c++ • programosy.pl

  • Ogłoszenie:

z c++

Tutaj można umieszczać wszystkie sensowne tematy nie pasujące do reszty działów tematycznych. Siadaj, gadaj, opowiadaj ;)

z C++

Postprzez ykes 08 Kwi 2008, 12:29

Witam, mógłby mi ktoś powiedzieć co jest nie z tym programem ?
Nie wiem dlaczego nie działa poprawnie, po uruchomieniu wyświetla zawsze informacje "liczba r(podana na początku) zostala znaleziona"

Program(Dev-c++) :

Kod: Zaznacz wszystko
//sprawdza, czy liczba "a" zostala znaleziona w tabeli
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int tab[10];
int i;
int r;
int n;
srand(time(NULL));
for (i=0;i<10;i++)
{
    tab[i] = rand() % 11;
    cout << tab[i]<<" ";
}
cout <<"podaj liczbe: ";
cin >> r;   
for (i=0;i<10;i++)
{
   
  if (r==tab[i])   
     {
       n++;
     }   
}
if (n>0)
    cout << "liczba "<< r <<" zostala znaleziona";
else
    cout << "nie ma takiej liczby";



cin.ignore();
getchar();
return 0;       
}


Wiem, że "pogaduchy" nie są idealnym działem na pytania związane z C++, ale zależy mi na szybkiej odpowiedzi.(Mam nadzieje, że nie dostane ostrzeżenia)
:)
Awatar użytkownika
ykes
~user
 
Posty: 185
Dołączenie: 14 Kwi 2006, 22:10
Miejscowość: Kraków



Postprzez Michal_Gluszyca 08 Kwi 2008, 15:21

Spróbuj zapisać do exe i popróbować stamtąd. Problem może tkwić w tym, że jak kompilujesz program non stop z deva, to te liczby tak naprawdę nie są losowe, tylko za każdym uruchomieniem są takie same;]
Była gdzieś jakaś komenda, która ten problem eliminuję, jak znajdę to Ci ją napiszę;]
Awatar użytkownika
Michal_Gluszyca
~user
 
Posty: 686
Dołączenie: 22 Kwi 2006, 13:13
Pochwały: 9



Postprzez ykes 08 Kwi 2008, 15:49

Już wiem co było nie tak, zapomniałem, że po "int n" musi być "=0".
Nie wiesz może jak można by było zmodyfikować program tak, aby wypisywał indeks znalezionych liczb ?
Awatar użytkownika
ykes
~user
 
Posty: 185
Dołączenie: 14 Kwi 2006, 22:10
Miejscowość: Kraków



Postprzez Michal_Gluszyca 08 Kwi 2008, 16:25

Dodajesz zmienną np
Kod: Zaznacz wszystko
int index = 0

i pod :
Kod: Zaznacz wszystko
N++

dodajesz coś typu :
Kod: Zaznacz wszystko
index = tab[i]

a potem pod :
Kod: Zaznacz wszystko
cout << "liczba "<< r <<" zostala znaleziona";

dajesz:
cout << "Jej index to "<< index <<" .";

Powinno działać, ale dawno nie robiłem nic w C++ więc nie jestem do końca pewien;]
w WWW pierwsza polska strona na temat Alien Swarm
Awatar użytkownika
Michal_Gluszyca
~user
 
Posty: 686
Dołączenie: 22 Kwi 2006, 13:13
Pochwały: 9




Powróć do Pog@duchy

Kto jest na forum

Użytkownicy przeglądający to forum: Winston134 oraz 14 gości