Forum Gry Hobby Sprzęt Rozmawiamy Archiwum Regulamin

Forum: (Programowanie w C/C++ i nie tylko)----(Dla laików i ekspertów)----(cz.7)

123następnaostatnia
05.01.2006 23:00
👍
1
zanonimizowany5875
43
Konsul

(Programowanie w C/C++ i nie tylko)----(Dla laików i ekspertów)----(cz.7)

cout << "--------------------------[Przydatne strony]............... ";

"NEW - Nowe Linki";

[!!!] http://www.i-lo.tarnow.pl/edu/inf/prg/grylog/index.html [Programowanie w praktyce - piszemy gry logiczne]

Tutoriale winapi:
[!!!]http://www.winprog.org/tutorial/
[!!!]http://www.functionx.com/win32/

"[PL]";

[!!!] http://www.keeller.kompozytor.net/ [Kurs C++]
[!!!] http://www.physd.amu.edu.pl/~tomekkaz/ [Podstawy C++]
[!!!] http://3miasto.net/~chq/ [Kurs C++]
[!!!] http://www.avocado.risp.pl/ [m.in. kursy C++: /pliki do pobrania/teksty/.../]
[!!!] http://www.kursc.terramail.pl/kursc/ [Kurs C++]
[!!!] http://jdomaradzki.republika.pl/cw.html [materiały o C++ z Politech. Wroc.]
[!!!] http://www.playcom.republika.pl/ [duzo ciekawych, gotowycgh programow (pascal i c++) ]

http://lew.tu.koszalin.pl/~abernat/polish/wprcpp.htm [Kurs C++]
http://www.4programmers.net/download.php/id=72 [O programowaniu]
http://www.programuj.com [O programowaniu]
http://members.lycos.co.uk/codersteam/infopage.php?id=16 [Kursy, nie tylko Cpp]
http://www.code-maker.prv.pl/ [WinAPI, DirectX, FMOD, SDL, itd.]
http://kolos.math.uni.lodz.pl/~user/user/index.php?p=index [C++, Kursy, Algorytmy, Artykuły, Zagadki]

http://stud.wsi.edu.pl/~webber/czarny/?link=cpp
http://jdomaradzki.republika.pl/cw.html [materiały o C++ z Politech. Wroc.]
http://www.phys.uni.torun.pl/~kgrabcze/zajecia/
http://www.elektronet.prv.pl/
http://www.intercon.pl/~sektor/cbx/

http://stud.wsi.edu.pl/~sistudem/ [Podstawy C++]
http://lisek99.w.interia.pl/ [Programowanie w C/C++ pod DOS, WIN, LINUX]
http://maczek.info.bielsko.pl/~zbiju/ATH/ [Ciekawe rzeczy do ściągnięcia]
http://www.sztolnia.pl/?p=faq_pcp
http://www.algorytm.cad.pl/
http://www.republika.pl/piotrciskowski/dydaktyka/materialy.zima.htm#Informatyka3L
http://sprocket.ict.pwr.wroc.pl/~jablonski/
http://www.wemif.pwr.wroc.pl/labc/

"[ANG]";

http://www.gametutorials.com/Tutorials/c++/Cpp_Pg1.htm
http://www.cprogramming.com/cgi-bin/source/source.cgi

cout << " ...............[DOWNLOAD]............... ";

http://sourceforge.net/projects/dev-cpp/ //(Dev-C++ 4.9.9.0 PL - kompilator C/C++)
http://www.webhostgalaxy.com/mirrors/eckelbooks/TICPP-2nd-ed-Vol-two.zip // "Thinking in C++" Tom 2
http://www.webhostgalaxy.com/mirrors/eckelbooks/TICPP-2nd-ed-Vol-one.zip // "Thinking in C++" Tom 3
http://www.webhostgalaxy.com/mirrors/eckelbooks/ // Darmowe pubikacje elektroniczne o programowaniu
http://www.wemif.pwr.wroc.pl/labc/labc/lab1/lab1a.html //Borland C++ 3.1

cout << " ...............[INNE]............... ";

http://www.warp.arx.pl/ czasopismo WARP

cout << " ...............[Literatura programisty]............... ";

Symfonia C++ J.Grębosza
Thinking in C++
Pasja C++ J.Grębosza
Mój pierwszy program wydawnictwa HELP
Książeczka "Programowanie w C++" od Komputer Swiat - Dla BARDZO początkujących (http://www.komputerswiat.pl/informacje/archiwum/bk0105.html)
"C++ Styl Programowania" Tom'a Cargill'a.
"Język ANSI C" Kernighan, Ritchie.
"PHP i MySQL. Dynamiczne strony WWW. Szybki start"
"PHP. Tworzenie stron WWW. Szybki start" [http://helion.pl/ksiazki/phpszs.htm]

cout << " ...............[Poprzednie wątki]............... ";

[1] https://www.gry-online.pl/s043.asp?ID=3073834&N=1
[2] https://www.gry-online.pl/s043.asp?ID=3124999&N=1
[3] https://www.gry-online.pl/s043.asp?ID=3228514&N=1
[4] https://www.gry-online.pl/s043.asp?ID=3620101&N=1
[5] https://www.gry-online.pl/s043.asp?ID=3847852&N=1
[6] https://www.gry-online.pl/s043.asp?ID=4245197&N=1

Wypowiedź została zmodyfikowana przez jej autora [2006-01-06 10:28:34]

05.01.2006 23:10
Sir Skull
2
odpowiedz
Sir Skull
93
Charr Shaman

Kull --> Masz możliwość edycji? Wrzuć może do wstępniaka linki do tutoriali winapi:
http://www.winprog.org/tutorial/
http://www.functionx.com/win32/

Komuś może się przyda ;)

06.01.2006 10:29
👍
3
odpowiedz
zanonimizowany5875
43
Konsul

Sir Skull --> mam mozliwosc. dodalem.

09.01.2006 21:43
4
odpowiedz
zanonimizowany20450
91
Senator

Problem z pędzlami z poprzedniego wątku udało mi się rozwiązać. Wystaczyło ustawić przezroczyste tło:) Oczywiście na najprostsze rozwiązania najtrudniej jest wpaść;)

14.01.2006 19:59
Madril
5
odpowiedz
Madril
240
I Want To Believe

Może ktoś, kto używał algorytmu minimax z odcięciami alfa-beta spojrzeć na ten kod i powiedzieć, co jest źle? Dość pilne...
printf'y olejcie, bo zostały z testów...
Inicjuję z alfa = -100, beta = 100 - tak na początek...

int minimaxAB(int stan[][wie], int gracz, int glebokosc, int alfa, int beta, int kolor_g, int kolor_p, int rx, int ry, int * x, int *y)
‹printf("\\alfa=%d\\", alfa);
int i, val, ruch;
if(glebokosc == limit || (sprawdzwpr(stan, (gracz) ? kolor_g : kolor_p, rx, ry) && rx != -1 && ry != -1))

return przydziel_punkty(stan, (gracz ? kolor_g : kolor_p), rx, ry);

if(gracz == 0)

for(i = 0; i < kol && alfa < beta; i++)

if((ruch = generuj_ruch(i, stan)) >= 0)

int stan_nowy[kol][wie], j, k;
for(j = 0; j < kol; j++)

for(k = 0; k < wie; k++)

stan_nowy[j][k] = stan[j][k];


stan_nowy[ruch] = kolor_p;
val = minimaxAB(stan_nowy, !gracz, glebokosc+1, alfa, beta, kolor_g, kolor_p, i, ruch, 0 , 0);
if(val < beta)

beta = val;



return beta;

if(gracz == 1)

for(i = 0; i < kol && alfa < beta; i++)

if((ruch = generuj_ruch(i, stan)) >= 0)

int stan_nowy[kol][wie], j, k;
for(j = 0; j < kol; j++)

for(k = 0; k < wie; k++)

stan_nowy[j][k] = stan[j][k];


stan_nowy[ruch] = kolor_g;
val = minimaxAB(stan_nowy, !gracz, glebokosc+1, alfa, beta, kolor_g, kolor_p, i, ruch, 0 , 0);
printf("\\alfa=%d\\", val);
if(val > alfa)

if(glebokosc == 0)

*x = i;
*y = ruch;
printf("x=%d|y=%d|alfa=%d", *x, *y, val);

alfa = val;



return alfa;

14.01.2006 20:01
Madril
6
odpowiedz
Madril
240
I Want To Believe

Zapomniałem o [ i ]...

int minimaxAB(int stan[][wie], int gracz, int glebokosc, int alfa, int beta, int kolor_g, int kolor_p, int rx, int ry, int * x, int *y)
‹printf("\\alfa=%d\\", alfa);
int i, val, ruch;
if(glebokosc == limit || (sprawdzwpr(stan, (gracz) ? kolor_g : kolor_p, rx, ry) && rx != -1 && ry != -1))

return przydziel_punkty(stan, (gracz ? kolor_g : kolor_p), rx, ry);

if(gracz == 0)

for(i = 0; i < kol && alfa < beta; i++)

if((ruch = generuj_ruch(i, stan)) >= 0)

int stan_nowy[kol][wie], j, k;
for(j = 0; j < kol; j++)

for(k = 0; k < wie; k++)

stan_nowy[j][k] = stan[j][k];


stan_nowy[ i][ruch] = kolor_p;
val = minimaxAB(stan_nowy, !gracz, glebokosc+1, alfa, beta, kolor_g, kolor_p, i, ruch, 0 , 0);
if(val < beta)

beta = val;



return beta;

if(gracz == 1)

for(i = 0; i < kol && alfa < beta; i++)

if((ruch = generuj_ruch(i, stan)) >= 0)

int stan_nowy[kol][wie], j, k;
for(j = 0; j < kol; j++)

for(k = 0; k < wie; k++)

stan_nowy[j][k] = stan[j][k];


stan_nowy[ i][ruch] = kolor_g;
val = minimaxAB(stan_nowy, !gracz, glebokosc+1, alfa, beta, kolor_g, kolor_p, i, ruch, 0 , 0);
printf("\\alfa=%d\\", val);
if(val > alfa)

if(glebokosc == 0)

*x = i;
*y = ruch;
printf("x=%d|y=%d|alfa=%d", *x, *y, val);

alfa = val;



return alfa;

14.01.2006 20:41
7
odpowiedz
zanonimizowany245886
39
Senator

Madril => To wyżej to jest w C++ czy C? Raczej nie wiem bo dopiero jestem początkujacy jeśli chodzi o C++. (C sie nie ucze)

Wypowiedź została zmodyfikowana przez jej autora [2006-01-14 20:41:30]

14.01.2006 20:59
Madril
8
odpowiedz
Madril
240
I Want To Believe

W tym przypadku nie ma różnicy...

15.01.2006 23:22
😊
9
odpowiedz
zanonimizowany36866
60
Generał

Witam :-)

Mam do Szanownego Grona pytanie dt. funkcji wirtualnych.

Konkretnie chodzi mi o ich argumenty (domyślne).

najlepiej wyrażę się poprzez przykład:

Mam dwie klasy:

class A

public:
virtual void pokaz(char p='a') ‹ cout << endl << "A::" << p << endl; ›
›;

class B : public A

public:
void pokaz(char p='b') ‹ cout << endl << "B::" << p << endl; ›
›;

oraz ich wywołanie w main():

B* b = new B;
b->pokaz();

A* a = new A;
a->pokaz();

A a1;
a1.pokaz();

B b1;
b1.pokaz();

A* b2 = b;
b2->pokaz();

Dlaczego w ostatnim przypadku wynik jest: B::a ??? Ciało funkcji pobierane jest z zakresu klasy B a argumenty z zakresu klasy A?

Jak wygląda właśnie sprawa argumentów we funkcjach wirtualnych - o to mi dokładnie chodzi. Szukałem na necie czegoś o argumentach, ale niczego nie znalazłem :-/ Nawet w Symfonii nie ma (chyba...). Jedynie na wykładzie było to poruszane, ale nie pamiętam akurat tego momentu.. :-))

BTW. natrafiłem na ciekawy kod podczas poszukiwań na google :-)))

#include "iostream.h"

class CZLOWIEK

public:
void Jedz(void);
virtual void Mow(void) = 0;
›;

void CZLOWIEK::Jedz(void) ‹ cout << "MNIAM, MNIAM..."; ›;

class Zona : public CZLOWIEK

public:
void Mow(void); //Zona mowi swoje
›; //bez wzgledu na argumenty (typ void)

void Zona::Mow(void)

cout << "JA NIE MAM CO NA SIEBIE WLOZYC !!!";
cout << "DLACZEGO KOWALSKI ZARABIA ZAWSZE WIECEJ NIZ TY ?!!!";

16.01.2006 13:53
10
odpowiedz
FreemaN
60

hotDog - to kwestia wczesnego wiazania domyslnych argumentow funkcji. wiecej w linku:

18.01.2006 17:47
11
odpowiedz
zanonimizowany841
60
Senator

[c++] proste pytanko ... gdzie znajduje sie standarkodwa funkcja sleep()? na pewno w zadnym z ponizszych (wedlug visual studio)

#include <windows.h>
#include <stdio.h>
#include <string.h>

18.01.2006 17:53
12
odpowiedz
zanonimizowany841
60
Senator

Ok moze ominiecie problemu dla Visual Studio (c++)

istnieje funkcja :
VIOD Sleep(DWORD dwMilisecounds)

19.01.2006 00:03
13
odpowiedz
zanonimizowany60076
58
Generał

wedlug gcc znajduje sie w unistd.h

20.01.2006 14:11
😃
14
odpowiedz
zanonimizowany283547
13
Centurion

Witam wszystkich programistów (i nie tylko)
Nigdy nie sądziłem że zajrzę do tego wątku ale życie pisze niesamowite scenariusze :)
Kochani sprawa jest taka - potrzebuję na zaliczenie prosty programik pokazujący przykład użycia kolejki FIFO. Program ma być w c++ lub w turbo pascalu, i naprawdę ma być to maksymalnie prosty przykład (tak, tak wiem jak prosty to sam sobie napisz - tylko że ja programowania ni w ząb), więc jeśli ktoś ma coś takiego lub wie gdzie to znajdę to będe dozgonnie wdzięczny za info.

[email protected]

20.01.2006 16:20
aka
😊
15
odpowiedz
aka
30
Chorąży

Takie cos z moich starych zasobow.

#include <iostream>

using namespace std;

struct fifo ‹
int w;
fifo *next;
›*begin=NULL,*end=NULL;

int il=0;

void push() ‹
if (begin==NULL) ‹
begin=new fifo;
begin->w=il++;
begin->next=NULL;
end=begin;

else ‹
end->next=new fifo;
end=end->next;
end->w=il++;
end->next=NULL;

void pop() ‹
fifo *p;
p=begin;
if (p!=NULL) ‹
begin=begin->next;
delete p;

void show() ‹
fifo *p;
p=begin;
while (p!=NULL) ‹
cout<<p->w<<" ";
p=p->next;

cout<<endl;

int main() ‹
int opcja;

do ‹
cout<<"1. Dodaj"<<endl<<"2. Usun"<<endl<<"3. Koniec"<<endl;
cin>>opcja;
switch (opcja) ‹
case 1:
push();
show();
break;
case 2:
pop();
show();
break;

› while ( opcja!=3);
while (begin!=NULL) ‹
pop();

return 0;

20.01.2006 16:58
😍
16
odpowiedz
zanonimizowany300439
8
Legionista

Witam mam taki problem ponieważ mam dodać pewną biblioteke ( stdiograph.h --> do obsługi grafiki ) używam kompilatora devC++ 4.9.9.0 i nie wiem jak to zrobić, próbowałęm ją wrzucić do folderu w którym są inne biblioteki ale nadal przy kompilacji wywala błąd :(
Proszę o pomoc, może ktoś wie co powiniennem zrobić

22.01.2006 10:36
17
odpowiedz
zanonimizowany283547
13
Centurion

@aka dzięki ale skompilowałem to dev-c++ i wywala mi takie błędy:

Wykonywanie g++.exe...
g++.exe "C:\Dev-Cpp\kolejka.cpp" -o "C:\Dev-Cpp\kolejka.exe" -s -I"C:\Dev-Cpp\include" -I"C:\Dev-Cpp\include\g++-3" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
C:\Dev-Cpp\kolejka.cpp:5: parse error before character 0213
C:\Dev-Cpp\kolejka.cpp:8: parse error before character 0233
C:\Dev-Cpp\kolejka.cpp: In function `void push()':
C:\Dev-Cpp\kolejka.cpp:12: parse error before character 0213
C:\Dev-Cpp\kolejka.cpp:15: syntax error before `->'
C:\Dev-Cpp\kolejka.cpp:16: syntax error before `->'
C:\Dev-Cpp\kolejka.cpp:17: ANSI C++ forbids declaration `end' with no type
C:\Dev-Cpp\kolejka.cpp:17: confused by earlier errors, bailing out

22.01.2006 11:16
aka
18
odpowiedz
aka
30
Chorąży

Zmieniłeś te znaczki ‹› na nawiasy klamrowe?
Ja kompiluje dev w wersji 4.9.9.2 i działa bez problemu.

22.01.2006 18:17
👍
19
odpowiedz
zanonimizowany283547
13
Centurion

@aka ale ja ślepy byłem.
Wszystko już działa, dzięki.

23.01.2006 20:17
20
odpowiedz
Maevius
5
Senator

Mam takie male glupie pytanko,

W OpenGL np. przesuwajac jakis obiekt w prawo o 3 jednostki

glTranslatef(3.0f,0.0f,0.0f);

argumenty sa pounktami w przestrzeni x,y,z. Ale coz to jest to 'f' przy nich ?

bez tego dziala i kompiluje sie bez problemu.

23.01.2006 20:53
21
odpowiedz
zanonimizowany107122
13
Centurion

Informujesz kompilator że typ tej liczby to float

29.01.2006 17:05
22
odpowiedz
Maevius
5
Senator

proszę o pilną pomoc

Czy moglby ktos z Was sprobowac skompilowac ten applet ? U mnie JRE dostaje szalu i po prostu sie zwiesza ..

29.01.2006 17:06
23
odpowiedz
Maevius
5
Senator

.. do pliku AppletHello.class

29.01.2006 17:23
pecet007
24
odpowiedz
pecet007
178
~

Maevius:Ale coz to jest to 'f' przy nich ? -- Oznacza to że dana liczba jest typu float a nie double, prawdopodobnie kompilator i tak wysyła liczbę typu float do funkcji dlatego bez tego się kompiluje (bo sobie sprawdza jakie argumenty potrzebuje funkcja)

03.02.2006 18:44
snopek9
25
odpowiedz
snopek9
210
Pogrubiony stopień

Przepraszam, mam nadzieje ze moge zadac jedno pytanko...

jakie programy do c++ polecacie na poczatek? dla laika, prosta obsluga, itp

prosze o w miare szybka odpowiedz, z gory dzieki

03.02.2006 18:52
😊
26
odpowiedz
ronn
121
Legend

Oto 'moj' projekt z Cpp. Jak wam sie podoba?

Klub tenisowy, makefile, template, wyjatki.

03.02.2006 18:53
👍
27
odpowiedz
ronn
121
Legend

Snopek, jesli uzywasz windowsa, to zdecydowanie polecam devcpp :

03.02.2006 18:54
28
odpowiedz
zanonimizowany310812
0
Konsul

Ktos od Pythona tutaj jest? :-) Bo sie ucze i jestem ciekaw czy Pytong jest popularny ;-)

03.02.2006 18:59
Regis
😊
29
odpowiedz
Regis
133

Eee... To jest kompletnie nieinteraktywne, czy to mzoe ja nie wiem jak tego uzyc? :D

03.02.2006 19:01
Regis
👍
30
odpowiedz
Regis
133

Ja liznalem nieco pythona. Swietny jezyk, bo nie musisz sie paprac w kodowaniu oczywistych rzeczy (np. listy - nie musisz tworzyc duynamicznych tablic itp tylko dodajesz do raz utworzonej tablicy tyle danych ile chcesz), mnostwo przydatnych funkcji (np. bodajze set() wybioerajaca z dowolnej tablicy liste elementow [bez powtorzen, jesli takie sie w tablicy pojawiaja]) itp. Ale przyznam szczerze, ze jeszcze nie mialem okazji go uzyc do czegos innego niz zabawa... Do www mam php5, do 'reszty' c++. Ale python to fajna zabawka

03.02.2006 19:03
31
odpowiedz
ronn
121
Legend

Regis --> Nie ma tam interfejsu. W pliku main.cpp masz tworzenie obiektow, wywolywanie funkcji itp. kompilujesz makefilem i plik wykonywalny to 'club'. Mozna oczywiscie dopisac interfejs, ale na potrzeby projektu nie byl cale szczescie wymagany.

03.02.2006 19:05
📄
32
odpowiedz
ronn
121
Legend

Wlasnie, zagalopowalem sie, nie ma tam obslugi wyjatkow.

03.02.2006 19:06
Regis
👍
33
odpowiedz
Regis
133

ok. kumam. wlasnie przejrzalem sobie maina i stwierdzilem ze to chyba faktycznie bylo zamierzone ;)

03.02.2006 19:08
slowik
👍
34
odpowiedz
slowik
124
NightInGale

alex===>ja :-) popularny to on jest ale roznie z tym bywa ...

Regis===>warto sprobowac napisac cos powazniejszego w nim ;-)

03.02.2006 19:16
Regis
😊
35
odpowiedz
Regis
133

slowik --> Na przyklad? Ja po prostu nie widze zastosowan w chwili obecnej. Chcialem ostatnio napisac cos pod linuxem i uzyc pygtk (czyli interfejs w Glade, a potem program w pythonie) ale jak na zlosc strona pygtk byla zamknieta, nie moglem sciagnac bibliotek i rzucilem to w diably i napisalem sobie programik w C++ Builderze :P Python jest fajny, ale o ile nie bede chcial pisac wielosystemowej aplikacji, to jest mi zbedny. Aczkolwiek mowie - jezyk swietny. Przenaszalny jak Java, a zarazem bardzo przyjemny w kontakcie :)

03.02.2006 19:25
snopek9
36
odpowiedz
snopek9
210
Pogrubiony stopień

sprawa wyglada tak, potrzebuje wygaszacz ekranu napisany w c++ - a dokladnie jego kod, ma byc w miare prosty...ja sie nie orientuje to dla kumpla, prosze o linki, ewentualnie o przeslanie tego w jakims pliku...

bardzo ladnie prosze :)

03.02.2006 19:48
slowik
37
odpowiedz
slowik
124
NightInGale

Regis===>sam podales dobry przyklad a zrobic w nim mozna wszytko :-) no moze z kompilacja beda problemy

07.02.2006 16:40
38
odpowiedz
maczu
162
Generał

mam problem. otoz mam jakas klase i chce przeladowac operator, lae wyskakuje ze blad jakis jest. dokladnie taki ze
opoerator==(data,data) must be declared with one parameter
oto klasa:

#include <iostream.h>

class data ‹
public:
int rok, miesiac, dzien, godzina;

data(int r,int m,int d, int g);

int operator==(data a,data b)‹
int f=0;
if (a.rok==b.rok) ‹f++;›
if (a.miesiac==b.miesiac) ‹f++;›
if (a.dzien==b.dzien) ‹f++;›
if (a.godzina==b.godzina) ‹f++;›
if (f==4) ‹return 1;›
else ‹return 0;›

›;

int main()‹

return 0;

prosze o pomoc.

07.02.2006 17:07
39
odpowiedz
zanonimizowany3738
94
Senator

jezeli deklarujesz operator wewnatrz klasy, to znaczy, ze chcesz zeby lewym paametrem byl obiekt danej klasy.
wiec albo wywal deklaracje z klasy albo napisz tak:

int operator==(data a)‹
int f=0;
if (a.rok==rok) ‹f++;›
if (a.miesiac===miesiac) ‹f++;›
if (a.dzien==dzien) ‹f++;›
if (a.godzina==godzina) ‹f++;›
if (f==4) ‹return 1;›
else ‹return 0;›

›;

07.02.2006 17:18
40
odpowiedz
maczu
162
Generał

o jezu dziekuje ci bardzo bardzo.podejrzewalem cos w tym stylu ze jakis wskaznik this jest albo cos ale sie na tym dobrze nie znam:) dzieki

07.02.2006 17:30
41
odpowiedz
maczu
162
Generał

a jezeli chcialbym zeby rok,miesiac.... byly private? to musze zrobic tak jak pokazales?

07.02.2006 17:40
42
odpowiedz
maczu
162
Generał

teraz mam expresion syntax

class data ‹

int rok, miesiac, dzien, godzina;
public:
data(int r,int m,int d, int g);

bool operator==(data a)‹
int f=0;
if (a.rok==rok) ‹f++;›
if (a.miesiac===miesiac) ‹f++;›
if (a.dzien==dzien) ‹f++;›
if (a.godzina==godzina) ‹f++;›
if (f==4)‹return 1;›
else ‹return 0;›

›;

07.02.2006 19:16
😒
43
odpowiedz
zanonimizowany310812
0
Konsul

Pytanie z Pythona

Trenuje menu wyboru, niech za przyklad posluzy kalkuator.

Dlaczego wywala mi blad przy "if"?

Kod:

def kalkulator():
.........print "Kalkulator v.0.1"
.........a=input("Co chcesz zrobic?\n Wpisz 1, 2, 3 lub 4.\n 1. Dodawanie\n 2. Odejmowanie \n 3. Mnozenie \n 4. Dzielenie\n")
.........if a=1:

SyntaxError: invalid syntax

Pokazuje mi blad na znaku "=". WTF? Jak wpisze "if a==b" to wywala mi blad po b.

07.02.2006 19:25
😊
44
odpowiedz
zanonimizowany310812
0
Konsul

Ok po problemie literowka

07.02.2006 23:06
45
odpowiedz
zanonimizowany36866
60
Generał

Czy możecie mi podać jakieś interesujące strony dotyczące ogólnie trybów graficznych w C++?

Słyszałem coś o BGI, Allegro, ale nie znalazłem nic wartego większej uwagi :-/

07.02.2006 23:13
46
odpowiedz
Kijano
91
Generał

hotDog -> szukasz czegos takiego jak tryb graf w Pascalu ?

07.02.2006 23:16
47
odpowiedz
zanonimizowany36866
60
Generał

Tak, dokładnie. Np. coś do rysowania wykresów, tabelek itd pod dosem itp.

Nie chodzi mi o OpenGL ani WinAPI, coś dosowego :-)

07.02.2006 23:19
48
odpowiedz
Kijano
91
Generał

BGI

08.02.2006 01:14
49
odpowiedz
FreemaN
60

Ncurses - pod linuxa

04.03.2006 16:27
Regis
50
odpowiedz
Regis
133

Robi ktos z was w Builderze? Mam takie pytanie - mam dwie formy. Po kliknieciu przycisku w Form1 otwiera sie Form2. Co musze wpisac w funkcji TForm2::FormCreate zeby moc sie odwolac do pola Edit (dla przykladu niech sie zwie Edit1) z Form1?

04.03.2006 18:54
Regis
51
odpowiedz
Regis
133

up

04.03.2006 19:09
52
odpowiedz
Kijano
91
Generał

musisz zadeklarowac to pole w formie 1.

04.03.2006 19:41
Regis
😊
53
odpowiedz
Regis
133

Mozesz konkretniej? Dlaczego w formie1? I w jaki sposob je zadeklarowac? TEdit Costam? W Builderze jestem poczatkujacy wiec prosze o wyrozumialosc ;)

04.03.2006 20:12
54
odpowiedz
Daro2k
66
Pretorianin

Regis ->
w Form1 umieszczasz komponent TEdit (przykladowo o nazwie Edit1), w Unit2.cpp wpisujesz:
#include "Unit1.h"
a w FormCreate odwołujesz się w ten sposob:
Form1->Edit1->

czyli, np. jesli chcesz odczytac, co jest napisaje w Edit1, piszesz:
Form1->Edit1->Text

04.03.2006 20:25
Regis
👍
55
odpowiedz
Regis
133

Dzieki - ze tez na taki oczywisty zapis nie wpadlem :) Jak zwykle przekombinowalem, bo probowalem jakos wykorzystac do tego 'Sender' :)

04.03.2006 20:45
Regis
😊
56
odpowiedz
Regis
133

Jeszcze jedno pytanko, juz mniej wazne, ale chetnie sie dowiem - w chwili obecnej jak jakis element jest zablokowany (Enabled = false) to nie mozna w nim (np.) pisac, ale wyglada dokladnie tak samo jak reszta. W jaki sposob go 'poszarzyc'? Tzn. zrobic tak zeby byl ciemniejszy?

I skad czerpac wiedze o Builderze? Jakies stronki?

04.03.2006 20:59
57
odpowiedz
Daro2k
66
Pretorianin

Elementy zablokowane same zmieniaja kolor (patrz obrazek). Nic nie trzeba robic. U Ciebie jest inaczej?

Jesli chodzi o wiedze, to help (przycisk F1) i google wystarczaja. Nie znam konkretnych stron www.

04.03.2006 21:08
Regis
58
odpowiedz
Regis
133

Tzn. jest jak u Ciebie - zmienia sie tylko na szary tekst w polu Edit. A ja natomiast bym chcial zeby cale pole zrobilo sie szare - tak jak np. - nie szukajac dlugo przykladu- checkbox na Twoim screenie. Tzn. zeby tlo edita bylo takie szare jak checkbox.

04.03.2006 21:26
59
odpowiedz
Daro2k
66
Pretorianin

A, rozumiem :)
To robisz tak:

Pole zablokowane:
Edit1->Enabled = False;
Edit1->Color = clBtnFace;

Pole odblokowane:
Edit1->Enabled = True;
Edit1->Color = clWindow;

05.03.2006 10:04
Regis
👍
60
odpowiedz
Regis
133

Dzieki, o to mi biegalo. Ale juz mam kolejne pytanie - czy mozna w jakis sposob odwolac sie do parametru Color WSZYSTKICH Edit'ow w obrebie danego GroupBoxa? Czy ogolniej - czy mozna odwolac sie jakos do dowolnego parametru wszystkich obiektow danego typu w konkretnym GroupBoxie?

05.03.2006 11:44
61
odpowiedz
zanonimizowany3567
51
Generał

Chcę, żeby w moim programie napisanym w czystym C, wyświetliła mi się aktualna data i ew. czas. Nie umiem zastosować tych funckji z <time.h> :/ Pomoże ktoś?

05.03.2006 11:46
Regis
62
odpowiedz
Regis
133

http://cplusplus.com/ref/ctime/localtime.html

ogolnie polecam: www.cplusplus.com

05.03.2006 11:58
63
odpowiedz
zanonimizowany3567
51
Generał

Dzięki Regis!

05.03.2006 12:08
64
odpowiedz
zanonimizowany3567
51
Generał

To może jeszcze jedno. Czy da się zrobić wczytanie całego stringa do tablicy? Tobię tak:

char msg[500];
scanf("%*s",msg);

Zczytanie np. "ala ma kota" daje: "ala"... A ja chcę cały tekst.

05.03.2006 12:58
65
odpowiedz
zanonimizowany17241
60
Generał

!! Przeczytałem wstęp !!
Mam pytanie:
Który z "podręczników" we wstępie jest najlepszy dla totalnego zielonego?? Najlepiej po polskiemu, ale angielskim też nie wzgardze ;)

05.03.2006 13:01
👍
66
odpowiedz
bartek
9
Legend

Po polsku IMO legendarna już Symfonia C++ J. Grębosza. Niewiele mam teraz na programowanie czasu, ale jestem całkowitym laikiem i książka jest napisana bardzo przystępnie a co ważniejsze - po przekartkowaniu zauważyłem, że wcale nie kończy się na programie typu "Hello world!", także można się z niej wiele nauczyć :)

05.03.2006 13:20
Regis
67
odpowiedz
Regis
133

Las Ca --> scanfem tego nie zrobisz. Przejrzyj biblioteke string.h - chyba gets() pozwala wczytac wszystko ze spacjami. Poza tym 'potrafia' tez to robic strumienie cin w C++ jak sie je sformatuje odpowiednio

Szef Nazguli --> Symfonia C++. Bardzo dobra ksiazka do C++. Npisana prosto, przejrzyscie, a mimo to sporo uczy. Polecam bez mrugniecia okiem.

05.03.2006 21:31
Regis
68
odpowiedz
Regis
133

To ja upne i przypomne moje pytanie:

Ale juz mam kolejne pytanie - czy mozna w jakis sposob odwolac sie do parametru Color WSZYSTKICH Edit'ow w obrebie danego GroupBoxa? Czy ogolniej - czy mozna odwolac sie jakos do dowolnego parametru wszystkich obiektow danego typu w konkretnym GroupBoxie?

06.03.2006 10:17
Regis
69
odpowiedz
Regis
133

Up + jeszcze jedno pytanie, takie troche bardziej teoretyczne - mam spora liczbe pol typu edit, ulozonych w cos jak tablice dwuwymiarowa (n x m pol) - jak skutecznie reprezentowac taka tablice w pamieci komputera? Bezposrednie odwolywanie sie do elementow po nazwie odpada - algorytm musi dzialac na tablicy i potem wyswietlac wyniki w tych okienkach. Stworzyc tablice wskaznikow na pola typu edit i potem przez nie wpisywac dane za pomoca Wskaznik->Value= costam? (jaki to bedzie typ tablicy - *TObject ?) Czy moze jakos inaczej? A moze Builder w jakis sposob 'wspomaga' takie rozwiazania?

06.03.2006 11:37
Regis
😊
70
odpowiedz
Regis
133

I kolejne pytanie (tak to jest jak sie uczy czegos przy okazji pisania sporego programu :P ) - gdzie powinienem zadeklarowac zmienna/tablice/cokolwiek innego zeby bylo to widziane globalnie - z dowolnego miejsca programu? Probowalem w Project1.cpp ale niestety z wnetrza Unit1.cpp , Unit2.cpp, Unit3.cpp tej zmiennej nie widac, gdy chce jej uzyc w jakiejs funkcji...

06.03.2006 13:08
71
odpowiedz
Daro2k
66
Pretorianin

Pytanie z posta nr 69:
Nie wiem, co dokladnie chcesz zrobic, ale skoro uzywasz Editow w formie tabeli, to moze lepiej uzyc TStringGrid ?

Pytanie z posta nr 70:
Deklaracje musisz wpisac w pliku header (*.h), a dokladnie w sekcji public.

07.03.2006 13:06
Regis
72
odpowiedz
Regis
133

Ad 1: DZieki. Co prawda mam Edit'y odgornie narzucone, ale to sie przyda w czym innym :)

Ad 2 - albo ja nie rozumiem tego co napisales, albo Ty nie rozumiesz mnie :) Bo wrzucilem w Unit1.h w sekcji public moje zmienne, niestety w Unit2.cpp czy Unit3.cpp sa juz one niewidoczne. A mi chodzi o to, zeby byly widoczne w CALYM programie. Zebym sobie zadeklarowal TEdit *sterowanie1[5][5] w jakims miejscu JEDNEGO pliku, a potem w DOWOLNYM miejscu programu mogl uzyc tej zmiennej 'ot tak' :)

07.03.2006 13:22
73
odpowiedz
Kijano
91
Generał

a zalaczyles unit.h do unit1.cpp unit2.cpp itd ?

07.03.2006 13:57
74
odpowiedz
marek_marecki
2
Junior

odp do posta nr 64:
sproboj tak:

#include <fstream>

string msg;

ifstream fin("./plik");
getline(fin, msg);

fin.close();

07.03.2006 15:54
Regis
😊
75
odpowiedz
Regis
133

Kijano --> Tak, ale juz znalazlem blad. Po prostu zapomnialem ze musze sie odwolywac do tej zmiennej przez Form1->zmienna, a nie samo zmienna.

08.03.2006 08:08
Regis
76
odpowiedz
Regis
133

A w jaki sposob uzywac niedostepnych 'standardowo' funkcji w Builderze? Co trzeba zaincludowac (gdzie moge znalezc liste tych 'bibliotek') - jak chce uzyc funkcji RoundTo (wynalazlem ja w helpie) to mi pisze ze nie ma takiej funkcji... Gdzie i jak ja dodac (tzn. plik naglowkowy w ktorej sie ona znajduje).

08.03.2006 08:34
Regis
77
odpowiedz
Regis
133

dobra, odkrylem juz sam ze 'RoundTo' "siedzi" w 'math.hpp' ;)

Ale druga czesc pytania aktualna - gdzie moge znalezc spis wszystkich 'bibliotek' dosteopnych w Builderze? Cos jak www.cplusplus.com

08.03.2006 19:11
78
odpowiedz
uiouio1
59
Generał

hey ludziska a moze pomozecie w JAVIE ?

mam o to taki programik ktory liczy rational numbers. a mam zrobic cos w tym stylu tylko ma liczyc liczby zespolone (complex numbers) troche tego nei ogarniam moze pomozecie, albo jakis link podacie? bede wdzieczny

public class Rational ‹
int n; // numerator
int d; // denominator

Rational(int numerator, int denominator) ‹
n = numerator;
d = denominator;

public int getNumer() ‹
return n;

public int getDenom() ‹
return d;

public Rational plus(Rational r2) ‹
int n2 = r2.getNumer;
int d2 = r2.getDenom;
return(new Rational(n*d2 + n2*d, d*d2));

public Rational minus(Rational r2) ‹
return plus(r2.negate());

public Rational times(Rational r2) ‹
int n2 = r2.getNumer;
int d2 = r2.getDenom;
return(new Rational(n*n2, d*d2));

public Rational over(Rational r2) ‹
return plus(r2.invert());

public Rational negate() ‹
return (new Rational(-n, d));

public Rational invert() ‹
return (new Rational(d, n));

public String toString() ‹
return ("" + n + "/" + d);

08.03.2006 19:13
79
odpowiedz
Kijano
91
Generał

Regis -> nie ma jakotakiego spisu. Kazdy kompilator oprocz kilku glownych ma kilka swoich wlasnych. Najlepiej szukaj w helpie w kompilatorze

14.03.2006 20:01
80
odpowiedz
zanonimizowany3738
94
Senator

krotka pilka, bo pisze pewien program i zacialem sie na malym, prostym szczegoliku :-)

dziele przez siebie 2 liczby (a - int, b-float, c-float):
c=a/b

jak sprawdzic czy c jest liczba calkowita?

14.03.2006 20:08
81
odpowiedz
zanonimizowany60076
58
Generał

fifaik, mozna porownac liczbe z jej podloga/sufitem, dla liczb calkowitych powinna byc rownosc.

14.03.2006 20:21
82
odpowiedz
Kijano
91
Generał

fifalk ->

div_t diva;
diva = div ( a, b );
if( diva.rem == 0 ) //liczba jest calkowita

14.03.2006 20:30
83
odpowiedz
Kijano
91
Generał

albo bez diva

if( (int)c == c ) //liczba calkowita

23.03.2006 16:55
84
odpowiedz
zanonimizowany310812
0
Konsul

Jak w Pythonie laczyc tekst ze zmiennymi?

Np. do zmiennej "jajka" che przyporzadkowac "30" i wydrukowac "Jest 30 jaj".

jajka=30
print "Jest" jajka "jaj"

Oczywiscie nie dziala, probowalem $, kropek i innych chwytow z roznych jezykow, ale nic.

24.03.2006 18:00
😊
85
odpowiedz
zanonimizowany5875
43
Konsul

hej

nie czesto zagladam do tego watku i nie mam monopolu na zakladanie kolejnych jego czesci, wiec jak watek bedzie duzy, to zakladajcie nowy :)

pozdrawiam

24.03.2006 18:18
86
odpowiedz
zanonimizowany310812
0
Konsul

Okej.

UP.

29.03.2006 19:21
87
odpowiedz
FreemaN
60

Mam do sprzedania "C++. Sztuka programowania". Ksiazka jest NOWA, nieczytana, stan idealny!
Obecnie jest nakład został wyczerpany. Kosztowała 39,90 PLN. Kupiłem ją w większym pakiecie książek więc oferuje ją za okazyjne:

20 PLN

wiecej: http://helion.pl/ksiazki/cpszpr.htm

04.04.2006 16:31
88
odpowiedz
Maevius
5
Senator

Hej

Zidiocialem do reszty. Mam na mysli bardzo prosty warunek, fundamenty pod "menu":

#include <iostream.h>
#include <conio.h>
using namespace std;

int main() ‹

int ble, tak, nie;

tak = 0;
nie = 0;

cout << "Lubisz patrzec w niebo? (odpowiedz t lub n) \n";

while ( ( ble = cin.get() ) !=EOF ) ‹

switch ( ble ) ‹



case 'T':
case 't':
tak = 1;
break;

case 'N':
case 'n':
nie = 1;
break;

default: cout << "Nieznany znak." << endl;
break;



if ( tak == 1 ) ‹
cout << "Ja tez.\n"; ›
else
if ( nie == 1 ) ‹
cout << "Sproboj, jest ladne."; ›

getch();

return 0;

Nie sugerujcie sie trescia, nie ma tu znaczenia. Dlaczego program wyrzuca mi ciagle default, tzn "Nieznany znak" ?

04.04.2006 20:21
89
odpowiedz
Maevius
5
Senator

problem nieaktualny.. pozdrawiam.

09.04.2006 21:05
90
odpowiedz
zanonimizowany62897
47
Generał

Witam! Dopiero zaczynam swoją przygodę z c++, i już natknąłem się na pewien problem...
otóż chciałbym prosić golowiczów o wytłumaczenie jak sprawić że np zmienna x była losowana z pewnego przedziału. Szukałem w necie, ale nic nie znalazłem co by mi sie przydało. Wielkie dzięku z góry.

09.04.2006 21:56
91
odpowiedz
zanonimizowany62897
47
Generał

Ok problem losowania rozwiązany. Teraz z kolei problem koloru tekstu. Coś takiego jak w pascalu, jak widze niektóre kody żeby to zrobić to mnie przyprawia o mdłości. Chcę zmienić kolor wyświetlanego tekstu, ale mi po prostu nie idzie :)

10.04.2006 17:20
👍
92
odpowiedz
zanonimizowany36866
60
Generał

Witam,

mam pytanie do Was.

Piszę dość zaawansowany i długi program na laborki. Na razie piszę go w jednym pliku *.cpp i noszę się z zamiarem podzielenia go na jakieś moduły, tak żeby każdy moduł miał inną fukcjonalność, np. wczytywanie danych z plików, tworzenie macierzy, obliczanie itd itd itd.

Czy ktoś z Was ma jakieś strony www na temat dzielenia programu na moduły? Nie wiem jaki jest sens tworzenia plików *.h skoro wszystkie definicje funkcji i tak muszą być w *.cpp..., który mi aktualnie zajmuje 800 linijek. Chodzi mi o podział całkowity podział kodu na segmenty/moduły.

Mam nadzieję, że wiecie o co mi chodzi :-)

Pozdrawiam!

10.04.2006 17:32
93
odpowiedz
zanonimizowany1647
82
Legend

ha !! widze tutaj że Grzybiarz ma te same problemy co ja z kolorami :P bo musze napisać gre w statki, a bez kolorków nie idzie... a pozatym, może ktos ma DZIAŁAJĄCĄ obsluge myszki w c++ ? (na standardowych bibliotekach)

10.04.2006 17:40
zmudix
94
odpowiedz
zmudix
157
Professor Fate

A ja mam maly problem z zapisywaniem do pliku, cos sie wywala. :/

Mam liste (1k, cykl.) i podlisty (2k, prost.) i nie bardzo wiem jak mam to zapisywac.

edit: z zapisem prawie nie mialem do czynienia, stad problemy, funkcje nizej napisalem na podstawie funkcji kolegi :) [on ma to troche inaczej, no ale 'na oko' XD powinno dzialac :D]

Moze napisze jakie mam typy:

ElemAnime‹
Anime dane; // tam inna struktura z podana nizej
ElemAnime* nast;
›;

typedef ElemAnime* ListaAnime;

Anime‹
char tytul[50];
char jtytul[50];
char typ[4];
int rokprod;
int iloscodc;
ListaBoh cast; // wskaznik na poczatek podlisty, to nizej ;-)
›;

Boh‹
char nazwisko[30];
char imie[25];
int wiek;
›;

BohElem‹
Boh dane; // to co wyzej
BohElem* nast;
BohElem* pop;
›;

typedef BohElem* ListaBoh;

Do funkcji dodawania i drukowania przekazywany jest wskaznik do listy (ListaAnime //lista// lub ListaBoh // w domysle lista->dane.cast). Funkcja zliczajaca elementy na liscie zwraca int.

void ZapiszJako(ListaAnime lista, char *nazwa_pliku)

WczytajNazwePliku(nazwa_pliku);
ZapiszPlik(lista,nazwa_pliku);

void ZapiszPlik(ListaAnime lista, char* nazwa_pliku) // problematyczna funckja :/

fstream plik (nazwa_pliku,ios::out | ios::binary);

ListaAnime kon_a=lista;
ListaBoh lboh;
int ileboh;

Anime anime;

if(lista)
do

lboh=lista->dane.cast;
anime=lista->dane;
ileboh=IleBohaterow(lboh);
plik.write((char*)&anime,sizeof(Anime));
plik.write((char*)ileboh,sizeof(int));

while(ileboh!=0)

plik.write((char*)&lboh->dane,sizeof(Boh));
lboh=lboh->nast;
ileboh--;


lista=lista->nast;

›while(lista!=kon_a);
plik.close();

void WczytajNazwePliku(char *nazwa_pliku)

system("cls");
cout << "Podaj nazwe pliku \n-> ";
fflush(stdin);
cin.getline(nazwa_pliku,20);

10.04.2006 20:42
95
odpowiedz
zanonimizowany1647
82
Legend

łup

11.04.2006 14:14
96
odpowiedz
zanonimizowany62897
47
Generał

Znowusz ja :)
Mam taki problem... otóż nie wiem jak zrobić coś takiego, żeby po naciśnięciu klawisza np ESC programik reagował. W Pascalu wiem jak to zrobić, lecz nie mam odniesienia do c++. Pomoże ktoś?

23.04.2006 13:02
slowik
😊
97
odpowiedz
slowik
124
NightInGale

wie moze ktos w jaki sposob rozwiazac problem przepelnienia typu ?

23.04.2006 16:31
98
odpowiedz
pszczesz
71
Pretorianin

Jak w prosty sposób w Builder 6 c++ zrobić aby do komponentu Edit dało się wpisywać tylko liczy, żadnych liter?

23.04.2006 18:01
99
odpowiedz
zanonimizowany198994
40
Generał

pszczesz, uzyj komponenty maskedit (po prostu ustaw sobie odpowiednia maske).

23.04.2006 18:16
100
odpowiedz
Kijano
91
Generał

slowik - a to jest wskaznik na typ ? jesli tak to zamiast malloca staraj sie uzywac relloca

23.04.2006 19:24
101
odpowiedz
pszczesz
71
Pretorianin

Tańczący na Zgliszczach --> Dzięki. Tylko jak ustawić maskę, aby można wprowadzić dowolną liczbę double (zrówno dodatnią i ujemną).

23.04.2006 22:51
slowik
102
odpowiedz
slowik
124
NightInGale

Kijano===>chodzi sposob na poradzenie sobie ze zbyt duzymi wartosciami dla danego typu lub deklaracje wlasnego "nieograniczonego" typu

23.04.2006 23:06
Katane
103
odpowiedz
Katane
170
Useful_Idiot_

Ok, mam taka zagadke w C.

Mam zrobic program, ktory pobiera od uzytkownika funkcje zlozona ze zmiennej x, liczb calkowitych, operatorow arytmetycznych +,-,*,/, podstawowych funkcji matematycznych (sin, cos, tg, ln, exp, ...) oraz nawiasow, a nastepnie liczy jej rozniczke.

Jakies sugestie? Nie za bardzo wiem, z ktorej strony sie do tego zabrac.

24.04.2006 01:54
slowik
😊
104
odpowiedz
slowik
124
NightInGale

piszesz interpreter (parser) tego typu wyrazen
dla x'a przyporzadkowujesz argumenty no i liczysz z rozniczka zlorzona troche sie pobawisz ale mysle ze za sprawa rekurencji uda ci sie ;-)

25.04.2006 12:16
105
odpowiedz
maczu
162
Generał

mam deva 4.9.3.0 i sie nie kompiluje najptrosszy program na swiecie o prostokacie, wyskakuje taki blad:
30 C:\Documents and Settings\ue12\Pulpit\siwy\Prostokat.cpp
no match for `ostream & << ‹unknown type›'

77 C:\Dev-C++\include\g++-3\iostream.h
candidates are: class ostream & ostream::operator <<(char)

mozecie pomoc?? :)

#include<iostream>
using namespace std;

class Prostokat ‹
int a,b;

public:
// konstruktor
Prostokat(int a1, int b1)
‹ a = a1; b = b1; ›

// funkcja obliczajaca pole
int pole()
‹ return (a*b); ›

// funkcja obliczajaca obwod
int obwod()
‹ return (2*a+2*b); ›
›;

int main() ‹

int x,y;
cout << "Podaj boki prostokata. \n\t a: ";
cin >> x;
cout << "b: ";
cin >> y;

Prostokat p(x,y);

cout << "Pole prostokata p: " << p.pole << "\tobwod: " << p.obwod;
system("PAUSE");
return 0;

25.04.2006 12:20
Arxel
106
odpowiedz
Arxel
220
Kostka Rubika

czy nie powinno byc przede wszystkim

#include<iostream.h>
choc przyznam sie ze dawnie nie siedzialem w c++ i niepamietam czy dawalo sie h czycos inego:)

25.04.2006 12:21
107
odpowiedz
Kijano
91
Generał

p.pole zamien na p.pole()
p.obwod zamien na p.obwod()

slwoik - musisz albo przytnac wartosc albo rozdzielic :)

25.04.2006 12:25
108
odpowiedz
maczu
162
Generał

dzieki kijano juz znaazlem :)
arxel nie trzeba dawac .h jak sie da wlasnie to usnig namespace std;
pozdro

25.04.2006 15:44
slowik
😊
109
odpowiedz
slowik
124
NightInGale

Kijano===>przyciac sie nieda rozdzielic jakos jesli juz z polami bitowymi pokombinuje ..... ;-)

26.04.2006 00:49
110
odpowiedz
zanonimizowany62897
47
Generał

Mam bardzo prymitywne pytanie....Jestem "laikiem" tak jak w nazwie wątku zostało napisane.
Jak odczytać dane z pliku in.txt mieszczącego sie na dkysku C. I jak do niego zapisać dane (tyle że do out.txt). Po prostu chce wczytać/zapisać dane. Nic więcej, narazie mnie żadne separatory nie interesują. Samą podstawową funkcję bym prosił, żebyście mi napisali. z góry tnx!

Oczywiście chodzi o c++

26.04.2006 15:30
111
odpowiedz
zanonimizowany62897
47
Generał

UP!!!

26.04.2006 18:12
112
odpowiedz
zanonimizowany60076
58
Generał

use google :)
http://www.codersource.net/cpp_file_io.html
tutaj sa przyklady jak czytac i zapisywac do pliku. Żeby wczytac i zapisac trzeba je polaczyc. Ponadto sa w starej skladni.
Powinno byc na poczatku:
#include <fstream>
#include <iostream>
using namespace std;

26.04.2006 19:34
113
odpowiedz
zanonimizowany62897
47
Generał

No właśnie co masz na mysli pisząc "połączyć". Bo chce najpierw jeden pliczek otworzyć, zczytać z niego dane, a potem zapisać, ale już do innego i mi wyskakuje

error C2086: 'file_op' : redefinition

do końca nie wiem co z tym zrobić.

26.04.2006 21:35
114
odpowiedz
zanonimizowany62897
47
Generał

i łup na góre.

26.04.2006 22:43
SpaceCowboy
115
odpowiedz
SpaceCowboy
97
Jenerał

Ciekaw jestem, czy miał tu ktoś do czynienia z programem o nazwie - Web Matrix i jako tako potrafi się w nim dość sprawnie poruszać?

26.04.2006 23:07
116
odpowiedz
zanonimizowany60076
58
Generał

No czytamy i zapisujemy linia po linii. file_op jest chyba nazwa zmiennej (jakas dziwna skaldnia tego c++) wiec trzeba bylo zrobic file_in i file_out.
#include <fstream>
#include <iostream>
using namespace std;
int main()

char str[2000];
fstream file_in("in.txt",ios::in);
fstream file_out("out.txt",ios::out);

while(!file_in.eof())

file_in.getline(str,2000);
file_out <<str;

file_in.close();
file_out.close();
return 0;

26.04.2006 23:10
117
odpowiedz
zanonimizowany36866
60
Generał

Witam,

poszukuje jakiegoś programiku do testowania aplikacji pod względem wycieku pamięci. Szukałem, ale nic nie znalazłem :-/

Czy tylko pozostaje 'ddd' pod linuxa?

27.04.2006 00:49
118
odpowiedz
zanonimizowany64016
60
Generał

Pod linuxem masz: valgrind'a - oczywiscie darmowy
A pod Windowsa (jako plugin do Visual Studio) proponuje: DevPartner for Visual C++ BoundsChecker - niestety chol**nie drogi, ale dobry ;)

27.04.2006 23:44
👍
119
odpowiedz
zanonimizowany36866
60
Generał

Dzięki serdeczne!

Sprawdzałem dzisiaj tego Valgrind'a i muszę przyznać, że jest całkiem niezły. Co prawda na początku ciężko było skapować o co biega w tych jego wynikach, ale wydaje mi się, że nauczyłem się czytać to co tam jest napisane :-) Jeśli masz jeszcze jakiś polski porządny opis do odczytywania wyników jego pracy to możesz podać, bo ja nic ciekawego na googlach nie znalazłem.

29.04.2006 22:34
120
odpowiedz
zanonimizowany36866
60
Generał

Witam

Mam problem ze stworzeniem pliku Makefile, a konkretnie z biblioteką iostream.

Makefile (mniej więcej, piszę z pamięci):

program: 1.o 3.o
gcc 1.o 3.o -o program
1.o: 1.cpp 1.h
gcc -c 1.cpp
3.o: 3.cpp 3.h
gcc -c 3.cpp

Pliki 1.cpp i 3.cpp są takie same, bo dopiero się uczę tworzyć Makefile i zawierają tylko #include"1.h" dla 1.cpp oraz #include"3.h" dla 3.cpp. Main() jest tylko w 3.cpp

Wszystko działa ok, do momentu kiedy w pliku 3.cpp nie wrzucę #include<iostream>, wtedy przy poleceniu "make" pokazują się krzaki i się nie kompiluje :-/ Dodam, że kompiluję pod Mandrake'm.

Liczę na waszą pomoc :-)

29.04.2006 22:37
Regis
121
odpowiedz
Regis
133

Dajesz #include<iostream>, tak?

A dopisujesz potem pod sekcja include:

using namespace std?

30.04.2006 00:09
😉
122
odpowiedz
zanonimizowany36866
60
Generał

tak, piszę #include<iostream>

using namespace std; nie stosuję. Wpisałem to do pliku cpp, ale bez żadnych efektów :-/

Wydaje mi się, że to chyba wina braku parametru -I przy wywoływaniu g++....

chociaz sam już nie wiem

30.04.2006 00:12
Regis
123
odpowiedz
Regis
133

Hmmm... Ja w g++ kompiluje 'bezparametrowo' zazwyczaj (tylko -o) i nie mialem nigdy takiego klopotu... A co konkretnie wywala kompilator?

30.04.2006 15:18
👍
124
odpowiedz
zanonimizowany36866
60
Generał

Wywalało kupę krzaków.

Ale już nieważne jakich, bo zmieniłem w makefile gcc na g++, tak jak Ty i wszystko działa :-) Zarówno pod linuxem jak i pod XP.

Tak czy siak dzięki ;-)

02.05.2006 18:35
125
odpowiedz
Maevius
5
Senator

Robie sobie powtorke ze strukturalnego i mam problem z zagniezdzonymi petlami for (oh lol).

O ile wzorek,

x
xx
xxx
xxxx
xxxxx

Moze byc rozrysowany za pomoca prostego:

for (int i=0;i<5;i++)

for (int j=0;j<=i;j++)
std::cout << "x";
std::cout << std::endl;

std::cout << std::endl;

To nie moge wykombinowac algorytmu na wzorek:

xxxxx
xxxx
xxx
xx
x

Jakis pomysl :)

02.05.2006 18:40
Regis
126
odpowiedz
Regis
133

Zacznij od i = 5 i odejmuj az do zera i powinno dzialac :P Taka pierwsza mysl moja :P

02.05.2006 18:43
127
odpowiedz
Maevius
5
Senator

Moja 1 byla taka:

for (i=5;i>0;i--)

for (j=5;j>=i;j--)
cout << "X";
cout << endl;

:P

Wyszlo na to samo :P

03.05.2006 12:42
128
odpowiedz
Maevius
5
Senator

powyzszy przyklad poprawnie:

for (i=0; i <= 4; i++)

for (j=4;j>=i;j--)
cout << "X";
cout << endl;

Gubie sie w zagniezdzonych petlach for. Moglby mi ktos to przystepnie wyjasnic ?

Gdy mam rozrysowac ksztalty jak:

xxxxx
xxxx
xxx
xx
x

albo

x
xxx
xxxx
xxx
x

(ten wzorek tutaj to jest romb)

To nie wiem jak.

Prosze o pomoc w wyjasnieniu zawilosci zagniedzonych petli, albo link do artykulu
ktory bedzie w stanie mi pomoc. Najlepiej iteracyjna metoda krok po kroku ;)

03.05.2006 13:00
129
odpowiedz
Maevius
5
Senator

ok gol wariuje wiec rozrysuje 'wzorki' inaczej:

d xxxxx
dd xxxx
ddd xxx
dddd xx
ddddd x

a romb z x o boku 5 to juz zwyczajnie

03.05.2006 14:39
130
odpowiedz
Maevius
5
Senator

up

03.05.2006 22:53
😊
131
odpowiedz
zanonimizowany36866
60
Generał

Pomyśl w następujący sposób, a myślę, że wpadniesz na rozwiązanie.

pierwsza pętla (zewnętrzna) odpowiada za "przesuwanie" wierszy, natomiast druga (wewnętrzna, zagnieżdżona) odpowiada za rysowanie "x" w każdym pojedynczym wierszu ;-) Ogólnie - pierwsza pętla idzie w dół, druga w prawo. Kiedy zaczynamy iterację pierwsza pętla znajduje się w pierwszym wierszu, a w nim działa druga pętla - kiedy ta druga skończy działanie (czyli nie spełni się warunek) to "wyskakuje" do pętli nadrzędnej (pierwszej) a ta kontynuuje swoje działanie, czyli robi kolejny cykl, w którym znów działa pętla wewnętrzna.... i tak dopóki pętla zewnętrzna będzie spełniała warunek...

Teraz już może wpadniesz na rozwiązanie. W ten sam sposób tworzy się np. macierze.. czy to dwu- czy n-wymiarowe.

03.05.2006 23:02
132
odpowiedz
zanonimizowany36866
60
Generał

BTW spójrz na swój hmm... na to ;-)

d xxxxx
dd xxxx
ddd xxx
dddd xx
ddddd x

jak widzisz pętla zewnętrzna "rośnie", a pętla wewnętrzna "maleje"

06.05.2006 20:01
Stranger.
😊
133
odpowiedz
Stranger.
201
Spookhouse

GRYOnline.plTeam

Witam, Kolega od paru dni nudzi mnie zebym mu pomogl z jakims malym programikiem :) Z racji tego, ze nie interesuje sie programowaniem zwracam sie z prosba do Was :)

#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <math.h>
#include <dos.h>

class pola
‹public:
void oblicz (int x, int y); //bok i wysokosc trojkata
void oblicz (int x, int y, int h); //dwa boki i wysokosc trapezu
void oblicz1 (float x, float y); //pole prostokata
›ob;

void pola::oblicz (int x, int y)

cout << "Obliczamy pole trojkata \n";
cout << "Podaj bok x\n";
scanf ("%d",&x);
cout << "Podaj wysokosc y\n";
scanf ("%d",&y);
printf ("Pole trojkata = %f\n", (x*y)/2);
while (!kbhit());

void pola::oblicz (int x, int y, int h)
‹clrscr();
cout << "Obliczamy pole trapezu \n";
cout << "Podaj bok a\n";
scanf ("%d",&x);
cout << "Podaj bok b\n";
scanf ("%d",&y);
cout << "Podaj wysokosc trapezu\n";
scanf ("%d",&h);
printf ("Pole trapezu = %d\n", ((x+y)*h)/2);
while (!kbhit());

//trzecie pole (prostokat) do zrobienia

class wynik : public pola
‹public:
char c;
void menu();
›ob1;

void wynik::menu()
‹do
‹clrscr();
cout << "1 - Pole trojkata\n";
cout << "2 - Pole trapezu\n";
cout << "ESC - wyjscie\n";
c=getch();
switch(c)
‹case '1':
oblicz (int x, int y); tu wyskakuje pierwszy blad
break;
case '2':
oblicz (int x, int y, int h);
break;


while (c!=27);

void main()
‹ob1.menu();

06.05.2006 20:11
134
odpowiedz
zanonimizowany60076
58
Generał

Z tymi clasami i obiektami to chyba jakas przesada. Nie zmona napisac tego skladania c?

06.05.2006 20:15
Stranger.
😊
135
odpowiedz
Stranger.
201
Spookhouse

GRYOnline.plTeam

fanlegii79 --> Domyslam sie, ze jest pewnie jakas krotsza i prostsza droga :) Tyle ze w tym przypadku chodzi doprowadzenie tego konkretnego programu (w takiej formie) do stanu uzywalnosci ;)

06.05.2006 20:17
136
odpowiedz
zanonimizowany64016
60
Generał

czy kolega uczyl sie kiedyc c++ ?? bo po kodzie jakos nie widac :) Bledem tam gdzie zaznaczyles jest to ze to co napisal to deklaracja funkcji !!! a nie jej wywolanie !!
Powiedz co che napisac, to bedzie latwiej czy to ma byc tylko prosty kalkulator i czy ma on byc zbudowany obiektowo ??

06.05.2006 20:20
Stranger.
😊
137
odpowiedz
Stranger.
201
Spookhouse

GRYOnline.plTeam

Domyslam sie, ze chodzi tylko o to zeby z tego jakiegos menu mozna bylo wybierac operacje na liczenie pol figur :) Jeszcze zapytam.. :)

09.05.2006 18:05
😐
138
odpowiedz
zanonimizowany300439
8
Legionista

Witam mam taki program w javie który ma łączyć się z bazą danych i umożliwiać wyświetlenie jej zawartości oraz umożliwić jej modyfikacje. Nie wiem co powiniennem wpiscać w pewnych miejscach aby się połączył. Dlatego jeżeli ktoś byłby skłonny pomóc będę bardzo wdzięczny.
Oto program:

/* podstawowe klasy JDBC */
import java.sql.*;
import java.io.*;
import java.util.*;

public class Bazaa ‹

public static Connection getConnection()
throws SQLException, IOException

Properties props = new Properties();
FileInputStream in = new FileInputStream("database.properties"); <---- Co w tych nawiasach powinno być wpisane
props.load(in);
in.close();

String drivers = props.getProperty("jdbc.drivers"); <<------ Co w tych nawiasach powinno być wpisane
if (drivers != null)
System.setProperty("jdbc.drivers", drivers);
String url = props.getProperty("jdbc.url");
String username = props.getProperty("jdbc.username");
String password = props.getProperty("jdbc.password");

return DriverManager.getConnection(url, username, password);

public static void main(String[] args)‹
String url = "jdbc:postgresql://"adres bazy danych";
System.out.println("Podaj parametry(bez spacji):\nq -Wyjscie\nA -Wyswietl:\na -Imiona b -Nazwiska");
try ‹

Connection db = Baza.getConnection();
Statement st = db.createStatement();
int i=0;

InputStreamReader isr = new InputStreamReader(System.in);

// otoczenie potoku znakowego buforowanym
BufferedReader br = new BufferedReader(isr);

char m,n;
do‹
m=(char)br.read();
n=(char)br.read();
br.read();
if(m=='A')‹
if(n=='b')‹
ResultSet rs = st.executeQuery("SELECT nazwisko FROM osoba");

while (rs.next()) ‹
i++;
System.out.println("" + i+" kolumna:");
System.out.println(rs.getString(1));

//rs.close();
//st.close();


if(n=='a')‹
ResultSet rs = st.executeQuery("SELECT imie FROM osoba");

while (rs.next()) ‹
i++;
System.out.println("" + i+" kolumna:");
System.out.println(rs.getString(1));

//rs.close();
//st.close();


›while(m!='q');

catch (SQLException e) ‹
System.err.println("Wyjatek z zapytania SQL: " + e.getMessage());
e.printStackTrace(System.err);


catch (Exception e) ‹
System.err.println("Wyjatek przy ladowaniu klas: " +
e.getMessage());
e.printStackTrace(System.err);


09.05.2006 19:44
tsunami
139
odpowiedz
tsunami
76
Sh!t Happens

never mind...

09.05.2006 23:37
140
odpowiedz
zanonimizowany36866
60
Generał

Możecie mi powiedzieć jak poprawie zaimplementować szablon funkcji?

Mam szablon funkcji
template<typename T, typename U>
// itd itd

jego deklarację mam w pliku nagłówkowym *.h, a ciało w pliku *.cpp

Aplikacja składa się z kilku cpp i h - w mainie odwołuję się do tego szablonu i w tym momencie mam błąd w kompilacji, bo pokazuje mi błąd w postaci niemożności odwołania się do takiej funkcji....

Gdy przeniosę cały szablon do pliku cpp z funkcją main() wszystko działa poprawnie..

09.05.2006 23:47
👍
141
odpowiedz
zanonimizowany36866
60
Generał

Problem rozwiązany.

Dla potomnych: definicje szablonów trzeba w całości pisać w plikach *.h (nagłówkowych)

15.05.2006 09:36
142
odpowiedz
Lookash
155
Legend

Szukam porządnej lektury na temat C sharp (C#). Systematycznej, w miarę od rzeczy najprostszych. Może ktoś coś polecić? Oczywiście w grę wchodzą też jakieś porządne kursy internetowe itp.

15.05.2006 14:49
😊
143
odpowiedz
zanonimizowany36866
60
Generał
15.05.2006 20:39
144
odpowiedz
zanonimizowany36866
60
Generał

Szukam algorytmu (a najlepiej gotowej implementacji w c++) do rozwiązywania układu równań nieliniowych, wszystko oprócz eliminacji Gaussa :-)

Jeśli ktoś posiada to proszę o pomoc.

15.05.2006 21:31
145
odpowiedz
zanonimizowany134768
41
Pretorianin

Prosba. Kolezanka prosila mnie o pomoc w c++, powiedzialem Jej, ze pomoge, chociaz nie mam pojecia na temat jezyka c++. Ale wiecie... to koolleezzaannkkaa ;p. Program ma zaprezentowac mozliwosci tworzenia okien za pomoca funkcji window, zaprezentowac rowniez mozliwosci ustalania tla dla okna jak i zmiane koloru tekstu w oknie. Weim, ze to dla Was pryszcz i 2 min roboty :), dlatego prosilbym, zeby ktos moglby mi takie "cus" przeslac na mejla ( [email protected] ). Odwdziecze sie w naturze ;) ;)

15.05.2006 21:38
146
odpowiedz
zanonimizowany379
61
Konsul

hotDog---> czyżby PAI? :-)

Mógłby mi ktoś powiedzieć jakiej biblioteki trzeba użyć żeby dostać się do funkcji sytemowych(mkdir,rm,touch,chmod...)?

15.05.2006 22:27
147
odpowiedz
maczu
162
Generał

#include <iostream>
using namespace std;

class Kontakt // klasa kontakt

char nazwa[20]; // nazwa kontaktu
int numer; // numer kontaktu
public:

Kontakt() ‹›; // konstruktor domyslny

Kontakt(char na[20], int nr) // konstruktor

strcpy(nazwa,na);
numer=nr;


~Kontakt() ‹› // destruktor

bool porownaj(char kto[20]) // porownuje kontakt ze wzorcem

if (strcmp(kto,nazwa))
return true;
else
return false;


void wypisz() // wypisuje kontakt

cout << nazwa << "\t" << numer << "\n";

›;

class Ksiazka // klasa ksiazka

int rozmiar; // skladnik rozmiar (ksiazki)
int ile; // ile wpisow
Kontakt * lista; // wskaznik na liste elementow
typu Kontakt

public:

Ksiazka(int r) // konstruktor

lista = new Kontakt[r];
rozmiar = r;
ile = 0;


void dodaj(Kontakt kto) // funkcja dodaje kontakt do listy

if (rozmiar==ile) // jezeli nie ma wolnych miejsc
cout << "Ksiazka jest pelna!\n";
else // dodanie kontaktu

lista[ile] = kto;
ile++; // zwiekszenie ilosci wpisow



void wypisz() // funkcja wypisuje wszystkie
kontakty

if (ile>0)
for (int i=0;i<ile;i++)
lista.wypisz();
else cout << "Ksiazka jest pusta!\n";


void usun(char kto[20]) // funkcja usuwa kontakt z listy/

if (ile>0) // jezeli sa wpisy
for (int i=0;i<=ile;i++)
if (lista.porownaj(kto))

//delete lista;
// ^^^ blad: type `class Kontakt' argument given
to `delete', expected pointer

ile--;

else // jezeli pusta

cout << "Ksiazka jest pusta!\n";

›//koniec: usun()
›;

mam problem, blad mi wyskakuje w tej linijce, musze usunac ten wpis z tablicy, nie wiecie czasami jak? :)

16.05.2006 17:45
148
odpowiedz
zanonimizowany134768
41
Pretorianin

upp, ponawiam prosbe o pomoc :)

16.05.2006 18:22
149
odpowiedz
zanonimizowany20450
91
Senator

Maczu--->czy tam gdzie masz błąd próbowałeś wpisać wskaźnik na: lista? Czyli coś takiego:
delete *lista;
Nie jestem pewien ale to wydaje mi się, że to wynika z błędu, który Ci wyświetla.

16.05.2006 18:26
Regis
150
odpowiedz
Regis
133

Pewnie trzeba wskaznika na wskaznik do obiektu typu Kontakt :) Chociaz glowy nie dam. Wydawalo mi sie ze styknie samo delete lista...

16.05.2006 18:30
151
odpowiedz
zanonimizowany36866
60
Generał

BEERman --> Taaaa.... a skąd masz takie info? Coś Cię łączy z Politechniką Częstochowską? :-))

Ponawiam moją prośbę - jest to dla mnie b. ważne.

23.05.2006 20:29
152
odpowiedz
Kijano
91
Generał

Mam pytanie.
Zrobilem program pod Linuxa i teraz musi dzialac na Windowsie. Ok uruchamiam windows i Dev-c++ . Program bez problemu sie kompiluje ale.... ze źródel tzn jak w dev-c++ dam F9 program dziala poprawnie a program.exe nie chce dzialac. Wie ktos o tym problemie ?

23.05.2006 23:29
153
odpowiedz
zanonimizowany36866
60
Generał

Wklej jakie komunikaty się pojawią lub błędy.

24.05.2006 11:19
tsunami
154
odpowiedz
tsunami
76
Sh!t Happens

Jakby ktos dal rade, to dosc szybko potrzebowalbym informacji, jak znalesc min i max, w jakims array (10 liczb na sztywno ustwionych) w C.

dzieki z gory.

24.05.2006 13:20
155
odpowiedz
Kijano
91
Generał

hotDog -> brak bledow i w tym problem :/ Kompiluje sie bez errorow. Ze zrodlel dziala pieknie a jak uruchomie program.exe to program zle dziala. Dodaje ',' na koniec kazdego chara przecinek. np. mam w kodzie
char tab[] = "DUPA" to on robi na tab[]="DUPA," ale tylko podczas uruchomienia pliku .exe

tsunami ->

int LICZBY = ‹ 1,2,3 ›

void sortuj( const void *a, const void *b )‹
return ( *(int*)a - *(int*)b );

a w kodzie
qsort( LICZBY, (sizeof(LICZBY)/sizeof(LICZBY[0]), sizeof(int), sortuj);

LICZBY[0] min
LICZBY[2] max

24.05.2006 20:48
slowik
😊
156
odpowiedz
slowik
124
NightInGale

Kijano===>qsort do takiej prostej czynnosci ?

nie lepiej:
n-rozmiar tablicy
min=tab[0]
for(i=0;i<n;i++) if(tab<=min) min=tab[0];
max=tab[0]
for(i=0;i<n;i++) if(tab>=min) max=tab[0];

25.05.2006 00:06
157
odpowiedz
zanonimizowany36866
60
Generał

Kijano --> Hmmm... cieżka sprawa :-) Spróbuj skompilować go pod linem z parametrami -Wall i -pedantic. Usuń ew. błędy i ostrzeżenia jeśli się takowe pojawią i wtedy pod win spróbuj.

Ja akurat teraz robię dość rozbudowany projekt i od początku mam -Wall i -pedantic i kod jest w 100% przenośny.

ps. może potraktowanie go Valgrindem coś da?

25.05.2006 11:01
158
odpowiedz
Kijano
91
Generał

HotDog-> wlasnie w linuxie 0 bledow przy -Wall -pedantic :/ NIC.
Moze wina stoi po stronie kompilatora. Jaki oprocz dev-c++ jest darmowy do c pod windowsem ?

slowik ->mozna tez tak. Ale lepiej miec odrazu posortowana tablice :)

25.05.2006 18:41
slowik
159
odpowiedz
slowik
124
NightInGale

Kijano===>ostatnio miele w znacznym stopniu zlorzonosci rozne no i mam watpliwosci ktora metoda bylaby wydajniejsza ;-)

znacie cos dobrego do opanowania tego zagadnienia ?

28.05.2006 12:37
tsunami
160
odpowiedz
tsunami
76
Sh!t Happens

Chodzilo mi o cos troche innego... przedewszystkim mowilem o C, to co podales to chyba C++

Mam taki program:

Tutaj musze zrobic zeby mi znajdywalo Min, i Max wsrod wartosci int a[10] (czyli od -5 do 5)

Minimum ma szukac korzystajac z petli 'while' , a Maximum korzystajac z 'do while'

28.05.2006 12:38
tsunami
161
odpowiedz
tsunami
76
Sh!t Happens

jeszcze raz bo GOL odczytal zle [i ] :P

#include <stdio.h>
#include <conio.h>

typedef struct

int min;
int max;
int sum;
› sth;

void main ()



int a[10]=‹-5,-4,-3,-2,-1,0,2,3,4,5›;
int i,sum;
int min,max;

//FROM 0 to 10
printf("\n From first to last:\n");
for (i=0;i<10;i++)
printf(" a[%d]=%d\n",i,a[i ]);
printf("\n");

//FROM 10 to 0
printf("\n From last to first:\n");
for (i=9;i>=0;i--)
printf(" a[%d]=%d\n",i,a[i ]);

//SUM
sum=0;
for(i=0;i<10;i++)

sum=sum+a[i ];

printf("\n");
printf(" The sum of the array is: %d",sum);
printf("\n");
//MINIMUM
/*

*/

//MAXIMUM

/*

*/


sth sth2;
//sth2.min=min;
//sth2.max=max;
sth2.sum=sum;

//SAVE TO FILE
FILE *f1;
f1=fopen("datafile.dat", "w");
fwrite(&sth2, sizeof(sth), 1, f1);
fclose(f1);

//DISPLAY DATA
FILE *f;
f=fopen("datafile.dat","r");
fread(&sth2, sizeof(sth), 1, f);
fclose(f);

//READING DATA
printf("\n Data file content: ");
//printf("\n Min: %d", sth2.min);
//printf("\n Max: %d", sth2.max);
printf("\n Sum: %d", sth2.sum);
getch();

28.05.2006 13:15
slowik
😊
162
odpowiedz
slowik
124
NightInGale

tsunami===>oba przyklady byly w c :]

problemow przerobieniem tego na while i do while nie powinienes miec ...
n-rozmiar tablicy
min=tab[0];
i=0;
while(i<n)‹ if(tab<=min) min=tab[0];i++;›
max=tab[0]
i=0;
do‹ if(tab>=min) max=tab[0];i++;
while(i<n);

28.05.2006 17:35
163
odpowiedz
Maevius
5
Senator

Pewien banalny problem, ale dlaczego zmienna wynik nie pokazuje wartosci po przecinku ?

kod dla przejrzystosci umiescilem tutaj:

http://www.phpfi.com/120389

28.05.2006 17:43
164
odpowiedz
Kijano
91
Generał
28.05.2006 17:47
165
odpowiedz
Maevius
5
Senator

Kijano => Dzieki, moglbym prosic o wyjasnienie ?

28.05.2006 17:51
Regis
166
odpowiedz
Regis
133

Proste - wysylales uncja jako int i dzieliles przez int przelicznik. Dzielenie int/int ZAWSZE da int, nawet jesli powinno wyjsc cos innego.

29.05.2006 09:25
167
odpowiedz
Kijano
91
Generał

dokladnie tak ja Regis
Da sie jeszcze inaczej zrobic o tak
http://www.phpfi.com/120574

29.05.2006 20:19
168
odpowiedz
zanonimizowany361599
1
Junior

Witam,

Załóżmy że mam dwie statyczne tablice 128x32:

double a[128][32];
double b[128][32];

W jaki sposób mogłabym jako użytkownik zapytany przez program określic rozmiar tych dwóch tablic ? Napewno ma to związek z użyciem wskaźników (brrrrr) i dynamiczną alokacją tablicy w c. Program na wczoraj, a ja nie umiem przebic się przez stertę manuali.. Przebic to moze zle słowo. Nie mogę zrozumiec jak to działa. Pewnie za dużo kawy.

Proszę o pomoc lub jakiekolwiek wskazówki.

Pozdrawiam szczerze,

E

29.05.2006 21:12
169
odpowiedz
Moby7777
139
Generał

Jesli chodzi o materialy z polibudy wroclawskiej to polecam jeszcze sprocket.ict.pwr.wroc.pl/~piasecki/dydaktyka - w archiwum (1 rok informatyki) jest zestaw bardzo przyjemnych folii z wykladu z podstaw c++

29.05.2006 21:22
slowik
😊
170
odpowiedz
slowik
124
NightInGale

malloc lub calloc musisz urzyc do tego oba zwracaja wskaznik na to co utworzyles

29.05.2006 22:20
171
odpowiedz
Moby7777
139
Generał

Hej. To i ja sie udziele z pytankiem. Otoz znam troche podstaw c++ i raczej radze sobie z tym co musze w ramach studiow pisac (mimo ze programowac za bardoz nie lubie :P). Ale osotatnio dostalem zlecenie napisania czegos w ansi c. I tu prosba: moglibyscie mi dac jakis prosty przykladzik dynamicznej alokacji pamieci na tablice dwuwymiarowe?

29.05.2006 22:25
😊
172
odpowiedz
Maevius
5
Senator

int i=3, j=3;

double *tab = (double)malloc(i*j*(unsigned)sizeof(double));

29.05.2006 22:54
173
odpowiedz
Moby7777
139
Generał

Maevius --> ale czy to pozniej mozna stosowac bez problemu jak tab[j]? czy trzeba sie babrac w tab[i+j*3]? Bo mi potrzebna ta pierwsza opcja....

30.05.2006 00:08
slowik
😊
174
odpowiedz
slowik
124
NightInGale

Moby===>musisz skakas wskaznik+wartosc dla danego typu zazwyczaj o 2

30.05.2006 01:31
175
odpowiedz
Kijano
91
Generał

ew_03 -> majac tablice double a[128][32];

a)chcac uzyskac 128 piszesz
int x = sizeof(a)/sizeof(a[0]);

b)chcac uzyskac ilosc wszystkich elementow piszesz
int x = sizeof(a)/sizeof(a[0][0]);

c)chcac uzyskac 32 piszesz
int x = (sizeof(a)/sizeof(a[0][0]))/(sizeof(a)/sizeof(a[0]));

19.06.2006 17:01
176
odpowiedz
zanonimizowany112510
45
Generał

Od niedawna bawię się w C++ i mam mały problem...

Jak ma wyglądać warunek który sprawdza że została wpisana liczba? Chodzi o to, że na przykład jeśli wpiszę a, niech wyświetla się komunikat "Musisz podać liczbę!"
Potrzebuję tego bo przy każdym moim programie który wykonuje jakieś obliczenia na liczbach jak wpisze się inny znak to zaczyna wariować :)

19.06.2006 17:19
Sir Skull
177
odpowiedz
Sir Skull
93
Charr Shaman

maVes --> Skorzystaj z funkcji int isdigit(int c) z ctype.h, ewentualnie sprawdzaj kody ASCII (mają być w przedziale <48,57> )

19.06.2006 17:28
slowik
178
odpowiedz
slowik
124
NightInGale

Skull===>raczej od 0 do 256 ;-) 42 57 to nawet male znaki alfabetu lacinskiego sie nie mieszcza ...

19.06.2006 18:57
Sir Skull
179
odpowiedz
Sir Skull
93
Charr Shaman

slowik --> Przecież jemu chodzi tylko o cyfry, o jakim alfabecie ty mówisz ;)

19.06.2006 20:16
slowik
180
odpowiedz
slowik
124
NightInGale

Skull===>tez prawda ...

19.06.2006 20:47
181
odpowiedz
zanonimizowany64016
60
Generał

mozna tez sprawdzac stan srumienia. tu masz przykladowy programik:

int main()‹
int a;
while(!(std::cin>>a))‹
std::cerr<<"blad podaj liczbe !!"<<endl;
std::cin.clear();
std::cin.ignore();

return 0;

19.06.2006 22:24
😊
182
odpowiedz
zanonimizowany112510
45
Generał

Dzięki, problem już rozwiązałem :)

20.06.2006 14:42
183
odpowiedz
Kubx
54
Pretorianin

Zna ktoś może jakieś kursy (w online lub offline) itp. do GML (Game maker language)?

20.06.2006 14:54
184
odpowiedz
bartek
9
Legend

Jest możliwość kompilacji i odpalania programów w locie?

Np. przycisk "uruchom" i już włącza dopiero co napisany program.

Zaczynam bawić się z C++ i denerwuje mnie konieczność zapisywania każdego projektu (tworzy przy tym kilka plików), jestem bardzo "płodny" teraz. Nie potrzebuję tego śmiecia trzymać na dysku, bo to tylko eksperymenty.

Używam Dev C++.

20.06.2006 15:03
185
odpowiedz
zanonimizowany112510
45
Generał

Dołączam się do pytania bartka :)

Bo czasami znajde jakiś kod w necie i chce go tylko sprawdzić i masa plików sie tworzy na dysku -_-

20.06.2006 15:03
😊
186
odpowiedz
Grzesiek
78
Legend

Hej :)

Mam prośbę do Was programistów :) Mam zadanie:
https://www.gry-online.pl/.%5CGaleria%5CForum%5C6/202500590.JPG

Pisałem tutaj :)
https://www.gry-online.pl/s043.asp?ID=5120897&N=1

I program mam taki:

#include<stdio.h>
#include<math.h>
FILE *fr;
double funkcja(double);
double szereg(double);
double c;

int main()

double x,a,b,e;
int d;
fr=fopen("wyniki","w");
do

printf("Podaj poczatek i koniec przedzialu(od -1 do 1),\n liczbe przedzialow oraz dokladnosc\n");
scanf("%lf%lf%d%lf", &a,&b,&d,&c);

while(a<=-1||b>=1||a>b);
e=(fabs(b-a))/(fabs(d));
for(x=a;x<b+e/2;x+=e)
fprintf(fr,"%lf\t%lf\t\t%lf\n", x,funkcja(x),szereg(x));

double funkcja(double x)
‹double y;
y=pow(1+x,(-5./2));
return y;

double szereg(double x)

double s,w;
int i;
i=0;
s=1;
w=1;
while (fabs(w)>c)

w=w*(((double)2i+5)/(i+i+5)*x);
s=s+w;
i++;

return s;

Po plotowaniu w gnuplocie danych:
-0.9
0.8
100
0.15
wykresem jest ukośna która idąc od lewej do prawej maleje do zera taka hiperbola jakby :)

Moglibyście zerknąć czy mam dobrze rozwinięcie w szereg i wogóle. Z takiego programowania to nie jestem dobry, a dobrze,żeby to było dopracowane, bo praca na zaliczenie to jest (nie jestem na informatyce, żeby kogoś krew nie zalewała :] )

20.06.2006 16:33
slowik
😊
187
odpowiedz
slowik
124
NightInGale

bartek&maVes===>podstawowa cecha jezykow takich jak c c++ java pascal .... jesli ich kompilacja czyli zapisanie pliku i skompilowanie go do wykonywalnego exe
jesli chcecie potestowac swoje alorytmy polecam python'a

20.06.2006 16:44
188
odpowiedz
bartek
9
Legend

Szkoda, właśnie w Pythonie przyzwyczaiłem się do takiego rozwiązania.

12.07.2006 08:54
legrooch
189
odpowiedz
legrooch
231
MPO Squad Member

Chłopaki, potrzebuję pomocy....
Szukam jakiegoś linka z informacją o napisaniu w C++ NT Service/Windows Service bez użycia .NET

Pomoże ktoś namierzyć jakiś przykład?

12.07.2006 09:07
190
odpowiedz
zanonimizowany60076
58
Generał

a ja polecam ocaml'a, bo go mozna i interpretowac i kompilowac.

26.07.2006 11:07
Cainoor
191
odpowiedz
Cainoor
264
Mów mi wuju

Java

byte[] value = null;
value = binding.dajDokumentPdf(0);

Jak wartość value zapisać do pliku pdf?

26.07.2006 11:16
legrooch
👍
192
odpowiedz
legrooch
231
MPO Squad Member
23.08.2006 11:42
😃
193
odpowiedz
elfik
68
z wired

Co tu jest napisane?

char str[]=‹106,104,87,98,87,98,87,98,87,98,87,22,48,58,22,56,104,
87,109,101,22,88,101,88,107,105,22,107,90,87,98,101,22,57,95,
22,105,95,91,22,48,58›;

:->>

24.08.2006 12:08
194
odpowiedz
lo0ol
102
Jónior

moze mi ktos napisac przy czym wykorzystuje sie zmienne "int" a przy czym "double" ? ;s bylbym wdzieczny

24.08.2006 12:56
195
odpowiedz
zanonimizowany36866
60
Generał

int - liczby całkowite ze znakiem, np. 4, 5, -10, -13

double - liczby zmiennoprzecinkowe (długie) - prościej - ułamki np, 23,454643 5,6 0,99848

07.10.2006 16:40
196
odpowiedz
orofarek
17
Chorąży

Witam, mam problem. Jest sobie bardzo prosty program:
#include<iostream.h>main()‹cout << "pozdro";›
Moim zadaniem jest napisanie go w srodowisku BCB6 z wykorzystaniem tylko i wylacznie conio.h. Nie mam pojecia jak wypisac tekst na ekranie uzywajac tylko conio. Moglby ktos pomoc? Z gory dzieki.

07.10.2006 17:28
197
odpowiedz
Qbaa
113
Senator

#include<conio.h>
main() ‹
cputs("pozdro");

to działa w turbo c :)

ps. ano sekundy :)

07.10.2006 17:29
nagytow
198
odpowiedz
nagytow
146
Firestarter

#include <conio.h>

int main(void)

cputs("Hello World!\r\n");

(‹ i › to klamry)

O to chodzi?

EDIT: Qbaa --> sekundy :)

07.10.2006 19:27
Sir Skull
📄
199
odpowiedz
Sir Skull
93
Charr Shaman
26.06.2007 18:59
200
odpowiedz
zanonimizowany470489
1
Junior

Witam programistów
Mam problem - zaliczenie czegoś na czym się nie znam i dlatego proszę o pomoc.
Chodzi o rozwiazanie jednego z zadan poniżej
1. Klient: Podajemy datę urodzenia większą równą od 01.01.1900 (z kontrolą czy jest prawidłowa) i wysyłamy ją do serwera
Serwer: Odbiera wysłane dane i wyznacza znak zodiaku oraz wylicza liczbę dni od tej daty do aktualnego dnia, a następnie wysyła do klienta informację o znaku zodiaku i wyliczoną liczbę dni
Klient: Odbiera od serwera wysłane informacje i wyświetla znak zodiaku oraz liczbę przeżytych dni
Uwaga: Uwzględniamy lata przestępne w okresie od roku 1900 do aktualnego
________________________________________

2. Klient: Z ustalonego zbioru figur płaskich zawierającego prostokąt, trapez, równoległobok, romb, okrąg (informacja ta jest wstępnie wyświetlana), wybieramy figurę, podajemy charakterystyczne dla niej dane i wysyłamy stosowną informację do serwera
Serwer: Odbiera wysłane dane i wylicza dla wskazanej figury pole i obwód, a następnie wysyła do klienta obliczone wartości
Klient: Odbiera od serwera wysłane informacje i wyświetla wartość obwodu i pola figury
Uwaga: Należy kontrolować poprawność danych
________________________________________

3. Klient: : Rozwiązywanie dowolnego trójkąta dla jednego ze wskazanych wariantów danych (warianty: dane trzy boki, dany jeden bok i dwa kąty do niego przyległe, dane dwa boki i kąt między nimi zawarty, dane dwa boki i kąt przyległy do jednego z nich - kąty podajemy w stopniach). Wybieramy wariant i podajemy charakterystyczne dla niego dane, a następnie wysyłamy stosowną informację do serwera
Serwer: Odbiera wysłane dane i wylicza dla wskazanego wariantu pozostałe elementy trójkąta oraz pole i obwód trójkąta, promień R okręgu opisanego oraz promień r okręgu wpisanego, a następnie wysyła do klienta wszystkie obliczone wartości
Klient: Odbiera od serwera wysłane informacje i wyświetla otrzymane wyniki
Uwaga: Należy kontrolować poprawność danych
________________________________________

Może ktos z Was zrobi dla mnie rzecz niewykonalną ?

Forum: (Programowanie w C/C++ i nie tylko)----(Dla laików i ekspertów)----(cz.7)
123następnaostatnia