HTML

Programozó Páternoszter

Ez a Programozó Páternoszter (PP) blogja, a programozásról szól. Aktualitása, hogy a Debreceni Egyetem Informatikai Kara Magasszintű programozási nyelvek 1-2, C++ esattanulmányok, Java esettanulmányok című kurzusainak blogja is egyben.

A vadászat

A Debreceni Egyetem Programozói Évkönyve: az UDPROG projekt. A szakmai fórumunk a Facebook-en. Az új előadások a prezin.
A régi előadások:
Prog1:
1. C bevezetés
2. C tárgyalás
3. C befejezés
4. C a gyakorlatban
5. C++ bevezetés
6. C++ tárgyalás
7. C++ befejezés
8. C++ a gyakorlatban
9. Java platform bevezetés
10. Kvantuminformatikai alg. bev.
Prog2:
1. Java bevezetés
2. Java tárgyalás
3. Java befejezés
4. Java a gyakorlatban
5. Software Engineering bev.
6. Java EE bevezetés
7. AspectJ bevezetés
8. BPMN-BPEL SOA programozás
9. C++ haladó
10. Tensorflow

Kövess engem!

Friss topikok

Linkblog

A harmadik labor anyaga - "Felvételt hirdet a CIA"

2013.02.24. 15:28 nb

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 meg válaszolni. Globális ellenőrző kérdések:

  • Mik kerülnek a szabad tárba?
  • Mi a const kulcsszó jelentése az alábbi man 3 strcpy idézetben?STRCPY(3) Linux Programmer's Manual STRCPY(3)
    NAME strcpy, strncpy - copy a string SYNOPSIS
    #include <string.h>
    char *strcpy(char *dest, const char *src);
    char *strncpy(char *dest, const char *src, size_t n);
  • Mit csinál ez az utasítás?

while(*p++ = *q++);

Laborkártyák

  • 1. ea., 110, 111.
  • 2. ea., 70-74.
  • KÖNYV, 113 o., 4.11.3, 4.11.5 (erre is írj programot)
  • 3. ea. 80-83.

A harmadik labor feladatai, poszt-pontjai

  • Stroustrup számológép: élesszük fel a laboron a KÖNYV 142. oldaltól bevezetett számológépét!
  • Végezzük el a Felvételt hirdet a CIA c. poszt gyakorlatait! (Az aktuális TANKÖNYVTÁRas link ez.)
Opcionális feladatok
  • A KÖNYV 139 oldali feladatai: 1-től 13-ig, pontozásuk most: (*SZAM -1) * 5 + 4
  • A KÖNYV 187 oldali feladatai: 1-től 23-ig, pontozásuk most: (*SZAM -1) * 5 + 3
  • 7 pont annak, aki először (laborra majd külön titkos szövegek lesznek) feltöri ezt a titkos szöveget (help a laboranyag CIA-s posztja.)
  • 25+feladat darabszám*4 pontért az általad elkészített (vadászatbeli) feladatokat foglald össze egy DocBook XML 5.0 dokumentumban! Minden feladat kapcsán a források szerepeljenek a megoldásban egy programlisting elemen belül és minden feladatnál legyen legalább pár mondatos magyarázat a feladathoz; az xml dokumentumot és a belőle a dblatex-el készített pdf-et oszd meg (mindkettőt nyilván valamilyen open source licenc-el) a társaiddal! (help: http://dblatex.sourceforge.net/, http://www.inf.unideb.hu/~nbatfai/#ppm )
  • 8 pont az első 10 hallgatónak, aki lejátszik egy meccset valamelyik Debrecen * Forest C++ csapattal; bizonyítékul 1 gólról kérek YouTube-ra felvételt (pl. a recordmydesktop progival) /help: a PROP könyvben/ (A Batfai_prog1 VB image használata esetén csak 3 pont).
    rflogo.png(kép forrása: PROP könyv)

225 komment

A bejegyzés trackback címe:

https://progpater.blog.hu/api/trackback/id/tr525101395

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Scrop 2013.03.02. 19:01:27

6_6_1 : 3 pont
kepfeltoltes.hu/view/130302/6_6_1_www.kepfeltoltes.hu_.jpg

#include <iostream>
#include <string.h>

using namespace std;

int main()
{
char input_line[] = "Most kérdezek valamit. Hány évig tartott a 100 éves háború? 50? Netalálántán 9.999? Jól gondold meg!";
const int max_length = strlen(input_line);
int quest_count = 0;

for (int i=0; i<max_length; i++) if (input_line[i] == '?') quest_count++;
cout << "Az eredeti program álltal számolt érték " << quest_count << endl;

quest_count = 0;
int i = 0;
while(i<max_length)
{
if (input_line[i] == '?') quest_count++;
i++;
}
cout << "\nWhile ciklussal számolt érték: " << quest_count << endl;

quest_count = 0;
char *p = input_line;
for (; *p != '\0' ;) if (*p++ == '?') quest_count++;
cout << "\nFor ciklus mutatóval: " << quest_count << endl;

quest_count = 0;
i = 0;
p = input_line;
while(*p != '\0')
{
if (*p++ == '?') quest_count++;
}
cout << "\nWhile ciklussal pointerrel: " << quest_count << endl;

return 0;
}

Scrop 2013.03.02. 19:52:44

6_6_2 : 3 pont
(a =((( b + (c * d)) << 2) & 8))
(a & (077 != 3))
(((a == b )||( a == c ))&&( c < 5))
(c = (x != 0))
((0 <= i) < 7)
((f(1,2))+3)
(a = (((- 1) +( + (b --))) - 5 ))
(a = (b == (c ++)))
(a = (b =( c = 0)))
(a[4][2] *= ((* b) ? c : (* (d * 2))))
((a-b),c=d)

Scrop 2013.03.03. 04:29:56

6_6_4 : 3 pont
kepfeltoltes.hu/view/130303/6_6_4_www.kepfeltoltes.hu_.jpg
#include <iostream>

using namespace std;

void muvelet_vegez(string nev ,const char muvelet)
{
cout << nev << " muvelet:\n";
for(int i = 0; i < 2; ++i)
{
if (muvelet == '!') cout << "!" << i << " = " << (!i) << endl;
for (int j = 0; j < 2; ++j)
switch(muvelet)
{
case '|' : cout << i << " | " << j << " = " <<( i | j) << endl; break;
case '&' : cout << i << " | " << j << " = " <<( i | j) << endl; break;
case '^' : cout << i << " | " << j << " = " <<( i | j) << endl; break;
}
}

}

int main()
{

muvelet_vegez ("VAGY",'|');
muvelet_vegez ("ÉS",'&');
muvelet_vegez ("XOR",'^');
muvelet_vegez ("NEM",'!');

return 0;
}

Scrop 2013.03.03. 04:31:17

6_6_10 : 8 pont
kepfeltoltes.hu/view/130303/6_6_10_www.kepfeltoltes.hu_.jpg
#include <string>
#include <iostream>

#define EXIT_SUCCES 0
#define EXIT_NOT_SUCCES -1

using namespace std;

int strlen(const char *minek )
{
int i = 0;
for(i = 0; minek [i] != '\0'; i++);
return i;
}

int strcpy(const char *mit, char *hova)
{
int i = 0;
for(i ; mit[i] != '\0'; i++)
hova[i] = mit[i];
hova[i] = '\0';

return EXIT_SUCCES;
}

bool strcmp (const char *mit, const char *mivel)
{
int i = 0;
while ((mit[i] == mivel[i]) && ( mit [i] != '\0' || mivel[i] != '\0') ) i++;
if ((mit[i] == '\0') && ( mivel[i] == '\0')) return true;
else
return false;
}

int main()
{
char ch[] = "Ezt vizsgáljuk!";

int hossz = strlen(ch);
cout << hossz << endl;

char ch2[20] = "";

strcpy (ch, ch2);
cout << ch2 << endl;

char ch3[] = "Ezt vizsgáljuk!";
char ch4[] = "Ezt nem egyezik!";

if (strcmp(ch, ch3)) cout << "Egyeznek!" << endl;
else cout << "Nem egyeznek!" << endl;

if (strcmp(ch, ch4)) cout << "Egyeznek!" << endl;
else cout << "Nem egyeznek!" << endl;

return 0;
}

Scrop 2013.03.03. 04:32:19

6_6_13 : 8 pont
kepfeltoltes.hu/view/130303/6_6_13_www.kepfeltoltes.hu_.jpg
#include <iostream>
#include <string.h>
#include <stdlib.h>

#define BUFFER_MERET 100

using namespace std;

char two_in_one[BUFFER_MERET];

char* cat(char* ch, char ch2[] )
{
if (strlen(ch) + strlen(ch2) > BUFFER_MERET)
{
cout << "Növeld a BUFFER_MERET - et" << endl;
exit (1);
}
int i = 0;
for(i ; ch[i] != '\0';++i)
two_in_one[i] = ch[i];
for(int j = 0; ch2[j] != '\0' ;++i,++j)
two_in_one[i] = ch2[j];

return two_in_one;

}

int main()
{
char one_ch[] = "Fagylalt";
char two_ch[] = "oskocsi";

char *cp = new char[sizeof(cat(one_ch,two_ch ))];
cp = cat(one_ch,two_ch );
cout << cp << endl;

return 0;
}

Scrop 2013.03.03. 04:33:22

6_6_14 : 8 pont
kepfeltoltes.hu/view/130303/6_6_14_www.kepfeltoltes.hu_.jpg
#include <iostream>
#include <string.h>
#include <stdio.h>

using namespace std;

void rev(char *mit)
{

int hossz = strlen (mit);
char seged[hossz];
int i = 0;
while (i <= hossz)
seged[hossz-1-i] = mit[i++];
i = 0;
while (i < hossz)
mit[i] = seged[i++];

}

int main()
{
char cserelni[] = "Ez most visszafele lesz kiirva! ...le dsavlo tzE";

rev (cserelni);

cout << cserelni << endl;
return 0;
}

Scrop 2013.03.03. 04:35:51

6_6_16 : 8 pont
képet rosszul cmíeztem de a forrás jó rakta:
kepfeltoltes.hu/view/130303/6_6_15_www.kepfeltoltes.hu_.jpg
#include <string>
#include <iostream>
#include <math.h>
#include <string.h>

#define NOT_SUCCES -1

using namespace std;

int atoi(const char *mit) //csak c beli stringekre és csak 10 es számrendszert
{
int szam = 0;
for(int i = 0; mit[i] != '\0'; i++ )
{
switch(mit[i])
{
case '0': case '1' : case '2' : case '3' : case '4' :
case '5' : case '6' : case '7' : case '8' : case '9' :
szam += (int(mit[i]) - int('0'))*(int)pow(10,strlen(mit)-1-i);
}
}

return szam;
}

int tizenhatos(string mit)
{
int szam = 0;
int i = 2 ;
int hex = 0;
for(i; mit[i] != '\0'; i++ )
{
switch(mit[i])
{
case '0': case '1' : case '2' : case '3' : case '4' :
case '5' : case '6' : case '7' : case '8' : case '9' :
szam += (int(mit[i]) - int('0'))*(int)pow(16,mit.length()-1-i); break;

case 'a' : case 'A' : hex = 10; szam += hex*(int)pow(16,mit.length()-1-i); break;
case 'b' : case 'B' : hex = 11; szam += hex*(int)pow(16,mit.length()-1-i); break;
case 'c' : case 'C' : hex = 12; szam += hex*(int)pow(16,mit.length()-1-i); break;
case 'd' : case 'D' : hex = 13; szam += hex*(int)pow(16,mit.length()-1-i); break;
case 'e' : case 'E' : hex = 14; szam += hex*(int)pow(16,mit.length()-1-i); break;
case 'f' : case 'F' : hex = 15; szam += hex*(int)pow(16,mit.length()-1-i); break;
default : cout << "nem 16-os számrendszerbeli szám" << endl; return NOT_SUCCES;

}
}

return szam;
}

int atoi2(const string mit) //c és c++ beli stringekre és kezeli a 8 as és 16 os számrendszerbeli alakot is
{
int szam = 0;
int base = 10;
int i = 0 ;

if (mit[0] == '0')
if ((mit[1] == 'x' ) || (mit[1] == 'x')) { return tizenhatos (mit);}
else {base = 8; i = 1;}

for(i; mit[i] != '\0'; i++ )
{
switch(mit[i])
{
case '0': case '1' : case '2' : case '3' : case '4' :
case '5' : case '6' : case '7' : case '8' : case '9' :
if ((base == 10) && ( int(mit[i] - int('0')) > 9 )) { cout << "A szám nem 10 as számrendszerbeli" << endl; return NOT_SUCCES; }
else
if ((base == 8) && ( int(mit[i] - int('0')) > 7 )) { cout << "A szám nem 8 as számrendszerbeli" << endl; return NOT_SUCCES; }
else
szam += (int(mit[i]) - int('0'))*(int)pow(base,mit.length()-1-i);

}
}

return szam;
}

int main()
{
char ch[] = "456";
string str = "0x9421";

cout << atoi(ch) << " "<< atoi2(str) << endl;

return 0;
}

Scrop 2013.03.03. 12:23:19

5_9_10 : 4 pont
kepfeltoltes.hu/view/130303/konnyv_9_10_www.kepfeltoltes.hu_.jpg

#include <iostream>
#include <string>

#define MAX_HONAP 12

using namespace std;

void kiir(string mit[], int maxn)
{
for(int i = 0; i < maxn; ++i)
cout << mit[i] << endl;

}

int main()
{
string month[MAX_HONAP] = {"Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"};

kiir (month, MAX_HONAP);

return 0;
}

Scrop 2013.03.03. 15:01:44

6_6_16 : 8 pont
kepfeltoltes.hu/view/130303/6_6_17_www.kepfeltoltes.hu_.jpg
#include <iostream>
#include <math.h>
#include <string.h>

#define MAX_INT_LEN 12
using namespace std;

int max_ch(int a)
{
int i = 0;
for (; ((double)(a / pow(10,i)) >10) || (((double)(a / pow(10,i))) < -10 );++i );
if (a < 0) return i+2;
else return i+1;

}

char *kulso;

char* atoi(int szam, char hova[])
{
int meret = max_ch(szam);
for (int i = 0; i < MAX_INT_LEN ; ++i) hova [i] = '\0';
int i = meret;
if ( szam < 0)
{
hova[0] = '-';
szam *= -1;
--i;

}
int seged = szam;
for (i; i != 0; --i)
{
int j = 1;
for (; j <= 10; ++j)
{

if (seged < pow(10,i-1) * j)
break;
}

hova [meret - i] = char(j-1 + int('0'));
seged -= (j-1)*pow(10,i-1);
}

kulso = hova;
return kulso;
}

int main()
{

char int_to_ch [MAX_INT_LEN];
atoi (-2258, int_to_ch);
cout << int_to_ch << endl;

atoi (-258, int_to_ch);
cout << int_to_ch << endl;

cout << atoi (-9999, int_to_ch) << endl;

cout << atoi (1235258, int_to_ch) << endl;

return 0;
}

Scrop 2013.03.03. 15:09:20

@Scrop: Rosszul írtam a fügvény nevet, de gondolom nem ojan óriási baj, szal inkább nem töltöm fel újra ha nem muszály :D

Smajdam 2013.03.03. 17:10:59

készítettem egy pdfet 11 feladatból:
www.dropbox.com/s/wmtggpwo0pb9r7f/progfeladatok.pdf?m

forrás:
www.dropbox.com/s/tltyrp8841da6dz/progfeladatok.xml?m

Remélem Tanár Úr valami ilyesmire gondolt!
Ha valaki hibát talál benne akkor légyszives jelezze itt, vagy e-mail-en: smajda_m93@msn.com
köszi

Még egy kérdés: további plusz pontokért ezt még lehet majd bővíteni? (további laborokat is beleértve)

nb · http://fersml.blog.hu 2013.03.03. 17:25:25

@Smajdam: csak formailag néztem, de éppen ilyesmire gondoltam; igen jól néz ki.

Esetleg még az dobhatná fel, ha azt is bemutatnád, hogyan kell futtatni és mi az eredmény, pl. a karakteres kimenetet simán bevágva egy www.docbook.org/tdg5/en/html/screen.html elembe.

Persze, ezt karban tarthatod az egész félévben (sőt, tipikus, hogy a hallgató az adott korlát feletti pontjait viszi a prog2-re is, így igyanezt a pdf-et még a prog2-ben is bővítheted.)

Ahogy alakul, néha írd meg a blogra, hogy hány pontot kell jóváírni és ezzel párhuzamosan persze oszd meg a többiekkel az anyagodat.

smajdam 2013.03.03. 17:40:26

@nb: Rendben van, akkor fejlesztgetem tovább:)

Scrop 2013.03.04. 16:22:53

Üdv!
Valaki megtudná mondani hogy ha beállítom a nyelvet az XML file gyökér elemére hogy lang="hu", akkor miért nem veszi figyelmebe és mindent angolul csinál? dblatex el hozom létre a pdf et de az istenért sem akar magyar lenni. Kersegettem is de minenhol csak ennyit írtak h lang="hu" . Nem olyan fontos h magyar legyen de azért piszkál a dolog.

Scrop 2013.03.04. 19:04:26

6_6_18 : 8 pont
kepfeltoltes.hu/view/130304/6_6_18_www.kepfeltoltes.hu_.jpg
#include <iostream>
#include <string>
#include <map>
#include <cctype>
#include <sstream>

using namespace std;

enum Token_value {
NAME,
NUMBER,
END,
PLUS='+',
MINUS='-',
MUL='*',
DIV='/',
PRINT=';',
ASSIGN='=',
LP='(',
RP=')'
};

double expr(bool);
double term(bool);
double prim(bool);
Token_value get_token();
double error(const string&);

int no_of_errors;
double number_value;
string string_value;
map<string,double> table;
Token_value curr_tok = PRINT;

double expr(bool get)
{
double left = term(get);

for (;;)

switch (curr_tok) {
case PLUS:
left += term(true);
break;
case MINUS:
left -= term(true);
break;
default:
return left;
}
}

double term(bool get)
{
double left = prim(get);

for (;;)
switch (curr_tok) {
case MUL:
left *= prim(true);
break;
case DIV:
if (double d = prim(true)) {
left /= d;
break;
}
return error("Nullával nem lehet osztani");
default:
return left;
}
}

double prim(bool get)
{
if (get) get_token();

switch (curr_tok) {
case NUMBER:

{
double v = number_value;
get_token();
return v;
}

case NAME: {
double& v = table[string_value];
if (get_token() == ASSIGN) v = expr(true);
return v;
}
case MINUS:

return -prim(true);
case LP: {
double e = expr(true);
if (curr_tok != RP) return error(") szükséges");
get_token();

return e;
}
default:
return error("elemi szimbólum szükséges");
}
}

double error(const string& s)
{
no_of_errors++;
cerr << "hiba: " << s << '\n';
return 1;
}

Token_value get_token()
{
char ch;
do {

if(!cin.get(ch)) return curr_tok = END;
} while (ch!='\n' && isspace(ch));
switch (ch) {
case ';':
case '\n':
return curr_tok=PRINT;
case 0:
return curr_tok=END;

case '*':
case '/':
case '+':
case '-':
case '(':
case ')':
case '=':

return curr_tok=Token_value(ch);
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case '.':
cin.putback(ch);
cin >> number_value;
return curr_tok=NUMBER;
default:

if (isalpha(ch)) {
string_value = ch;
while (cin.get(ch) && isalnum(ch)) string_value.push_back(ch);
cin.putback(ch);
return curr_tok=NAME;
}
error("rossz szimbólum");
return curr_tok=PRINT;

}
}

istream * input;

int
main(int argc, char* argv[])
{
switch(argc) {
case 1 :
input = &cin;
break;
case 2:
input = new istringstream(argv[1]);
break;
default:
error("Túl sok paraméter");
return 1;
}

table["pi"] = 3.1415926535897932385;
table["e"] = 2.7182818284590452354;
while (*input) {
get_token();
if (curr_tok == END) break;
if (curr_tok == PRINT) continue;
cout << expr(false) << '\n';
}
if (input != &cin) delete input;

return no_of_errors;
}

cellSigma 2013.03.04. 21:39:29

Docbook:
www.dropbox.com/s/ciro37vvxc1mnm9/mydock.pdf?m

12 feladattal, folyamatos fejlesztés alatt.

(73 pont.)

nb · http://fersml.blog.hu 2013.03.05. 08:36:54

@cellSigma: a pdf-ben miért nem syntax highlighting-os a kód vajon?

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.

Cvanger 2013.03.05. 23:30:26

ha jól számoltam még belefértem a pontozásba

DeeGort 2013.03.06. 10:44:44

KÖNYV: 6.6.18
kepfeltoltes.hu/130306/calc_www.kepfeltoltes.hu_.png

#include <iostream>
#include <string>
#include <map>
#include <cctype>
#include <sstream>
using namespace std;

enum Token_value
{
NAME, NUMBER, END,
PLUS = '+', MINUS = '-', MUL = '*', DIV = '/',
PRINT = ';', ASSIGN = '=', LP = '(', RP = ')'
};

double expr(bool);
double term(bool);
double prim(bool);
double error(const string&);
Token_value get_token();

Token_value curr_tok = PRINT;

map<string, double> table;
double number_value;
string string_value;

int no_of_errors;

double expr(bool get)
{
double left = term(get);

for(;;)
switch (curr_tok)
{
case PLUS:
left += term(true);
break;
case MINUS:
left -= term(true);
break;
default:
return left;
}
}

double term(bool get)
{
double left = prim(get);

for(;;)
switch (curr_tok)
{
case MUL:
left *= prim(true);
break;
case DIV:
if (double d = term(true))
{
left /= d;
break;
}
return error("Nullaval nem lehet osztani");
default:
return left;
}
}

double prim(bool get)
{
if (get) get_token();

switch (curr_tok)
{
case NUMBER:
{
double v = number_value;
get_token();
return v;
}
case NAME:
{
double &v = table[string_value];
if (get_token() == ASSIGN) v = expr(true);
return v;
}
case MINUS:
return -prim(true);
case LP:
{
double e = expr(true);
if (curr_tok != RP) return error(") szukseges");
get_token();
return e;
}
default:
return error("elemi szimbolum szukseges");
}
}

Token_value get_token()
{
char ch = 0;

do
{
if (!cin.get(ch)) return curr_tok = END;
} while(ch != '\n' && isspace(ch));

switch (ch)
{
case 0:
return curr_tok = END;
case ';':
case '\n':
return curr_tok = PRINT;
case '*':
case '/':
case '+':
case '-':
case '(':
case '=':
return curr_tok = Token_value(ch);

case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
case '.':
cin.putback(ch);
cin >> number_value;
return curr_tok = NUMBER;
default:
if(isalpha(ch))
{
string_value = ch;
while (cin.get(ch) && isalpha(ch)) string_value.push_back(ch);
cin.putback(ch);
return curr_tok = NAME;
}
error("rossz szimbolul");
return curr_tok = PRINT;
}
}

double error(const string& s)
{
no_of_errors++;
cerr << "hiba: " << s << '\n';
return 1;
}

istream* input; // mutato bemeneti adatfolyamra

int main(int argc, char *argv[])
{
switch (argc)
{
case 1:
input = &cin;
break;
case 2:
input = new istringstream(argv[1]);
break;
default:
error("tul sok parameter");
return 1;
}

table["pi"] = 3.1415926535897932385;
table["e"] = 2.7182818284590452354;

while(*input)
{
get_token();
if (curr_tok == END) break;
if (curr_tok == PRINT) continue;
cout << expr(false) << '\n';
}

if(input != &cin) delete input;
return no_of_errors;
}

8 Pont

szelepsapka 2013.03.06. 10:48:30

laboron kercerece törés kipróbálás (3pont)

szelepsapka 2013.03.06. 11:06:21

laboron titkos2013.szoveg törés (5 pont)

Atka001 2013.03.06. 11:29:27

Laboron kercerece törés kipróbálás (3 pont)

Gergo0720 2013.03.06. 12:35:19

Laboron szereztem 9 pontot a számológép felélesztésére, illetve a titkos2013.szoveg pontos találatára 7 pont.

kepfeltoltes.hu/130306/Screenshot_from_2013-03-06_12_31_51_www.kepfeltoltes.hu_.png

szelepsapka 2013.03.06. 12:50:20

@Gergo0720: a titkos2013.szoveg nem csak 5pont volt?

Gergo0720 2013.03.06. 13:04:20

@szelepsapka: Az 5 pont, de az, hogy csak pontosan azt az egyet találja meg, ami jó az 7 pont.

szelepsapka 2013.03.06. 13:07:20

@Gergo0720: kosz hogy szoltal, akkor nekem is modositanom kell a pontom

szelepsapka 2013.03.06. 13:09:22

@szelepsapka: akkor Gergo0720 informalasa alapjan nekem is 7pont!

km92 2013.03.06. 15:20:54

Jó napot ! Az előadáson elhangzott " határidő-csúsztatás " -ból kifolyólag bátorkodok felrakni néhány feladatot egy kevéske pont reményében :)

1. előadás 106. fólia :

#include <stdio.h>
#include <iostream>

int main (void)
{
int i = 0;
double r, s = 0.0;

while (scanf("%lf", &r) > 0 )
{
++i;
s += r;
}
printf("%lf\n", s / i );
return 0;

}

Deklarálunk egy i egész, valamint egy r, és s lebegőpontos számot, s-et 0.0 kezdőértékkel. Scanf-fel beolvassuk a bemenetet az r változóba, és amíg ez az érték nagyobb mint 0, az i-t növeljük. Ezután az s értéke s+r lesz. A végén pedig kiíratjuk az s és i hányadosának értékét.

"chapter 2: egy pont, aki lefordítja, lefuttatja a 2. fejezet progiját."
4.11.1 www.kepfeltoltes.hu/view/130306/K_perny_k_p___2013-03-06_15_02_03_www.kepfeltoltes.hu_.png

5.9.4 Swap függvény
www.kepfeltoltes.hu/view/130306/K_perny_k_p___2013-03-06_14_49_54_www.kepfeltoltes.hu_.png

DeeGort 2013.03.06. 16:40:20

@nb: Volt egy kis hiba a számológépemben, de megtaláltam, lemarad a case ')', így már működik ami órán nem működött. A teljes kód a fentebbi kommentemben van.
kepfeltoltes.hu/130306/calc1_www.kepfeltoltes.hu_.png

Token_value get_token()
{
char ch = 0;

do
{
if (!cin.get(ch)) return curr_tok = END;
} while(ch != '\n' && isspace(ch));

switch (ch)
{
case 0:
return curr_tok = END;
case ';':
case '\n':
return curr_tok = PRINT;
case '*':
case '/':
case '+':
case '-':
case '(':
case ')':
case '=':
return curr_tok = Token_value(ch);

case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
case '.':
cin.putback(ch);
cin >> number_value;
return curr_tok = NUMBER;
default:
if(isalpha(ch))
{
string_value = ch;
while (cin.get(ch) && isalpha(ch)) string_value.push_back(ch);
cin.putback(ch);
return curr_tok = NAME;
}
error("rossz szimbolul");
return curr_tok = PRINT;
}
}

Scrop 2013.03.07. 18:30:26

Labor feladatai:
titkos2013.szoveg feltorése megtörtén :D 10 pont

kepfeltoltes.hu/view/130307/titkos2013_www.kepfeltoltes.hu_.jpg

kercerece bemutatása 3 pont

összesen 13 pont

Scrop 2013.03.08. 09:38:09

Pontok összesítés:
vadász feladatok pontjai: 84.5 pont
robotfoci: 8 pont
docbook : 85 pont
labor : 13 pont

Ha valamit elszámoltam volna nyugottan szóljatok nem fogok megharagudni érte :D

Összesen 190.5 pont

Tasnádi Dániel 2013.03.08. 10:48:04

Szerzett pontjaim (eddig összesen ennyi):

- 15 pont a QCSS youtube-os bemutatására
- 9 pont a számológépre
- 3 pont a "Bús..." Huszt kódolás-dekódolásra

= 27 pont

cellSigma 2013.03.08. 11:34:09

Pontösszesítés:

Eddig szerzett: 80.5

Ezen a héten:
Docbook: 73 pont

Feladatok:
6.6.18: 8 pont
7.10.3: 5.5
7.10.4: 5.5
7.10.6: 8
7.10.9: 8

Kvantumfoci videó: 15 pont
10 egészből álló tömb referenciája laborkártya: 7pont
A héten összesen: 130 pont
Eddig szerzettekkel együtt: 210.5 pont

PHP_Barbar 2013.03.08. 13:37:43

9 pont a számológépre
3 pont a "Bús..." Huszt kódolás-dekódolásra

Összesen: 33 pont.

Pumuckl 2013.03.08. 15:35:23

Eddig 18 pont.
A szerdai 12-14 óráig tartó laboron a számológép felélesztése másodikként nem tudom hány pont (az itteni kommentek alapján talán 9).

nb · http://fersml.blog.hu 2013.03.09. 15:15:22

@Scrop: ez melyik feladat? Mert a 9.5.11 nálam ez:

"(*2,5) A külsõ beépítésfigyelõ olyan programelem, amely a megfigyelt fájlon kí-
vül végzi az ellenõrzést, és fordításonként csak egyszer végez beépítést. Készít-
sünk egy ilyen szerkezeti elemet, tervezzünk módszert a tesztelésére, és fejtsük
ki elõnyeit és hátrányait a §9.3.3-ban leírt „állomány-õrszemekkel” szemben.
Van-e a külsõ beépítésfigyelõknek bármilyen jelentõs futási idõbeli elõnye
a rendszerünkben?"

nb · http://fersml.blog.hu 2013.03.09. 15:28:09

@Scrop: kicsit még gyúrjunk ezen a feladaton
- hol az összehasonlítás?
- olyanok legyenek a függvények, amelyeket az összehasonlításnál említ a könyv
- +2 pont (Neked vagy az első 3 olvasónak) aki az strlen olyan változatát mutatja be (forrás+futtatás) amely nem használja a segág int változót

nb · http://fersml.blog.hu 2013.03.09. 15:30:36

@Scrop: a cat ne használjon ilyen buffert (eleve mi van, ha ez egy függvénykönyvtár és egyszerre hívják többen... gondolj csak bele: a cat meg ugyanabban a bufferben dolgozik...) szóval a szabad tárban foglaljon a cat és azt adja vissza, a hívó pedig a végén ne felejtsen el delete

nb · http://fersml.blog.hu 2013.03.09. 15:35:09

@Scrop: itt a progit nem néztem egyelőre, mert a képi bizonyíték rossz, nem?

Pl. "tzE"-re kellene végződnie...

nb · http://fersml.blog.hu 2013.03.09. 15:37:14

@Smajdam: a mágikus 12-t elimináljuk!

nb · http://fersml.blog.hu 2013.03.09. 15:42:57

@Scrop:

- van ilyenre pl. hogy átadom a buffert, de itt indokolatlan, csinálja lokálban az atoi

- miért nem ez a szignatúra:
NAME
atoi, atol, atoll, atoq - convert a string to an integer

SYNOPSIS
#include <stdlib.h>

int atoi(const char *nptr);

- ez a rész hol van?

"kezelje a C++ oktális és hexadecimális je-
lölését is, az egyszerû, tízes számrendszerbeli számokkal együtt. Módosítsuk
a függvényt úgy is, hogy kezelje a C++ karakterkonstans jelölést is."

nb · http://fersml.blog.hu 2013.03.09. 16:04:11

@Scrop: az aktuális pontszámhoz kell az az infó, hogy a szereplő feladatok közül mennyi az elfogadott, amivel kvázi itt nem volt kommentem?

nb · http://fersml.blog.hu 2013.03.09. 16:05:44

@szelepsapka:

- kicsi a kép
- forrás?
- tömbre fer biztosan error, lásd már tárgyaltuk, tettem is ki forráscsipetet a 4-5 labor posztjába

nb · http://fersml.blog.hu 2013.03.09. 16:15:12

@Gergo0720: tetszik a segédváltozó nélküli megoldás, +10 pont, ha elmagyarázod egy kommentben (vagy bárki további első 3 elmagyarázza, annak +5).

kun.t1992 2013.03.09. 16:44:01

A PROP könyv "5.3.2. A sampleclient/client.cpp módosítása" résznél valamiért a módosított clientprog1.cpp nem fordul le a make-nél. Legjobb tudásom szerint azt tettem amit a könyv mond. Előtte már működött a server a monitor és a client is. Ha valaki tudna segíteni annak örülnék.

E-mail címem: kun.t1992@gmail.com

Scrop 2013.03.09. 16:54:51

@nb: igen, az a 5_9_11 es lenne :D csak felcseréltem a két számot

Scrop 2013.03.09. 17:05:11

@nb: A képi bizonyíték nem rossz. a karater lánc végén "tzE" van ha azt visszafelé írjuk akkor kapjut hogy "Ezt", így nem értem mi a baj a képi bizonyítékkal.

Scrop 2013.03.09. 17:16:06

@nb: kepfeltoltes.hu/view/130309/6_6_13_jav_www.kepfeltoltes.hu_.jpg

javáts megrötént :D, látszik h még akkor kezdtem a c++ ot használni :D, de már tisztul a kép.

#include <iostream>
#include <string.h>
#include <stdlib.h>

using namespace std;

char* cat(char* ch, char * ch2 )
{
char *two_in_one = new char[strlen(ch) + strlen(ch2)];

int i = 0;
for( ; ch[i] != '\0'; ++i)
two_in_one[i] = ch[i];
for(int j = 0; ch2[j] != '\0' ; ++i,++j)
two_in_one[i] = ch2[j];

return two_in_one;

}

int main()
{
char one_ch[] = "Fagylalt";
char two_ch[] = "oskocsi";

char *cp = new char[sizeof(cat(one_ch,two_ch ))];
cp = cat(one_ch,two_ch );
cout << cp << endl;
delete [] cp;

return 0;
}

Scrop 2013.03.09. 17:19:04

@nb: Én is csodálkoztam h nem volt egyikhez sem kommentem, vagyis eggyhez volt :D , és majdnem elhittem h mind jó :D. és most meg javítgathatok :D
És amúgy most mire és mennyi pontot adtál? mert ebből a 90.5 ből nem sokat tudok leszűrni.

Gergo0720 2013.03.09. 17:21:07

@nb: Nos kizáró vagy művelettel lett megcserélve a két változó értéke, amit egy példán keresztül megpróbálok megmagyarázni.

Legyen a = 10101 , b = 11001

Kizáró vagy művelettel a következőképpen tudjuk megcserélni. Először a = a ^ b, ahol ^-jel jelenti a kizáró vagy műveletet(továbbiakban xor). Tehát a-t össze xor-oljuk b-vel. Ugye xor-nál akkor kapunk 1-est, ha különböznek az azonos helyen álló számjegyek, egyébként 0. 10101 ^ 11001 = 01100 -> ez lett az 'a' változó új értéke. Ezután b = b ^ a, vagyis b-t xor-olom össze az "új" a-val. 11001 ^ 01100 = 10101 -> ez lett a 'b' tartalma, ami eddig 'a'-ban volt, tehát félig készen vagyunk. Végül a = a ^ b , az "új" a-t xor-olom az "új" b-vel 01100 ^ 10101 = 11001 -> ez kerül a-ba. Tehát végül az 'a'-ba került a 01100 b-be pedig az 11001

Scrop 2013.03.09. 17:23:46

@nb: A segág int az segéd int változó lenne?

Smajdam 2013.03.09. 17:24:22

@Gergo0720:Magyarázat a xor-os felcserélésre:
A kizáróvagy akkor ad vissza igazat, ha vagy az egyik, vagy a másik operandusa 1, de egyszerre maximum csak 1. Ezt lehet kihasználni itt is, és az exor törésnél is pl.

Egyszerű példa a megértéshez:
X=0001, Y=1111

1. lépés: X = X ^ Y
0001
1111
X=1110

2. lépés: Y = X ^ Y
1110
1111
Y=0001

3. lépés: X = X ^ Y
1110
0001
X=1111

X=1111, Y=0001
_____________________________________________

Smajdam 2013.03.09. 17:29:36

@nb: a 12 csak azért írtam oda, mert előre tudtam hogy csak a hónapokat fogja kiírni, abból meg ugye mindig 12 van. De itt a javítás:

#include <iostream>
#include <string>
using namespace std;

void kiir( string str[], int size )
{
for(int i = 0; i < size; i++)
cout << str[i] << endl;
}

int main(void)
{
string str[] = {"január", "február", "március", "április", "május", "június", "július", "augusztus", "szeptember", "október", "november", "december"};

for(int i = 0; i < ( sizeof(str) / sizeof(str[0]) ); i++)
cout << str[i] << endl;

kiir(str, ( sizeof(str) / sizeof(str[0])) );

return 0;
}

Scrop 2013.03.09. 17:36:54

@nb: Egy kérdés:
semmilyen segéd változót nem használhatunk?
azaz ez sem lenne jó megoldás? :
int strlen(const char *minek )
{
const char *p = minek;
while (*minek++ != '\0');

return minek - p - 1;
}

Scrop 2013.03.09. 17:57:53

@nb: Javított 6_6_10 es feladat, ahol a cmp-t kicsit félre értettem :D
kepfeltoltes.hu/view/130309/6_6_10_jav_www.kepfeltoltes.hu_.jpg
#include <string>
#include <iostream>

#define EXIT_SUCCES 0
#define EXIT_NOT_SUCCES -1

using namespace std;

int strlen(const char *minek )
{
const char *p = minek;
while (*minek++ != '\0');

return minek - p - 1;
}

int strcpy(const char *mit, char *hova)
{
int i = 0;
for(i ; mit[i] != '\0'; i++)
hova[i] = mit[i];
hova[i] = '\0';

return EXIT_SUCCES;
}

int strcmp (const char *mit, const char *mivel)
{
int i = 0;
while ((mit[i] == mivel[i]) && (mit[i] != '\0') && (mivel[i] != '\0'))
++i;
if ((int)mit[i] > (int)mivel[i])
return (int)mit[i] - (int)mivel[i];
else
if ((int)mit[i] < (int)mivel[i])
return (int)mivel[i] - (int)mit[i];

return 0;

}

int main()
{
char ch[] = "Ezt vizsgáljuk!";

int hossz = strlen(ch);
cout << hossz << endl;

char ch2[20] = "";

strcpy (ch, ch2);
cout << ch2 << endl;

char ch3[] = "Ezt vizsgáljuk!";
char ch4[] = "Ez nem egyezik!";
cout << strcmp(ch3, ch4) << endl;
cout << strcmp(ch, ch3) << endl;
return 0;
}

Gergo0720 2013.03.09. 18:51:37

@nb: Elnézést, hogy újra postoltam, de utolólag vettem észre, hogy elírtam. Javítás:

Nos kizáró vagy művelettel lett megcserélve a két változó értéke, amit egy példán keresztül megpróbálok megmagyarázni.

Legyen a = 10101 , b = 11001

Kizáró vagy művelettel a következőképpen tudjuk megcserélni. Először a = a ^ b, ahol ^-jel jelenti a kizáró vagy műveletet(továbbiakban xor).

Tehát a-t össze xor-oljuk b-vel. Ugye xor-nál akkor kapunk 1-est, ha különböznek az azonos helyen álló számjegyek, egyébként 0.

10101 ^ 11001 = 01100 -> ez lett az 'a' változó új értéke.
Ezután b = b ^ a, vagyis b-t xor-olom össze az "új" a-val. 11001 ^ 01100 = 10101 -> ez lett a 'b' tartalma, ami eddig 'a'-ban volt, tehát félig készen vagyunk.

Végül a = a ^ b , az "új" a-t xor-olom az "új" b-vel 01100 ^ 10101 = 11001 -> ez kerül a-ba.

Tehát végül az 'a'-ba került a 11001, b-be pedig az 10101

nb · http://fersml.blog.hu 2013.03.09. 19:03:59

@szelepsapka: hogy az alapszöveg törése mennyit ért, azt a laboron a licit határozta meg, ez tipikusan más és más laboronként.

Scrop 2013.03.09. 20:17:20

@nb:
Az hogy kezelje az oktális és hexadecimális jelölést nem azt takarná, hogy ha beírok egy 0123 számot azt nyolcasként kezelje és a 0xFF52 számot pedig 16 os ként kezelje, márcsak azért kérdem mert azt az fügvényem kezeli. A c++ beli stringet pedig szintén kezeli hiszen ez is a paramétere: (const string mit)
Tudom hogy maga a kód ocsmány, de még a 7végén megírom szebben az atoi, atol, atoll al eggyüt, viszont az atoq -t nem tartom lényegesnek, hiszen ahogy olvastam a "man atoq" - ban ez az atoll egy elavult változata. És majd holnapra fel is töltöm akkor a végleges eddigi pont táblázatomat, hogy tiszta legyen a dolog. :D

sency 2013.03.10. 13:04:41

Kedves Kollégák!
RCSS problémám van, miszerint Ctrl+K után az összes játékos befut a pálya hossztengelyére, valamint a felezőpályát nem lépik át. Magyar nyelvű Ubuntu, boost, stb. minden telepítve. Találkozott valaki hasonló problémával?
web.unideb.hu/~netid21/felallas.png
web.unideb.hu/~netid21/ctrl_k_utan.png

Scrop 2013.03.10. 13:42:42

@sency: Véletlenül nem magyarul raktad fel az ubuntut, úgyértem amikor telepítetted: kiválasztottad azt h magyar? Mert akkor ez a probléma , ugyanis az ubuntut angolul kell felrakni majd telepítés után kell a nyelvet átállítai amire szeretnéd. És csak ebben az esetben nem lesz bugos az RCSS.

sency 2013.03.10. 13:55:48

@Scrop: Fogalmam sincs, pár éve már fent van. Viszont ha csak ez lehet a probléma, akkor feldobom az angol verziót. Köszönöm a tippet!

nb · http://fersml.blog.hu 2013.03.10. 14:07:54

@sency: ha menni fog, akkor azt úgy veszem, hgy megy az 1 pont Scorp-nak. (Ha valami más miatt mégis gond lenne, akkor legvégső esetre itt a "BatfaiProg1" VB image: www.inf.unideb.hu/~nbatfai/Batfai_Prog1.ova )

Scrop 2013.03.10. 15:59:02

@nb: Most esik le h az nem a 6_6_16 os feladat lenne hanem a 6_6_17, azért volt zavaró a dolog,
1: mert elírtam a feladat számát
2: még a fügvény nevet is elírtam amit egy kommentel lejebb írtam is :D

Scrop 2013.03.10. 16:24:00

A tisztán látás kedvéért itt van megint a 6_6_17 ami itoa és nem atoi ahogy először írtam
kepfeltoltes.hu/view/130310/9232945986_6_17_www.kepfeltoltes.hu_.jpg
#include <iostream>
#include <math.h>
#include <string.h>

using namespace std;

int max_ch(int a)
{
int i = 0;
for (; ((double)(a / pow(10,i)) >10) || (((double)(a / pow(10,i))) < -10 ); ++i );
if (a < 0) return i+2;
else return i+1;

}

char* itoa(int szam, char hova[])
{
int meret = max_ch(szam);

int i = meret;
if ( szam < 0) {
hova[0] = '-';
szam *= -1;
--i;

}
int seged = szam;
for (i; i != 0; --i) {
int j = 1;
for (; j <= 10; ++j) {

if (seged < pow(10,i-1) * j)
break;
}

hova [meret - i] = char(j-1 + int('0'));
seged -= (j-1)*pow(10,i-1);
}

static char * stat_ch;
stat_ch = hova;
return stat_ch;
}

int main()
{
char int_to_ch[32] = "";
cout << itoa (-9999, int_to_ch) << endl;
cout << itoa (1235258, int_to_ch) << endl;

return 0;
}

Scrop 2013.03.10. 16:36:24

Ezek után ha már nem adódik tömb gond akkor itt van a végleges pontzámom, az előzőbe am sem számoltam bele a már meglévőt:
docs.google.com/file/d/0By5wCYSBTSJAMmNLVGNNSmhGdTg/edit

összesen : 210.5 pont

nb · http://fersml.blog.hu 2013.03.10. 16:57:41

@Scrop: Köszi. A DocBook sornál nem látok linket, ebből hol találom az aktuálisat?

gyzsolt 2013.03.10. 21:27:25

6-án 12 órási Laboron kercerecen kipróbálása ( 3 pont )

Scrop 2013.03.11. 18:35:23

@nb: Tanár úr , ha szépen megkérném átírna pontszámomat az aktuálisra? Csak h nehogy megfeletkezzünk róla. :D

nb · http://fersml.blog.hu 2013.03.11. 18:39:22

@Scrop: nyugalom, hetenként bufferelem a feldolgozatlan kommenteket, s péntek-szombat magasságában vezetem át a blogra. (Persze, ha most valami miatt elkerülné a figyelmemet, akkor majd egy megszakításban javítom, de nem valószínű, mert a DocBook-os feladatok kapcsán külön is figyelek.)

A blogot úgy tekintem, mint egy "elosztott adatbázist", amelyből, ha kell, ki tudjuk bányászni az infót, tehát szerintem biztonságban vagy :)

Cvanger 2013.03.13. 14:49:52

A 6. fejezet feladatai a KÖNYVből:
6.6.1: 3 pont
kepfeltoltes.hu/130313/6.6.1_www.kepfeltoltes.hu_.png

6.6.2: 3 pont
lásd a 6.6.4-nél lejjebb

6.6.3: 8 pont
kepfeltoltes.hu/130313/6.6.3_www.kepfeltoltes.hu_.png

6.6.4: 3 pont
kepfeltoltes.hu/130313/DSCF2427_www.kepfeltoltes.hu_.jpg

6.6.7: 8 pont
kepfeltoltes.hu/130313/6.6.7_www.kepfeltoltes.hu_.png

6.6.9: 3 pont
kepfeltoltes.hu/130313/6.6.9_www.kepfeltoltes.hu_.png

6.6.10: 8 pont
kepfeltoltes.hu/130313/6.6.10_www.kepfeltoltes.hu_.png

6.6.11: 3 pont
kepfeltoltes.hu/130313/6.6.11_www.kepfeltoltes.hu_.png

6.6.12: 8 pont
kepfeltoltes.hu/130313/6.6.12_www.kepfeltoltes.hu_.png

6.6.13: 8 pont
kepfeltoltes.hu/130313/6.6.13_www.kepfeltoltes.hu_.png

6.6.14: 8 pont
kepfeltoltes.hu/130313/6.6.14_www.kepfeltoltes.hu_.png

6.6.12: 10,5 pont
kepfeltoltes.hu/130313/6.6.22_www.kepfeltol
tes.hu_.png

A 3. laboron kaptam 3 pontot egy otthonról hozott progira és még 3-t az exor törő oda vissza való működtetésére.

Összesen: +79.5 pont

Cvanger 2013.03.13. 14:50:12

A 6. fejezet feladatai a KÖNYVből:
6.6.1: 3 pont
kepfeltoltes.hu/130313/6.6.1_www.kepfeltoltes.hu_.png

6.6.2: 3 pont
lásd a 6.6.4-nél lejjebb

6.6.3: 8 pont
kepfeltoltes.hu/130313/6.6.3_www.kepfeltoltes.hu_.png

6.6.4: 3 pont
kepfeltoltes.hu/130313/DSCF2427_www.kepfeltoltes.hu_.jpg

6.6.7: 8 pont
kepfeltoltes.hu/130313/6.6.7_www.kepfeltoltes.hu_.png

6.6.9: 3 pont
kepfeltoltes.hu/130313/6.6.9_www.kepfeltoltes.hu_.png

6.6.10: 8 pont
kepfeltoltes.hu/130313/6.6.10_www.kepfeltoltes.hu_.png

6.6.11: 3 pont
kepfeltoltes.hu/130313/6.6.11_www.kepfeltoltes.hu_.png

6.6.12: 8 pont
kepfeltoltes.hu/130313/6.6.12_www.kepfeltoltes.hu_.png

6.6.13: 8 pont
kepfeltoltes.hu/130313/6.6.13_www.kepfeltoltes.hu_.png

6.6.14: 8 pont
kepfeltoltes.hu/130313/6.6.14_www.kepfeltoltes.hu_.png

6.6.12: 10,5 pont
kepfeltoltes.hu/130313/6.6.22_www.kepfeltol
tes.hu_.png

A 3. laboron kaptam 3 pontot egy otthonról hozott progira és még 3-t az exor törő oda vissza való működtetésére.

Összesen: +79.5 pont

Cvanger 2013.03.13. 14:50:23

A 6. fejezet feladatai a KÖNYVből:
6.6.1: 3 pont
kepfeltoltes.hu/130313/6.6.1_www.kepfeltoltes.hu_.png

6.6.2: 3 pont
lásd a 6.6.4-nél lejjebb

6.6.3: 8 pont
kepfeltoltes.hu/130313/6.6.3_www.kepfeltoltes.hu_.png

6.6.4: 3 pont
kepfeltoltes.hu/130313/DSCF2427_www.kepfeltoltes.hu_.jpg

6.6.7: 8 pont
kepfeltoltes.hu/130313/6.6.7_www.kepfeltoltes.hu_.png

6.6.9: 3 pont
kepfeltoltes.hu/130313/6.6.9_www.kepfeltoltes.hu_.png

6.6.10: 8 pont
kepfeltoltes.hu/130313/6.6.10_www.kepfeltoltes.hu_.png

6.6.11: 3 pont
kepfeltoltes.hu/130313/6.6.11_www.kepfeltoltes.hu_.png

6.6.12: 8 pont
kepfeltoltes.hu/130313/6.6.12_www.kepfeltoltes.hu_.png

6.6.13: 8 pont
kepfeltoltes.hu/130313/6.6.13_www.kepfeltoltes.hu_.png

6.6.14: 8 pont
kepfeltoltes.hu/130313/6.6.14_www.kepfeltoltes.hu_.png

6.6.12: 10,5 pont
kepfeltoltes.hu/130313/6.6.22_www.kepfeltol
tes.hu_.png

A 3. laboron kaptam 3 pontot egy otthonról hozott progira és még 3-t az exor törő oda vissza való működtetésére.

Összesen: +79.5 pont

Cvanger 2013.03.13. 14:51:34

Hát ezt nem hiszem el, valamiért 2-szer hibát ad az elküldésre, majd utána meg elküldi 3-szor... :S

nb · http://fersml.blog.hu 2013.03.17. 15:29:06

@kun.t1992: az előtte működöttet úgy kell érteni, hogy forrásból a sima szerver fordult?

nb · http://fersml.blog.hu 2013.03.17. 15:40:22

@Scrop: kicsit még alakítottam (egyszerűsítettem) rajta, ha ezt bekkomentezve megmagyarázod, akkor +3 pont:

norbi@colossus:~/Documents/P1/Scrop$ g++ -Wall scorp.cpp -o scorp
norbi@colossus:~/Documents/P1/Scrop$ ./scorp
4
4
norbi@colossus:~/Documents/P1/Scrop$ more scorp.cpp
#include <iostream>
#include <cstring>

namespace sajat
{

int strlen (const char *minek)
{
const char *p = minek;
while (*minek++);

return minek - p - 1;
}

}

int
main ()
{
std::cout << sajat::strlen ("alma") << std::endl;
std::cout << std::strlen ("alma") << std::endl;
return 0;
}
norbi@colossus:~/Documents/P1/Scrop$

kun.t1992 2013.03.17. 15:45:14

@nb: Minden működött de amikor a PROP könyv 5.3.2. részénél létrehozom a clientprog1.cpp-t akkor a make-nél elvileg észre kellene vennie ezt és lefordítani. Ettől függetlenül a sima client-et fel tudom rakni a server megy a monitoron látszik ha felrakok egy embert.

nb · http://fersml.blog.hu 2013.04.07. 11:20:43

@I.Csaba: Vajon miért nem sintaxis kiemelésesek a forráskódok megjelenései a pdf-ben? programlisting elemben vannak?

I.Csaba 2013.04.07. 11:31:51

igen, programlisting-ben vannak.

nb · http://fersml.blog.hu 2013.04.07. 12:00:07

@nb: nem nevezném hibának, hiszen ha valid az xml-ed, akkor nyilván nem hiba, de mindenképpen segíti az olvasó társaid szemét, akik érdeklődéssel forgatják a könyvedet.

B.Norbi93 2013.04.07. 13:35:21

KÖNYV 6.6.1 (3 pont)
imagerz.com/QE8QWEtvAwMBB1gcGQVQ

KÖNYV 6.6.2 (3 pont)
imagerz.com/QE8QWEtvAwMBB1gcGAVQ

KÖNYV 6.6.4 (3 pont)
imagerz.com/QE8QWEtvAwMBB1geQgVQ
mivel 1 db biten nem lehet logikai műveletet végezni, "negált 'a' " kiíratását egy kicsit máshogy oldottam meg

KÖNYV 6.6.10 (8 pont)
imagerz.com/QE8QWEtvAwMBB1gcQwVQ

KÖNYV 6.6.13 (8 pont)
imagerz.com/QE8QWEtvAwMBB1gcQgVQ

KÖNYV 6.6.14 (8 pont)
imagerz.com/QE8QWEtvAwMBB1gcRAVQ

KÖNYV 6.6.16 (8 pont)
imagerz.com/QE8QWEtvAwMBB1gcRwVQ

KÖNYV 6.6.17 (8 pont)
imagerz.com/QE8QWEtvAwMBB1gfEQVQ

KÖNYV 6.6.18 (8 pont)
imagerz.com/QE8QWEtvAwMBB1gfEAVQ (2 db részlet)
imagerz.com/QE8QWEtvAwMBB1gfEwVQ (terminal)
süti beállítások módosítása