Hirdetés

2024. május 2., csütörtök

Gyorskeresés

Hozzászólások

(#401) Galacska válasza martonx (#398) üzenetére


Galacska
csendes tag

Szia Martonx!

Köszönöm,építőjellegű hozzászólásodat.
Azért ITT tettem fel ezt a kérdést mert gondoltam,már más is járt így (konkrétan ezzel a programmal), és talán megosztotta volna velem is,mi a probléma a gépemen,mert eddig én is eljutottam,ennél fogva,nem... nem segítettél... se sokat se keveset,de örülök,hogy ez ekkora ( :C ) örömöt okozott Neked.

Köszönettel
Gala

(#402) PazsitZ válasza Galacska (#397) üzenetére


PazsitZ
addikt

Csinálj neki egy parancsikont, amiben állítsd be, hogy windows 2000/win95 kompatibilis módba, hátha...
Csak tipp.

[ Szerkesztve ]

- http://pazsitz.hu -

(#403) nickwearby


nickwearby
csendes tag

Sziasztok,
egy házit írok,
és már kész is van a kód, de el sem indul....

A debugger segmentation fault hibaüzenetet dob ki,
de nem tudok rájönni, mit kellene másképp írni,
mert még csak két hónapja kezdtem, annyira nem vagyok mélyen a témában.

Ez a debugger log:
Starting debugger:
done
Registered new type: wxString
Registered new type: STL String
Registered new type: STL Vector
Setting breakpoints
Debugger name and version: GNU gdb 6.7.50.20071127
Child process PID: 1240
Program received signal SIGSEGV, Segmentation fault.
At D:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostream:77

Ez a backtrace ablakban jelenik meg:
#0 0040D4C7 probe() (D:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostream:77)
#1 0040CFA4 std::__timepunct<char>::_M_initialize_timepunct() (D:/Program Files/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostream:77)
#2 0040124B __mingw_CRTStartup()
#3 00401298 mainCRTStartup()

És a hibás programrész:

[B]void minimum (int tombketto[] , int N , int MIN, int INDEX){

for (int i=0; i<N ; ++i){
if(tombketto[i]<MIN){
INDEX=i;
MIN=tombketto[i];

}
}

return;
}[/B]

Elvileg ennek azt kéne csinálnia, hogy a tömb adatait egyenként megvizsgálja és a legkisebb értéket beteszi a MIN változóba,
és annak indexét az INDEX változóba.

A hibát abban a sorban jelzi,
ahol az INDEX=i;
található.

Ha ez a részlet nem elég az értelmezéshez,
ide feltettem az egész kódot.

Előre is kösz a segítséget.

_______"Aki Tibi, odamegy szombaton!!! Én megyek, de nem fogtok felismerni, mert álcázni fogom magam." by Grafitember

(#404) gygabor88 válasza nickwearby (#403) üzenetére


gygabor88
tag

Most nincs előttem fordító, szóval nem tudom kipróbálni, de:
van egy ilyen rész a kódodban:

int N;
int h[N][7];

Ez sztem azért rossz, mert az N nem kapott még értéket (talán 0-t kap automatikusan), és ilyen méretű tömböt hoz létre. Csak ezután a kód után kérted be N értékét, de N-t az int h[N][7]; rész előtt kérd be, különben hibás indexelés miatt későbbi kódrészletben el fog szállni. A másik, hogy néhány helyen függvénynek adtál paraméterként olyan változókat, amiknek az értékét függvényen belül módosítottad, majd a függvényen kívül használni szeretnéd az új értéket, de nem referencia szerint adtad át a változókat a függvényeknek.

[ Szerkesztve ]

(#405) martonx válasza gygabor88 (#404) üzenetére


martonx
veterán

Az a baj, hogy a felvetett két sor hibás, és addig el sem indul a program amíg a fordító ezt hibának látja.

int N;
int h[N][7];

a h tömböt dinamikusan kellene használnod, nem pedig statikusan. Így ez soha nem fog lefordulni.
Ezen kívül lehet, hogy más hiba is van benne, de amíg ezt meg nem oldod, még debuggolni sem tudod, mivel nem fordul le a kód.

Én kérek elnézést!

(#406) gygabor88 válasza martonx (#405) üzenetére


gygabor88
tag

Igen, tudom, hogy ezt dinamikusan kellene normális esetben, de amin meglepődtem, hogy CodeBlocks IDE alatt egy ilyen kód:

int N;
cin>>N;
int t[N];

nem hibás, sőt ugyanúgy működik, mint int *t = new int[N]; -nel. Más IDE alatt persze csak dinamikusan működne.

(#407) amargo válasza gygabor88 (#406) üzenetére


amargo
addikt

Miér ebben hol a hiba, ott inicializálod a 2. sorban. Már ha szám lesz :)

int N;
cin>>N;
int t[N];

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

(#408) gygabor88 válasza amargo (#407) üzenetére


gygabor88
tag

Amikor régebben próbáltam, futási hibával leállt a program, amikor a tömb egy elemének értéket adtam (indexhatárokat nem sértettem meg). Dinamikusan működött. Legalábbis, így emlékszem, de lehet, hogy valami mást rontottam el. :U

(#409) nickwearby


nickwearby
csendes tag

Bocsánat,
egy lényeges infót kihagytam....

A program lefordul,
a futtatásnál viszont leáll.

És amit feljebb beírtam hibát,
azt a debuggerrel találtam.

Viszont a fájl tényleg nem tölthető le,
ezért ide raktam inkább.
Még egyszer teljes kód txtben.

_______"Aki Tibi, odamegy szombaton!!! Én megyek, de nem fogtok felismerni, mert álcázni fogom magam." by Grafitember

(#410) amargo válasza gygabor88 (#408) üzenetére


amargo
addikt

Huhhh, bocsánat én vagyok a ...béna. Megint csak nem látok.

int N;
cin >> N;
int t[N];

Biztos nem jó és fordítási hibát, kapsz, hogy nincs deklarálva a tömb mérete, hiszen ez nem dinamikus tömb.

A helyes:

int *t;
int N;
cin >> N;
t = new int[N];

Még 1x elnézést, benéztem és csak a cin-ig jutottam..

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

(#411) nickwearby


nickwearby
csendes tag

Nem,
azt hiszem, hiba volt csak egy részletet belinkelni :(

A hiba ott van, hogy egy egy dimenziós tömböm van,
abból ki akarom választani,
hogy melyik értéke a legalacsonyabb (ami lehet negatív is),

és ennek a sorszámát, tehát, hogy hányadik ez az elem a tömbben,
azt a számot akarom betenni az INDEX nevű változóba.

De pont ott jelzi a debugger a hibát,
abban a sorban,
amikor a tömb i-edik eleméből azt az adatot,
hogy hányadik,
be akarom tenni az INDEX-be.
-->
INDEX=i;

És nem tudom, hogy hol hibás a gondolatmenetem :(

_______"Aki Tibi, odamegy szombaton!!! Én megyek, de nem fogtok felismerni, mert álcázni fogom magam." by Grafitember

(#412) nickwearby


nickwearby
csendes tag

Ezt a problémát sikerült kiküszöbölni,
most már fut (mondjuk nem épp jól, ..).

_______"Aki Tibi, odamegy szombaton!!! Én megyek, de nem fogtok felismerni, mert álcázni fogom magam." by Grafitember

(#413) Benmartin válasza nickwearby (#411) üzenetére


Benmartin
senior tag

Nem lehet, hogy INDEX egy makró, ami valahol definiálva van? Csak tippelek, mert a kódodat egyik helyről sem tudtam letölteni.

szerk: mondjuk akkor le sem fordulna, úgyhogy nem szóltam.

Üdv.

[ Szerkesztve ]

(#414) nickwearby válasza Benmartin (#413) üzenetére


nickwearby
csendes tag

"a kódodat egyik helyről sem tudtam letölteni."

Már letöröltem mert alaposan átírtam, de azért kösz a szándékot :)
A maradék problémát megpróbálom egyedül, ha nagyon nem megy, legfeljebb még visszanézek a héten.

_______"Aki Tibi, odamegy szombaton!!! Én megyek, de nem fogtok felismerni, mert álcázni fogom magam." by Grafitember

(#415) icespeak


icespeak
csendes tag

Hello mindenki, a következő programban érdekelne, hogy mit csinál a void kölcsönkérésben mert nem igazán tudom értelmezni.
#include <iostream>

using namespace std;

const int maxN=100;
void beolvasas(int &N,int P[],int &X);
void kolcsonkeres(const int N,const int P[],const int X,bool &Van,int &Nap);
void kiiras(const int N,const int P[],const int X,const bool Van, const int Nap );

int main()
{ int N,X,Nap; //N napig jártunk lóversenyre, X pénzünk van kezdetben, Nap-on kell kölcsönkérni
int P[maxN]; // naponként nyereségek, vagy veszteségek
bool Van; //Van olyan nap, amikor kölcsön kell kérni
cout<<"Loversenyezes.Mikor kell eloszor kolcsonkerni?"<<endl<<endl;
beolvasas(N,P,X);
kolcsonkeres(N,P,X,Van,Nap);
kiiras(N,P,X,Van,Nap);
return 0;
}
void beolvasas(int &N,int P[],int &X){
do{
cout<<"Hany napig loversenyezunk? (0.."<<maxN<<")";
cin>>N;
}while (!((N>=0)&&(N<=maxN))); //napok szama csak nem negativ lehet
cout<<"Mennyi volt az indulo osszeg? "; //az előfeltétel nem írja elő, hogy csak pozitív adatot használhatunk
cin>>X;

for (int i=0;i<N;++i){
cout<<i<<". napi nyereseg vagy veszteseg osszege FT-ban ";
cin>>P[i];
}
}
void kolcsonkeres(const int N,const int P[],const int X,bool &Van,int &Nap){
int S=0;
int i=0;
while ((i<N)&&((S+P[i])>=0)){
S+=P[i];
++i;
}
Van=(i<N);
if (Van){
Nap=i;
}

}
void kiiras(const int N,const int P[],const int X,const bool Van, const int Nap ){
cout<<X<<" FT-unk volt kezdetben."<<endl;
cout<<"A verseny napjainak nyeresege es vesztesege..."<<endl;
for (int i=0;i<N;++i){
cout<<P[i]<<", ";
}
if (Van){
cout<<endl<<" Az elso nap, amikor kolcson kellett kerni a(z) " <<Nap<<"."<<endl;
}
else {
cout<<endl<<" Nem volt olyan nap, amikor kolcson kellett kerni..."<<endl;
}

}

(#416) Jester01 válasza icespeak (#415) üzenetére


Jester01
veterán

Mivel a P tömbben a napi nyereség/veszteség van, ezért az aktuális napi pénzünk az aznapi és az összes megelőző nap P értékének valamint persze a kezdeti pénzmagnak az összege. Amíg ez pozitív vagy nulla, addig nem kell kölcsönkérni. A függvény egyébként hibás, mivel az X értékét nem veszi figyelembe.

Jester

(#417) Orc


Orc
senior tag

A segítségeteket kérném. Adott egy osztály, aminek van két string változója, amibe be akarok olvasni, számokat, betűket, stb...A gond az, hogy ahogy beolvasta a két számot a
progi, lefut a destruktor és elszáll, sigterm hibával. Szerintem olyan területre írok, ami nem a programé, hogyan lehetne kijavítani ezt a hibát?

alma.h:(csak a lényeg)
class alma{
public:
alma();
~alma(){};
string Beolvas();
private:
string szam;
string szam2;};

alma.cpp:(csak a lényeg)
string Nagyszam::Beolvas()
{ cout << "Add meg az "a" számot! a=";
cin >> szam;
cout << "Add meg a "b" számot! b=";
cin >> szam2;}
main.cpp:(csak a lényeg)

alma z;
z.Beolvas();

Kinyomom a szemed, eltöröm a lábad... aztán mehetsz amerre látsz!

(#418) Jester01 válasza Orc (#417) üzenetére


Jester01
veterán

Ha nem csak a lényeget mutatod meg, akkor biztos meg tudjuk mondani mi a baj ;)
Töltsd fel valami ingyenes helyre az egészet (pl. filebin.ca)

Jester

(#419) Orc válasza Jester01 (#418) üzenetére


Orc
senior tag

[link]

Kinyomom a szemed, eltöröm a lábad... aztán mehetsz amerre látsz!

(#420) sghc_toma válasza Orc (#419) üzenetére


sghc_toma
senior tag

a Beolvas metódusod vissza kéne adjon egy string-et (btw, kell neked az a visszatérési érték?), de nem teszi.. a fordító nem sírt emiatt :F

in asm we trust

(#421) Orc válasza sghc_toma (#420) üzenetére


Orc
senior tag

2 számot akarok beolvasni, tehát vagy ketté kell szednem a Beolvas műveletet és a visszatérési értékkel dolgozni, ugye? Mi van akkor, ha nem akkarom szétválasztani és a visszatérési értékre sincs szükségem? Miként lehetne ez esetben kijavítani a hibát?
(fordító nem rinyált)

Kinyomom a szemed, eltöröm a lábad... aztán mehetsz amerre látsz!

(#422) Jester01 válasza sghc_toma (#420) üzenetére


Jester01
veterán

Meglepő módon csak warning ... de valóban az a baj.
Jótanács: mindig tessék bekapcsolni a warning kiíratást.

MOD: írd simán void Nagyszam:: Beolvas() alakban

[ Szerkesztve ]

Jester

(#423) Orc válasza Jester01 (#422) üzenetére


Orc
senior tag

Köszönöm szépen. :R

Kinyomom a szemed, eltöröm a lábad... aztán mehetsz amerre látsz!

(#424) sghc_toma válasza Jester01 (#422) üzenetére


sghc_toma
senior tag

ha jól emlékszem, a cl hibának tekinti.. megnéztem, jól emlékeztem..

in asm we trust

(#425) Jester01 válasza sghc_toma (#424) üzenetére


Jester01
veterán

gcc monnyon le :D

Jester

(#426) Orc


Orc
senior tag

Megint kellene egy kis segítség. :B
Van egy dinamikusan lefoglalt tömböm. Amit adott esetben "felül kellene írni".
Az összes elmét ki kellene törölni és újra megtölteni a tömböt.Hogyan lehetne ezt?

Itt száll el néha,amikor próbálom átméretezni az új feltöltéshez.
n=szam.size();a=new int[n];

Kinyomom a szemed, eltöröm a lábad... aztán mehetsz amerre látsz!

(#427) Jester01 válasza Orc (#426) üzenetére


Jester01
veterán

Ez megint csak annyi amiből semmit nem tudunk megállapítani :U Alázattal kérvényezem az egész progit.

Jester

(#428) Orc válasza Jester01 (#427) üzenetére


Orc
senior tag

[link]

Nem mindig száll el, próbálj meg neki 100-150 számjegyet adni.

[ Szerkesztve ]

Kinyomom a szemed, eltöröm a lábad... aztán mehetsz amerre látsz!

(#429) Jester01 válasza Orc (#428) üzenetére


Jester01
veterán

Az összegzés megvalósítása hibás, túlcímez a lefoglalt területen. Eleve, ha két darab x jegyű számot összeadok, az eredmény már x+1 jegyű is lehet, de te ráadásul x-1 jegynek foglalsz csak helyet.

MOD: ja majd ha már működik, akkor esetleg érdemes lenne fel is szabadítani a lefoglalt területeket ;)

[ Szerkesztve ]

Jester

(#430) icespeak válasza Jester01 (#416) üzenetére


icespeak
csendes tag

Köszi a választ.
Most az érdekelne, hogy ugyanebben a feladatban hogy tudnám megoldani hogy hetente legyenek a megadott összegek tehát első hét nap összege az 1. hét a második hét nap összege a 2. hét stb. és még ezt bonyolítva azzal, hogy a hetek közötti különbséget meg kell adni tehát 1. és 2. hét különbsége és a többi. Bármilyen ötletet szívesen fogadok.

(#431) Jester01 válasza icespeak (#430) üzenetére


Jester01
veterán

Mondjuk először hetesével összeadod őket, aztán meg ezeket egymás után kivonogatod.

Jester

(#432) icespeak válasza Jester01 (#431) üzenetére


icespeak
csendes tag

Az OK, hogy úgy kell, de ha mittomén megadok 77 napot akkor eléggé nehézkes minden hetet összeadni és kivonni egymásból, ezért nem tudom a megoldást.

(#433) martonx válasza icespeak (#432) üzenetére


martonx
veterán

Ez most komoly kérdés volt???
Nyilván papírral, ceruzával macerás, de ezért használunk számítógépeket...
És ez itt egy programozás topik. Ha gondolod szívesen kifejtem, hogy mire jók a tömbök, és a for-next utasítás.

Én kérek elnézést!

(#434) icespeak


icespeak
csendes tag

Hogyan lehet elérni egy for ciklusnál, hogy az elemeket hetesével összeadja majd kiírja egymás után ezeket majd képezze ezeknek a hetesével összeadottaknak a különbségeit és azt is kiírja?

[ Szerkesztve ]

(#435) ArchElf válasza icespeak (#434) üzenetére


ArchElf
addikt

Az eleje egyszerű (már ha értem, mit jelent az, hogy hetesével), a végét viszont nem értem: "ezeknek a hetesével összeadottaknak a különbségeit és azt is kiírja"
Ha elmagyaráznád a kérdést, lehet, hogy tudnék segíteni...

AE

Csinálok egy adag popcornt, és leülök fórumozni --- Ízlések és pofonok - kinek miből jutott --- Az igazi beköpőlégy [http://is.gd/cJvlC2]

(#436) icespeak válasza ArchElf (#435) üzenetére


icespeak
csendes tag

A konkrét feladat az, hogy N napon át feljegyezzük, hogy mennyit nyertünk vagy vesztettünk és ki kell számolni, hogy hetente mennyit változott a pénzünk.

(#437) raczger válasza icespeak (#436) üzenetére


raczger
őstag

for ciklusba beraksz egy másik változót, pl legyen j, ami azt számolja, hogy hanyadik napnál tartasz, 1-től kezded, és ciklus végén növeled eggyel, ha eléri a hetet a j szám, kiírod az eddigi összeget, utána nullázod a j változó, és az osszeg változót is, ja és természetesen az osszeg változóhoz adod hozzá a mindig aktuális összeget

www.movat.hu - http://bit.ly/2mIziA4

(#438) Davey7


Davey7
senior tag

nekem az lenne a kérdésem,hogy a dev c++ az rendesen fut vista alatt?
mert én felraktam és ki is próbáltam a "hello world" programmal(lefordította,elindult),de csak felvillant a program képernyője aztán el is tűnt...és a hivatalos oldalon,nincs megjelölve a vista...

ha ez igaz akkor tudnátok ajánlani egy jó programot ami rendesen fut vista alatt?

(#439) Jester01 válasza Davey7 (#438) üzenetére


Jester01
veterán

Az rendes működés :K Windows alapból becsukja a konzol ablakot ha az a programmal lett létrehozva. Vagy írd bele a progidba, hogy kilépés előtt várjon egy billentyűre, vagy futtasd külön cmd ablakban vagy lépegess benne soronként a debuggerrel.

Jester

(#440) cellpeti


cellpeti
veterán

Sziasztok!
Nekem van egy ilyen feladatom:

1.) Kérjen be a program 10db rendszámot,autó sebességét

utánna:

max sebesség bekérése: 70Km\h
írja ki:
- mennyi volt a 10 kocsi átlag seb.
- leggyorsabban közlekedő autó sebességét
- adja meg mennyire büntetik meg,ha 1km\1000ft

Olyan kérdésem lenne,hogy a rendszámot milyen változóba kérjem be,mert ugye van benne szám is és betű is.

[ Szerkesztve ]

Tigris, tigris, csóvafény...

(#441) Benmartin válasza cellpeti (#440) üzenetére


Benmartin
senior tag

stringbe.

(#442) Orc


Orc
senior tag

Segítsetek légyszíves:
Milyen láncba tudok osztály-objektumokat menteni?

struct Node {
int value;
Node *next;
Node(int i=0, Node *q=NULL) :value(i), next(q){}
};

itt az "int value" helyett mit kellene írnom? "osztálynév value"?

(alma osztályból származtatott körte osztály objektumait akarom elmenteni, int típusú elemei vannak az osztályoknak)

Kinyomom a szemed, eltöröm a lábad... aztán mehetsz amerre látsz!

(#443) Jester01 válasza Orc (#442) üzenetére


Jester01
veterán

alma* value;

Beolvasásnál pedig: value = new korte(....);

Jester

(#444) Orc válasza Jester01 (#443) üzenetére


Orc
senior tag

Köszönöm szépen, ez kellett. :R

Kinyomom a szemed, eltöröm a lábad... aztán mehetsz amerre látsz!

(#445) cafat


cafat
tag

Sziasztok! Az lenne a kérdésem hogyha egy függvény visszatérési értékét egy másik függvényben felszeretném használni azt hogy tehetem meg? Jelen esetben van egy maximum függvény ami a maximális értéket adja vissza, és lenne egy normalizálás függvény ahol minden értéket a a miximum értékkel kell elosztani.

double szamok::maximum()
{
double max=0;
vector<double>::iterator it;
for(it=szam.begin();it!=szam.end();it++)
{
if(*it>max) max=*it;
}
return max;
}

void szamok::normalizalas()
{
vector<double>::iterator it;
for(it=szam.begin();it!=szam.end();it++)
{
cout<<*it/max<<" ";
}
cout<<endl;
}

Így próbálkoztam, de így nem működik. Ha valaki tudna segíteni azt megköszönném!

(#446) Jester01 válasza cafat (#445) üzenetére


Jester01
veterán

Jó az, csak az a lépés maradt ki, hogy a max változóba a ciklus előtt beletedd a maximum értéket.

void szamok::normalizalas()
{
double max = maximum(); // <---- EZ ITT NI
vector<double>::iterator it;
for(it=szam.begin();it!=szam.end();it++)
{
cout<<*it/max<<" ";
}
cout<<endl;
}

MOD: Úgy sejtem erre egy :W lesz a válasz ;)

[ Szerkesztve ]

Jester

(#447) cafat válasza Jester01 (#446) üzenetére


cafat
tag

Köszi így már működik! És a reakcióm tényleg :W :DDD

[ Szerkesztve ]

(#448) Zefír


Zefír
őstag

Sziasztok!

Remélem nem fogtok kinevetni.Megszeretném tanulni ezt a programot használni.De smmitt nemtudok róla...
Pár mondatban leírnátok alényeget? :B :R

(#449) Zefír válasza Zefír (#448) üzenetére


Zefír
őstag

Upsz a C++ nemis program bocsánat!!!!!!!!!!!!!!!!!!!!!!!!!! :B :B
Nem ezt akartam írni!! :B

(#450) Benmartin válasza Zefír (#449) üzenetére


Benmartin
senior tag
Copyright © 2000-2024 PROHARDVER Informatikai Kft.