Adatok
cellSigma
0 bejegyzést írt és 81 hozzászólása volt az általa látogatott blogokban.
Elérkeztünk a félév labormunkáját lezáró második védéshez, amely a http://progpater.blog.hu/2013/03/10/kozos_feladatok_allamvizsga_beugro poszt három alábbi feladatának egyike lehet:
[35 pont] 2D grafikus megjelenítő írása a Quantum Consciousness Soccer Simulator -…..
Programozó Páternoszter
A hatodik és hetedik labor anyaga - a védések szép posztja
2013.02.25 11:28:00
A laborhoz ajánlott muzsika a Kasabian - Club Foot: http://youtu.be/nOSuObRNBUA
Ezen és a következő héten lazítunk picit - már aki nem véd éppen :)
A védés intézménye
A védés egy izgalmas aktus, amely során a hallgató a laborközösség előtt sorról-sorra celebrálja a…..
cellSigma
2013.03.23 12:24:22
@nb: Köszönöm szépen, tanár úr! Remélem jól csináltam:
pastebin.com/RDL6mzbC
Csak sejtszal.cpp és sejtablak.cpp, mert csak ezeken kellett változtatni.
pastebin.com/RDL6mzbC
Csak sejtszal.cpp és sejtablak.cpp, mert csak ezeken kellett változtatni.
cellSigma
2013.03.23 12:39:09
cellSigma
2013.03.29 16:31:45
Mi sarkantyúzna, nagy eszmék miatt,Hogy a muló perc élvéről lemondj?Míg most, jövőd ködön csillogva át,Ha percnyi léted súlyától legörnyedsz,Emel majd a végetlen érzete.S ha ennek elragadna büszkesége,Fog korlátozni az arasznyi lét.És biztosítva áll nagyság,…..
cellSigma
2013.03.11 18:44:26
@nb: Elkészültem vele, tanár úr, nem tudom, jár-e majd rá a pont, mert a legkezdőbb változat alapján készítettem, mert már abban is sok megemészteni való információ volt, és alig változtattam az eredeti kódon, mindenesetre tanulságos feladat volt.
main.cpp:
#include <iostream>
#include "pr.h"
using namespace std;
int main()
{
PR pr(4);
int meret;
double* vektor=pr.compute(meret);
for(int i=0;i<meret;++i)
cout<<vektor[i]<<endl;
return 0;
}
pr.cpp:
#include "pr.h"
double PR::distance(double* pr, double* prv, int length)
{
double sum=0.0;
for(int i=0;i<length;++i)
sum+=(prv[i]-pr[i])*(prv[i]-pr[i]);
return std::sqrt(sum);
}
double* PR::compute(int &the_size)
{
for(;;)
{
for(int i=0;i<size;++i)
{
pr[i]=0.0;
for(int j=0;j<size;++j)
pr[i]+=(matrix[i][j]*prv[j]);
}
if(distance(pr,prv, size)<PR::sensitivity) break;
for(int i=0;i<size;++i)
prv[i]=pr[i];
}
the_size=size;
return pr;
}
pr.h:
#include <cmath>
class PR
{
public:
static const double sensitivity=0.000000001;
PR(int size)
{
this->size=size;
pr=new double[size];
prv=new double[size];
for(int i=0;i<size;++i)
{
pr[i]=0.0;
prv[i]=1.0/size;
}
}
~PR()
{
delete[] pr;
delete[] prv;
}
double* compute(int &the_size);
private:
double distance (double* pr, double *prv, int length);
int size;
double matrix[4][4]=
{
{0.0, 0.0, 1.0/3.0, 0.0},
{1.0,1.0/2.0, 1.0/3.0, 1.0},
{0.0, 1.0/2.0, 0.0, 0.0},
{0.0, 0.0, 1.0/3.0, 0.0}
};
double* pr;
double* prv;
};
Kép: tinypic.com/r/10rve6u/6
main.cpp:
#include <iostream>
#include "pr.h"
using namespace std;
int main()
{
PR pr(4);
int meret;
double* vektor=pr.compute(meret);
for(int i=0;i<meret;++i)
cout<<vektor[i]<<endl;
return 0;
}
pr.cpp:
#include "pr.h"
double PR::distance(double* pr, double* prv, int length)
{
double sum=0.0;
for(int i=0;i<length;++i)
sum+=(prv[i]-pr[i])*(prv[i]-pr[i]);
return std::sqrt(sum);
}
double* PR::compute(int &the_size)
{
for(;;)
{
for(int i=0;i<size;++i)
{
pr[i]=0.0;
for(int j=0;j<size;++j)
pr[i]+=(matrix[i][j]*prv[j]);
}
if(distance(pr,prv, size)<PR::sensitivity) break;
for(int i=0;i<size;++i)
prv[i]=pr[i];
}
the_size=size;
return pr;
}
pr.h:
#include <cmath>
class PR
{
public:
static const double sensitivity=0.000000001;
PR(int size)
{
this->size=size;
pr=new double[size];
prv=new double[size];
for(int i=0;i<size;++i)
{
pr[i]=0.0;
prv[i]=1.0/size;
}
}
~PR()
{
delete[] pr;
delete[] prv;
}
double* compute(int &the_size);
private:
double distance (double* pr, double *prv, int length);
int size;
double matrix[4][4]=
{
{0.0, 0.0, 1.0/3.0, 0.0},
{1.0,1.0/2.0, 1.0/3.0, 1.0},
{0.0, 1.0/2.0, 0.0, 0.0},
{0.0, 0.0, 1.0/3.0, 0.0}
};
double* pr;
double* prv;
};
Kép: tinypic.com/r/10rve6u/6
cellSigma
2013.03.11 19:24:19
@nb: Megnéztem, én az -std=c++11 kapcsoló nélkül fordítottam, de simán fordul így:
pr.h
#include <cmath>
class PR
{
public:
static constexpr double sensitivity=0.000000001;
PR(int size)
{
this->size=size;
pr=new double[size];
prv=new double[size];
for(int i=0;i<size;++i)
{
pr[i]=0.0;
prv[i]=1.0/size;
}
}
~PR()
{
delete[] pr;
delete[] prv;
}
double* compute(int &the_size);
private:
double distance (double* pr, double *prv, int length);
int size;
double matrix[4][4]=
{
{0.0, 0.0, 1.0/3.0, 0.0},
{1.0,1.0/2.0, 1.0/3.0, 1.0},
{0.0, 1.0/2.0, 0.0, 0.0},
{0.0, 0.0, 1.0/3.0, 0.0}
};
double* pr;
double* prv;
};
A sensitivity deklarációjában a const lett lecserélve constexpr-re
A másik két forráskódban pedig nem kell változtatni.
Az új változat fordítása -std=c++11 kapcsoló nélkül és azzal együtt:
tinypic.com/r/27ys6w/6
De a hiba miatt azt hiszem,nem ér 5 pontot a megoldás... 3 pontban megegyezhetünk, tanár úr? :)
pr.h
#include <cmath>
class PR
{
public:
static constexpr double sensitivity=0.000000001;
PR(int size)
{
this->size=size;
pr=new double[size];
prv=new double[size];
for(int i=0;i<size;++i)
{
pr[i]=0.0;
prv[i]=1.0/size;
}
}
~PR()
{
delete[] pr;
delete[] prv;
}
double* compute(int &the_size);
private:
double distance (double* pr, double *prv, int length);
int size;
double matrix[4][4]=
{
{0.0, 0.0, 1.0/3.0, 0.0},
{1.0,1.0/2.0, 1.0/3.0, 1.0},
{0.0, 1.0/2.0, 0.0, 0.0},
{0.0, 0.0, 1.0/3.0, 0.0}
};
double* pr;
double* prv;
};
A sensitivity deklarációjában a const lett lecserélve constexpr-re
A másik két forráskódban pedig nem kell változtatni.
Az új változat fordítása -std=c++11 kapcsoló nélkül és azzal együtt:
tinypic.com/r/27ys6w/6
De a hiba miatt azt hiszem,nem ér 5 pontot a megoldás... 3 pontban megegyezhetünk, tanár úr? :)
cellSigma
2013.03.19 06:43:31
@ShuffleSource: Köszi, tényleg a c++11 kapcsoló volta kulcsa a fordításnak, azt használva nem volt gond.
Részemről jár neked a pont :D
Részemről jár neked a pont :D
Programozó Páternoszter
A negyedik és ötödik labor anyaga - Gyönyör a tömör - C-ből C++-ba
2013.02.24 17:52:10
A laborhoz ajánlott muzsika a Fort Minor - Remember The Name: http://youtu.be/VDvr08sCPOc
A negyedik laborig a kötelező (márc. 11-i)
A KÖNYVből olvassuk el a
a 190-218 oldalt
a 295-301 oldalt
ahonnan 3 olyan dolgot kérdezz meg a binomodtól, amelyet nem, vagy nehezebben értesz, a…..
cellSigma
2013.03.13 19:36:53
Itt látszik, hogy működik a dump program:
Kép:
tinypic.com/r/2gy15px/6
@Smajdam: A programom teszteléséhez a te ötletedet használtam fel, ezért ha tanár úr is elfogadja, 1 pontot adnék érte.
Kép:
tinypic.com/r/2gy15px/6
@Smajdam: A programom teszteléséhez a te ötletedet használtam fel, ezért ha tanár úr is elfogadja, 1 pontot adnék érte.
cellSigma
2013.03.15 13:30:36
A laborhoz ajánlott muzsika Stirlitz főcímzene: http://youtu.be/7H99FM6S8rU
A harmadik labor (márc. 4-i hét)
A KÖNYVből olvassuk el a
a 115-141 oldalt
a 142-187 oldalt
ahonnan 3 olyan dolgot kérdezz meg a binomodtól, amelyet nem, vagy nehezebben értesz, a binom pedig próbáljon…..
cellSigma
2013.03.04 21:41:27
cellSigma
2013.03.05 10:38:00
@nb: Javítva, a programlisting attribútumát
kellett beáálítani:
www.dropbox.com/s/8ifi2g7yp1uocke/mydock.pdf?m
Illetve természetesen folyamatosan javítom, fejlesztem tovább.
kellett beáálítani:
www.dropbox.com/s/8ifi2g7yp1uocke/mydock.pdf?m
Illetve természetesen folyamatosan javítom, fejlesztem tovább.
A laborhoz ajánlott muzsika Liszt: http://youtu.be/7H99FM6S8rU
Indítsuk is el, dőljünk hátra, kicsit lazítsunk és pár perc múlva vágjunk bele a második laborra történő felkészülésbe, mert az első laboron ne szépítsünk, a legtöbb hallgató állásait elsöpörte a labor. De…..
cellSigma
2013.02.23 14:18:30
cellSigma
2013.02.24 13:54:01
@nb: Tanár Úr, az enumnál az volt a gond, hogy a myEnum típusú változó méretét írta ki myEnum típus mérete helyett? (azt nem említve, hogy csak itt nem szoroztam fel 8-cal)
Tehát helyesen:
#include <iostream>
using namespace std;
int main(){
enum myEnum {one, two, three};
myEnum first;
cout << "char: " << sizeof(char)*8 << endl;
cout << "short: " << sizeof(short)*8 << endl;
cout << "int: " << sizeof(int)*8 << endl;
cout << "long: " << sizeof(long)*8 << endl;
cout << "float: " << sizeof(float)*8 << endl;
cout << "double: " << sizeof(double)*8<<endl;
cout << "pchat: " << sizeof(char *)*8 << endl;
cout << "pint: " << sizeof(int *)*8 << endl;
cout << "pdouble: " << sizeof(double *)*8 << endl;
cout << "enum: " << sizeof(myEnum)*8 << endl;
kép:
tinypic.com/r/35d6hwn/6
Tehát helyesen:
#include <iostream>
using namespace std;
int main(){
enum myEnum {one, two, three};
myEnum first;
cout << "char: " << sizeof(char)*8 << endl;
cout << "short: " << sizeof(short)*8 << endl;
cout << "int: " << sizeof(int)*8 << endl;
cout << "long: " << sizeof(long)*8 << endl;
cout << "float: " << sizeof(float)*8 << endl;
cout << "double: " << sizeof(double)*8<<endl;
cout << "pchat: " << sizeof(char *)*8 << endl;
cout << "pint: " << sizeof(int *)*8 << endl;
cout << "pdouble: " << sizeof(double *)*8 << endl;
cout << "enum: " << sizeof(myEnum)*8 << endl;
kép:
tinypic.com/r/35d6hwn/6
cellSigma
2013.02.24 13:56:12
@cellSigma: Most a main() fv-t záró } maradt le a másolás során... :/
#include <iostream>
using namespace std;
int main(){
enum myEnum {one, two, three};
myEnum first;
cout << "char: " << sizeof(char)*8 << endl;
cout << "short: " << sizeof(short)*8 << endl;
cout << "int: " << sizeof(int)*8 << endl;
cout << "long: " << sizeof(long)*8 << endl;
cout << "float: " << sizeof(float)*8 << endl;
cout << "double: " << sizeof(double)*8<<endl;
cout << "pchat: " << sizeof(char *)*8 << endl;
cout << "pint: " << sizeof(int *)*8 << endl;
cout << "pdouble: " << sizeof(double *)*8 << endl;
cout << "enum: " << sizeof(myEnum)*8 << endl;
}
#include <iostream>
using namespace std;
int main(){
enum myEnum {one, two, three};
myEnum first;
cout << "char: " << sizeof(char)*8 << endl;
cout << "short: " << sizeof(short)*8 << endl;
cout << "int: " << sizeof(int)*8 << endl;
cout << "long: " << sizeof(long)*8 << endl;
cout << "float: " << sizeof(float)*8 << endl;
cout << "double: " << sizeof(double)*8<<endl;
cout << "pchat: " << sizeof(char *)*8 << endl;
cout << "pint: " << sizeof(int *)*8 << endl;
cout << "pdouble: " << sizeof(double *)*8 << endl;
cout << "enum: " << sizeof(myEnum)*8 << endl;
}
Programozó Páternoszter
Sillabusz - "you'll be interested to know that the Italian navigator has just landed in the new world"*
2013.02.19 11:15:36
Kedves Hallgatók, Laborvezetők!
Megszületett a várva-várt "interkurzus" megállapodás, bár a sillabuszt még nem tudtam frissíteni, de íme a lényeg a közös számonkérés kapcsán:
mindhárom kurzus bead 16 feladatot március 15-ig a közösbe
a közös feladatokból történő…..
cellSigma
2013.02.21 17:00:14
1., Kétféle végtelen: DeeGort és Gabol91 után 3. beküldőként: 3 pont
2., Vermes példa szelepsapka után 2. beküldőként: 3 pont
3., Másik könyv 2. fejezetében lévő programokért: 1 pont
4., Legszebb végtelenciklus: (erre a kommentre hivatkozva: @nb: 1 pont
Összesen tehát 8 pont saját elszámolás alapján.
2., Vermes példa szelepsapka után 2. beküldőként: 3 pont
3., Másik könyv 2. fejezetében lévő programokért: 1 pont
4., Legszebb végtelenciklus: (erre a kommentre hivatkozva: @nb: 1 pont
Összesen tehát 8 pont saját elszámolás alapján.
cellSigma
2013.02.22 15:20:37
@Püsök Levente: Legjobb tudomásom szerint C-ben erre nincs lehetőség hagyományosan deklarált tömbökkel, dinamikus
tömbökkel lehet megoldani a malloc()-realloc()-free() hármassal. C++-ban pedig az std::vector tároló implementálja a dinamikus tömböket, ott azzal meg lehet oldani. Itt egy tutorial C-hez:
www.codingunit.com/c-tutorial-the-functions-malloc-and-free
Újrallokálásnál azonban a tömb minden elemét új helyre mozgatja a memóriában, és úgy fűzi hozzá az új elemeket, tehát ez elég költséges lehet. Remélem minden információm pontos, és segítettem valamit ezzel :)
tömbökkel lehet megoldani a malloc()-realloc()-free() hármassal. C++-ban pedig az std::vector tároló implementálja a dinamikus tömböket, ott azzal meg lehet oldani. Itt egy tutorial C-hez:
www.codingunit.com/c-tutorial-the-functions-malloc-and-free
Újrallokálásnál azonban a tömb minden elemét új helyre mozgatja a memóriában, és úgy fűzi hozzá az új elemeket, tehát ez elég költséges lehet. Remélem minden információm pontos, és segítettem valamit ezzel :)
Belépve többet láthatsz. Itt beléphetsz
docs.google.com/file/d/0ByJDZsEMMRvwSDVWUG80Y3lJMFk/edit?usp=sharing