matematykaszkolna.pl
kod Adamm: int main() { int n, m, l; std::cin>>n; for(int i=0;i<n;i++){ l=0; std::cin>>m; for(int i=0;i<1229;i++) if(t[i]==m){std::cout<<"TAK"; l=1; break;} if(l==0) std::cout<<"NIE"; } } co jest złego w tym kodzie? tablica t jest wielka więc jej nie wstawiam kod ma pobierać ilość liczb do sprawdzenia i potem kolejne liczby i sprawdzać czy należą do tablicy
21 lut 15:37
Adamm: już nieważne, wiem o co chodziło program ma również wstawiać nowe linijki bo wpisaniu odpowiedzi
21 lut 15:40
Jack: nie latwiej napisac using namespace std zamiast ciagle std:: ?
21 lut 15:54
Metis: Ja też jestem zwolennikiem namespace std emotka
21 lut 16:40
Dziadek Mróz: foo_bar_namespace.hpp #include <iostream> #ifndef _FOO_BAR_NAMESPACE_ namespace foo { void func() std::cout << "foo::func()\n"; } namespace bar { void func() std::cout << "bar::func()\n"; } #endif main.cpp #include "foo_bar_namespace.hpp" #using namespace foo; #using namespace bar; int main(int argc, char **argv) { func(); return 0; } Dla danego przykładu mamy dwie przestrzenie nazw foo i bar, każda z nich zawiera definicję procedury func(), która wypisuje jej pochodzenie i nazwę. W funkcji głównej kompilator ma problem, bo nie wie z jakiej przestrzeni nazw wyciągnąć funkcję func(). Poprawny kod: main.cpp #include "foo_bar_namespace.hpp" int main(int argc, char **argv) { foo::func(); bar::func(); return 0; } Dlaczego nie używamy using namespace std; globalnie w programie? Bo gdy zmieni się wersja jakiejś biblioteki, i będzie ona zawierała coś o nazwie z innej biblioteki ale bez przestrzeni nazw, np. template <class T> class vector { ... }; to kompilator zgłupieje bo będzie importował z std i z nowej biblioteki tą samą klasę.
21 lut 23:17
Metis: Fajnie, że Nam takie szczegóły wyjaśniasz emotka
21 lut 23:20
Metis: Poszło do zakładek.
21 lut 23:21
Dziadek Mróz: Dobitny przykład, nieszczęsne listy kierunkowe. Napisz sobie klasę list implementującą jakąś tam listę: #include <iostream> #include "list.hpp" #include <list> using namespace std; int main(int argc, char **argv) { list list1<int>; // lista z std::list czy lista z list.hpp? return 0; } ================================== #include <iostream> #include "list.hpp" #include <list> int main(int argc, char **argv) { list list1<int>; // lista z list.hpp std::list list2<int>; // lista z std::list return 0; }
21 lut 23:23
Metis: dla Ciebie!
21 lut 23:27