Skocz do zawartości

Polar

Stały użytkownik
  • Postów

    1924
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    4

Treść opublikowana przez Polar

  1. Sorry że lekki offtopic ale Eclipse jest nieco biedne ( dla niektórych nawet bardzo nieco ) ściągnij sobie VC++ .NET Express za darmo , nic lepszego nie ma.
  2. Można też 1 linijką, operator 3-kowy sprawdza czy plik istnieje. Jeśli istnieje to nic nie robi a jak nie to tworzy nowy (w builderze). FileExists("Wyniki.txt") ? 0 : FileCreate("Wyniki.txt");
  3. ;] Ładuje obydwa tylko że jarosław nadpisuje lecha, w końcu bracia bliźniacy. Memo1->Lines->LoadFromFile("lech.txt"); String pole = Memo1->Text+"\r\n"; Memo1->Lines->LoadFromFile("jarosław.txt"); pole += Memo1->Text; Memo1->Text = pole;
  4. Nie tłumacz mu tak bo chlopak się zakopie. #include <iostream>using namespace std;void wypelnij_tablice(int (*tab)[5],unsigned int lw, unsigned int lk) //<----------!!!{ for(unsigned int i=0;i<lw;i++) { for(unsigned int j=0;j<lk;j++) { cout<<"["<<i<<"]["<<j<<"] = "; cin >> tab[i][j]; } }}int main(){ int tab[5][5]; wypelnij_tablice(tab,5,5); for(int i = 0; i < 5; i++) { for(int j = 0; j < 5; j++) cout << tab[i][j]; cout << endl; } cin.sync(); cin.get(); return 0;} 1. Aby mieć tablice 2 i wiecej n jako wskaźnik trzeba pierwszy ( niepotrzebny ) wymiar przykazać jako wskaźnik , jesli jest tylko 1 to wystarczy int * wsk ale jeśli jest kilka to będzie np (int * wsk)[4][5][6], tablica musi odebrać w funkcji wymiary. Wymiar pierwszy z lewej sie nie liczy dlatego można tam wrzucić wskaźnik a jeśli jest reszta wymiarów to trzeba dodać jeszcze tą reszte oprócz pierwszego za którego jest wskaźnik. 2. Funkcja nie wymaga zwrotu wartości bo pracuje na orginale. 3. Zresztą jakąkolwiek różnice nie zawsze sie odczuje w (większości procedur jakie robimy na codzień w domu)
  5. Polar

    System Newsów?

    Jak chcesz zrobić sam to szukaj info o paginacji czyli łamaniu stron.
  6. Można w tym wypadku stworzyć tablice obiektów a kazdy obiekt będzie miec jakieś swoje atrybuty w klasie //...class Tablica_Haszujaca {private: int licznik; int max; int min; public: int wart; int miejsce; string nazwa;// potem jakieś inne funkcje dodatkowe // np zwracające liczbe elementów czy// mieszające itd ew jakis operator przeładować itp};//...// i gdzieś tam w kodzieTablica_Haszujaca tablica[100];//i potem w pentli for wpisujesz co tam sie chce ew inne wymagane rzeczyfor ( int i = 0; i < 100; i++) tablica.miejsce = i;// itd ale lepiej będzie zachować ukrywanie danych, to tylko jako taki przykład//...
  7. Polar

    Nic Nie Czaje :)

    Zastanów sie co mówisz? No chyba że masz na myśli "każdy nowy zarządzany język" wtedy przepraszam z tym sie zgadzam. Język niezarządzany musi mieć wskaźniki bo one zwiekszają niekiedy prędkość o kilkaset procent. Potrzeba chwili na pewno nie będzie wieksza niż potrzeba wysokiej wydajności... Ludzie zrozumcie że dla okienkowych, standardowych progsów wcale nie trzeba używać wskaźników bo po co? Ale tam gdzie chodzi o np prace na tablicach gdzie są przechowywane wielkie ilości danych, związane choćby z przetwarzaniem grafiki szukaniem i wieloma innymi pierodłami, wskaźniki są jedynym sensownym rozwiązaniem, nie eee , nie bee tylko tak.. :wink: Zasada jest taka że: jak sie nie chce to nie używać i tyle, ale trzeba wiedzieć jedno że bezpośrednia praca z pamięcią zawsze będzie potrzebna i konieczna do działania choćby systemów operacyjnych a do tego głównie sa potrzebne wskaźniki i raczej nie zapowiada sie żeby coś nowego miało je zastąpic.
  8. Polar

    Dev C++ 4.0

    A np. po to że w bibliotece conio są wyjątkowo szybkie i równie pomocne instrukcje typu getch() i wiele innych, wygodniejszych i wydajnieszych niż w całej reszcie podobnych bibliotek łacznie ze standardową.
  9. Temat sprzeczny z regulaminem, dziwne że żaden editblocker jeszcze nie zablokował go.
  10. A co tu jest do zdradzania ??? Pisz kod zgodny z ISO C++ a wtedy błędów nie będzie. A co do ustawień środowiska to chyba nie tak cięzko wejść sobie w opcje środowiska/edytora i pozmieniać pare rzeczy i przy okazji zmienić sobie kontrast tła edytora z białego na szare żeby wzroku nie psuło... ( białe tło + ciemna czcionka do tego półmrok w pokoju = psucie wzroku ) jakby ktoś jeszcze nie wiedział wiadomo to od paru dekad.
  11. WTF u want? Przeca nikt tu nie jest wróżką i nie zna jednocześnie twojego pytnia i odpowiedzi na nie.
  12. Polar

    Funkcja I Wskazniki

    Można ale po co, bawić sie w pseudo programowanie, tu aż sie prosi aby utworzyć sobie prostą klase i działać tylko na niej. Jak poniżej. #include <iostream>using namespace std;class Pomiar {private: double wys, wynik, zasieg, predkosc;public: Pomiar(double w, double z, double p) { wys = w; zasieg = z; predkosc = p; } void obliczanie_czegos() { wynik = wys*predkosc/zasieg; } void pokaz_wynik() { cout << wynik; } };int main(){ Pomiar nowy(24.5, 100.0, 200.5); nowy.obliczanie_czegos(); nowy.pokaz_wynik(); cin.get(); return 0; } W okienku będzie rysował ale trzeba uzyć jakąś biblioteke graficzną np w borland 3.1 jest dość ciekawa
  13. Z polami bitowymi to może być różnie na różnych kompilatorach, podaj wiecej informacji na jakim pracujesz, i dobrze bybyło abyś podał cały program m.in. te miejsca gdzie wysyłasz do portu te dane. Wróżką nikt nie jest, ale może to kwestja rozmieszczenia zmiennych wpisanych do pól, spróbój przedzielić zmienne polem o wart. 0 co powinno spowodować że nowe pole zacznie sie od nowego 32 bit segmentu, noi wypadało by też popróbować z róznymi dlugościami pól bitowych. ;] #include <iostream>using namespace std; class ramka {public: unsigned int add :4, :0, fun :4;};int main(){ ramka obj; obj.add=0x03; //address obj.fun=0x03; //function cout << "\nPracujemy w trybie MASTER\n" << endl << obj.add << endl << obj.fun << endl << "Znak Wartosc= " << obj.add << " " << obj.fun; cin.get(); return 0; } Podaj wiecej szczegółów. :blink: , nie za bardzo rozumiem , no ale być może to taki "szczegół". W każdym razie podaj najlepiej cały program.
  14. Polar

    Funkcja I Wskazniki

    w zasadzie moga być 3 takie zapisy dla wskaźników: double wart; 1) double * const wsk1 = &wart; 2) const double * wsk2 = &wart; 3) const double * const wsk3 = &wart; 1. stały wsk. raz ustawiony i koniec, można przez niego tylko wpisywać do wart 2. wskaźnik do stałej, może być ustawiany na różne wart ale nie może do nich wpisywać nic 3. stały wskaźnik do stałej, może być ustawiony tylko raz i nie można przez niego nic wpisywać taki do wart //... cin.sync(); cin.get(); cin.sync(); pisze z przyzwyczajenia przydaje akurat tutaj bo przydaje sie przed cin.get() kiedy już jakieś wpisy były wykonywane z klawiatury cin.get(); czeka na znak z klawiatury + Enter żeby sie prog nie wyłanczał //... można np w BC++ 3.1 trzeba uruchomoić tryb graficzny init graph o ile pamiętam, można też w builderze rysować w canvas lub .net System.Drawing; o ile pamiętam
  15. Polar

    Funkcja I Wskazniki

    A wiec tłumacze jak osobie początkującej we wskaźnikach: #include <iostream>#include <cmath>using namespace std;void zasieg(const double * const Vo, const double * const alfa, double * const zas){ *zas = *Vo**Vo*sin(*alfa*3.14*2/180); // sadyzm i masochizm, działania na tych wskaźnikach;]} // plus tak dla jaj wszystko jako 1 wyrażenie int main(){ double alfa, Vo, zas, k; cout << "Podaj predkosc w m/s\n"; cin >> Vo; cout << "Podaj kat\n"; cin >> alfa; zasieg(&Vo, &alfa, &zas); // wpisanie adresu zmiennych do wskaźników cout.precision(3); // które już czekają w argumentach fukcji cout << "Zasieg \n"<< zas <<"m\n"; cin.sync(); cin.get(); return 0;} Zaleta : Wskaźnik w argumencie funkcji ustawiony na adres orginalnej zmiennej, zmienia orginał dlatego nie musi być już zwrotu rezultatu funkcji (w tym przyp. było by to przyokazji bezsensu), boskie zabezpieczenia const w argumentach niedopodjeb...ania Wada : Zapis jest równie boski Alternatywa : Referencje zamiast wskaźników są tu raczej koniecznością #include <iostream>#include <cmath>using namespace std;void zasieg(const double & Vo, const double & alfa, double & zas){ zas = Vo*Vo*sin(alfa*3.14*2/180); // tu już jest ładnie} int main(){ double alfa, Vo, zas, k; cout << "Podaj predkosc w m/s\n"; cin >> Vo; cout << "Podaj kat\n"; cin >> alfa; zasieg(Vo, alfa, zas); // i tu też;] cout.precision(3); cout << "Zasieg \n"<< zas <<"m\n"; cin.sync(); cin.get(); return 0;} Zaleta : podobna jak wyżej a dodatkowo brak "wad" tamtego zapisu ps. jakby coś było nie tak to sry ale oczy mi sie już kleją
  16. Polar

    Problem Z Zadaniem

    tu brakuje drukropka : , kiedy jest stosowany operator trójkowy z ? musi być też dwukropek [?:] lub [? xxx : yyy], to wyrażenie jest niekompletne w tym przypadku wklej sobie i spróbuj skompilować.... podaj całe wyrażenie jakie ma być wtedy nie będzie problemu z rozszyfrowaniem popatrz do ksiązki na priorytek operatorów i wszyskto ci sie zozjaśni + - * ? %
  17. Polar

    Debugowanie W C++

    No dlatego mówie :lol2: cza poczekać do premiery a premiera pewnie ma oficjalnie być za te kilka dni i sie zobaczy. Chociaż jakby nawet było za te 250 zł to bym sie nie obraził. A na pewno by odżyli pseudo developerzy piszący programy na sharpdevelop :blink: :blink: :blink: Niestety , przynajmniej jak dla mnie, wadą VC++ .NET będzie.... sam .NET :blink: MC++ w wydaniu mikrosoftowym wygląda fatalnie i można dostać migreny od uczenia przeuczania się go z czegoś wygodnego np. BC++ Builder i VCL, gdzie to połączenie C++ i VCL było bardzo płynne (na 1 rzut oka widać żę nazwy i działanie kontrolek .NET całymi garściami czerpią z VCL ). Prawdziwe bagno robi sie gdy program korzysta jednocześnie z C std. libr, klasy iostream, i biblioteki .net - to jest dopiero LOL. <_< Zarządany C++ to męka pańska. Jak jakomś okienkową aplikacje trzeba to zdecydowanie lepiej w VC# .NET niż zastanawiąć sie pół dnia , którą kompilacje wybrać i co pisać... wielki lol dla MS
  18. Polar

    Debugowanie W C++

    No 7 listopada premiera więc zobaczymy co napiszą w licencji bo to jest najważniejsze. Być może będzie tak, że będzie tylko można sobie pisać kod ale nie wolno na nim zarabiać tylko jako freeware rozprowadzać, ale tak już jest od dawna wiec wszystko wskazuje że będize to coś wiecej. Zresztą po premierze .net 2 edytory będą sie pojawiać jak grzyby po deszczu dlatego pewnie sami chcą wydać swój dla promowania.
  19. Polar

    Debugowanie W C++

    Tymbardziej że premiera VS 2005 zbiega sie z premierami darmowych Expressów .NET : C++ , C# , Java# i VB , będą legalne za free i na 99% będzie można tworzyć kod komercyjny ;] ;];]
  20. Polar

    Polskie Litery W C++

    Ogólnie sytuacja z konsolą + polskiimi znaczkami jest patowa, można tak jak już sie domyśliłes to zrobić lub też przed kompilacja przejechać plik .cpp czy .c z kodem - programem FCONVERT ze starego pakietu Borland 3.1 wybrać opcje Ansi to OEM i taki kod dopiero skompilować , ten sposób przydaje sie też do innych rzeczy. Jest ogólnie pare sposobów a pisanie bez polskich ogonków jest jednym z nich.
  21. użyj szukania, na ten temat przelano już megabajty tekstu.....
  22. mozna też zatrzymać wykonywanie tak : cin.get(); lub getchar(); a jeśli w programie były jakieś operacje na klawiaturze to warto to zrobić dwoma instrukcjami: //............. cin.sync(); cin.get(); //............. cin.sync(); przydaje sie ponadto w wielu innych sprawach...
  23. Prawda ale to nie jego wina to bardziej wina "uczących" c++ i narzędzi na jakich pracują, niestety także "rutyna" tych ludków co uczą powoduje "śmiech na sali". A zresztą piszta co chceta ;]. Swoją drogą najlepiej wspominam okienkowe wersje kompilatorów borlanda z 96/97 r wersje 4.5 i 5.02 dobrze sie na nich pracowało i jak na tamte czasy mnogośc opcji mile mogła zaskoczyć.
  24. A po kiego czorta mu taki śmieć jak 3.1 przeca jest tyle nowoczesnych kompilatorów choćby devc++, który trzeba jednak mocno poustawiać,ale wtedy jest bardzo dobry do uzytku. No tak w szkole działa , tylko że na jakiś zabytkowych kompilatorach ;], po co uzywac zabytków skoro jest tyle dobrych i darmowych narzędzi.
  25. I nic dziwnego ze były błedy bo to ani ni jest c++ ani c , napisz to zgodnie ze standardem c++ to wtedy skompiluje sie poprawnie na kazdym kompilatorze. #include <iostream>using namespace std;int main(){ float a,b; system("cls"); cout << "Rownanie liniowe postaci ax + b = 0\npodaj a i b\n"; cin >> a >> b; if(!a) { if(!b) cout << "Istnieje nieskonczenie wiele rozwiazan"; else cout << "Brak pierwiastk˘w rzeczywistych"; } else cout << "Pierwiastek powyľszego r˘wnania x = " << -b/a; cin.sync(); cin.get(); return 0;}
×
×
  • Dodaj nową pozycję...