- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Linux - haladóknak
- DIGI internet
- Proxmox VE
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- WLAN, WiFi, vezeték nélküli hálózat
- Milyen NAS-t vegyek?
- Microsoft Excel topic
- Crypto Trade
- Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
-
IT café
Új hozzászólás Aktív témák
-
Forest_roby
őstag
nem tudom hogy kell kipróbálni! még nem írtam működő assembly progit és így - még nem is fordítottam.....
Csak durván, kb jól működőre kell megírnunk a progit papíron. Nekem most a legnagyobb közös osztó megkeresése volt a feladat.... Sztem kész. Beírjam? Leellenőrzöd?-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
okay!
Elég rövidke lett, lehet kifelejtettem vmit -nem tom, nekem jónak tűnik!
ax = pozitív szám
bx = pozitív szám
osszehasonlitas:
cmp bx,ax
jnb tovabb
xchg bx,ax
tovabb:
cmp bx,ax
je vege ;if equal jump vege else 'ez köv most:'
sub ax,bx ; ax -ba belekerül ax-bx értéke, bx marad, ezzel megvan a 2db kisebb szám is
jump osszehasonlitas ;ugrás az összehasonlítás részhez
vege:
end
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Forest_roby #2066 üzenetére
kicsit módosítottam:
ax = pozitív szám
bx = pozitív szám
osszehasonlitas:
cmp bx,ax
jnb userror
xchg bx,ax
userror:
cmp 2,bx ;a 2-vel hasonlítom össze, ha bx nagyobb egyenő, akkor tovább egyébként hiba kiírása és vége!
j?? tovabb
print: nincs közös osztó
jmp vege
tovabb:
cmp bx,ax
j?e? vege ;if equal jump vege else 'ez köv most:'
sub ax,bx ;ax -ba belekerül ax-bx értéke, bx marad, ezzel megvan a 2db kisebb szám is
jmp osszehasonlitas ;ugrás az összehasonlítás részhez
vege:
end
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Hi!
Végülis egyszerű kérdés, csak vhogy nem jövök rá az egyszerű megoldásra....
Adott egy string-re mutató pointer: gchar* valtozonev;.
Ennek a pointernek a tartalmát szeretném összehasonlítani egy tényleges szöveggel egy if -ben -ha megegyezik akkor vmi, egyébként vmi más.
vmi ilyesmi:
if( valtozonev == ''szöveg szöveg'' )
/*-*/g_message(''-=megegyezik=-'');
.....//nem egyezik meg ág!
persze ez nem jó, de nem tudom, hogy lehetne megcsinálni jól és szépen!
Egy megoldás lehetne az, hogy strcmp -vel összehasonlítom, de nem akarok ágyúval lőni verébre.
Van más egyszerűbb/szebb megoldás?
Előre is köszi a válaszokat!-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Jester01, Robaj!
vhogy bonyolultnak tunt egy ( 'komolyabb' ) fv. -t hasznalni 2 szo osszehasonlitasara.-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
okay sracok, értem és használom is a fv.-t. Eszembe nem jutott irni egy ujat, ha itt van ez amit lehet hasznalni (biztos jobban megirtak, mint amire en kepes lennek). Az egeszet azert kerdeztem meg, mert fura volt hogy ez ilyen bonyolult -persze ez velemeny kerdese. Szeretem en a c -nyelvet, meg ebben tudok a legjobban programozni es tenyleg nagyon jo, de a stringek kezelesevel az igazat megvalva nem vagyok megelegedve ( es nem en vagyok az egyetlen ). Mar a glib iroi is eszre vettek ezt, gondolom ezert az a SOK uj fv stringekre. Legtipikusabb!: ''szoveg01'' + ''szoveg02'' nem értelmes. Saját vélemény, de ezt szerintem mindenki olyan termeszetesnek gondolna, hogy ez mukodik, pedig nem : | . No mindegy, megprobalok kibekulni ezzel a dologgal es bocs -nem akartam vitat. ( az elejen tenyleg azt hittem, hogy van egyszerubb megoldas. )
-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
miért nem másolod be ide? Aztán eldöntjük, hogy akarunk -e foglalkozni vele vagy nem.
Előljáróban:
assemblys trükk - xrate ( translate szlengesen ) asszem a parancs neve. Nyugi, nem assemblys megoldást akarok mondani. A lényeg az, hogy csinálhatnál egy nagy táblázatot, amiben az egyes karakterekhez egy másikat rendelsz. Ezt be a memóriába és utánna már csak a táblázaton kell keresni az adott karakter párját. Ennél gyorsabb, működő megoldást nem fogsz csinálni az tuti!
Sok sikert!
mod: mondjuk nem részleteztem a módszer lényegét, de talán nem is kell. Ha érdekel: fontos, hogy minden karakternél futtas egy keresést a táblán és cserélj, ha nem akarnál cserélni az adott helyen akkor a táblában a karakter párja saját maga...... -persze itt nem egy karakter van hanem több, ez nem lehet akadály... : )
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
összefűzés:
void osszefuzes(char* eleje, const char* vege){
char* uj = malloc( strlen(eleje) + strlen(vege) + 1 );
strcpy( uj, eleje );
strcat( uj, vege );
}
valami ilyesmi nem??-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Forest_roby #2146 üzenetére
mondjuk én ilyesmire gondoltam:
Feltöltöd a táblázatodta ugy, ahogy Jester01 mutatta:
char* tabla[255] = {0, }
tabla[ (unsigned char)'á' ] = ''a''';
tabla[ (unsigned char)'é' ] = ''e''';
stb....
...
utánna lefoglalsz egy elegendően nagy memóriaterületet (malloc) és végigmész karakterenként a szövegen, végrehajtod a cserét mindig és ezt szépen lejegyzed a memterületre -mindig hozzáfűzéssel és a végén a lefoglalt memterületeden ott lesz a szép uj szöveged!-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
jah, van!
A lefoglalt memóriaterületet amikor kezded feltölteni szöveggel az trükkös rész. Lehet egyszerűen csinálni és lehet jól csinálni. ha minden ciklusban megkeresed a szöveg végét az nem tul hatékony eljárás lenne. A lefoglalt memóriaterület pointerét le kellene másolni és minden ciklusban növelni az értékét annak megfelelően, hogy 1 karakterrel nőt elötte a szöveg v 2 -vel. igy mindig jó helyen állna a pointer. Kiváncsi lennék, hogy ezt hogy valósítanák ( hogy valósítanám meg? ) -érdekes feladat.... Lehet nekiálok!-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
okay, csinálom!
Kis probléma! : |
tabla[ (unsigned char)'á' ] = ''a''';
hiba: warning: multi-character character constant
az á betűre írja ki! Ez azért elég nagy baj... mi rá a megoldás?-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Jester01 #2141 üzenetére
Hi!
Ezt így ezzel a táblázattal biztos, hogy nem tudom én megcsinálni. Az ékezetes betűk indexelésénél vannak problémák. Ha utf-8 kodolásban írom a progit, akkor az ékezetes betűk két helyet foglalnak el és hibaüzenet jön... Ha átalakítom a progit iso-8859-2 kodolásura, akkor meg nem jelennek meg az ékezetes betűk a progiban és bár működni fog a program, rosszúl fog működni....
Mit tanácsolnál? /bár nem nekem fontos a dolog....
-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Hi!
Megnéznétek, hogy ezzel mi a gubanc? /még mindig nem tudok normálisan bánni a * és az & jelekkel/
code:
1. fv:
void mark_set_func(GtkTextBuffer *buffer,/*buffre*/
GtkTextIter *newpoz,/*new loc*/
GtkTextMark *mark,/*being set mark*/
gpointer *t)
{
gchar *m;
gint offset;
offset=gtk_text_iter_get_offset(newpoz);
gtk_statusbar_pop(GTK_STATUSBAR(t[0]),0);
m=g_strdup_printf(''cursor pozicion:%d'',offset);
gtk_statusbar_push(GTK_STATUSBAR(t[0]),0,m);
g_free(m);
g_message(''----------------------------------------'');
g_message(''%d. karakternél van a cursor!\n'', offset);
.....
.....
.....
}
----------------------
2. fv:
void
on_myeditor_window_realize (GtkWidget *widget,
gpointer user_data)
{
GtkWidget *combo;
GtkWidget *text;
GtkTextBuffer *buffer;
GtkWidget *bar;
text=lookup_widget(widget,''myeditor_textview'');
bar=lookup_widget(widget,''myeditor_statusbar'');
buffer=gtk_text_view_get_buffer(GTK_TEXT_VIEW(text));
combo = lookup_widget(widget,''textstyle_comboboxentry'');
gpointer* t[5];
t[0] = combo;
t[1] = bar;
g_signal_connect ((gpointer)buffer,''mark-set'',G_CALLBACK(mark_set_func),t);
gtk_statusbar_push(GTK_STATUSBAR(bar),0,''ready'');
}
--------------
--------------
A probléma a t[5] tömb-el lesz vhol. A cél az, hogy egy tömbben eltároljak pointereket és a tömbre mutató pointert adjam át az 1. fv-nek, mert csak 1 db pointert tudok átadni.
A 2. fv-ben lévő t tömbben szeretném eltárolni a poitereket és ezt átadni az 1. fv-nek.... nyilán rosszúl. : (
Hogy kell ezt helyesen megcsinálni?
Előre is köszi!
Forest
mod: Jester01 adta az ötletet, hogy így csináljam, csak a megvalósításban már nem tudott segíteni - kilépett az msn-ből
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
HI!
Ránéznétek erre? Csak pár hiba kiszűrésének céljából -én már tutkón nem veszek észre semmit ( két napja csinálom /nem pont ezt/ és vérvörösek a szemeim.... )
code:
void
on_used_words1_activate (GtkMenuItem *menuitem,
gpointer user_data)
{//NEM MEGY!
GtkTextView *text_view;
GtkTextBuffer *text_buffer;
gboolean is_true;
GtkTextIter start_word;
GtkTextIter end_word;
typedef struct rekord{
gchar *word;
gint presence;
}rekord;
GTree *word_tree;
GList *word_list;
GList **word_list_pointer = &word_list;
rekord *used_word = g_malloc(sizeof(rekord));
word_tree = g_tree_new(strcmp());
gchar *word;
text_view = GTK_TEXT_VIEW(lookup_widget(GTK_WIDGET(menuitem), ''textview1''));
text_buffer = gtk_text_view_get_buffer(text_view);
gtk_text_buffer_get_start_iter(text_buffer, &start_word);
gtk_text_buffer_get_start_iter(text_buffer, &end_word);
while (gtk_text_iter_forward_word_end(&end_word)){ //van még szó?
start_word = end_word;
gtk_text_iter_backward_word_start(&start_word);
word = gtk_text_buffer_get_text(text_buffer, &start_word, &end_word, TRUE);
word = g_utf8_strdown(word, strlen(word));
if ((used_word = g_tree_lookup(word_tree, word)) == NULL){ //lóg a fán ez a szó
used_word = (rekord *)malloc(sizeof(rekord));
used_word -> word = g_strdup(word);
used_word -> presence = 1;
g_message(''%s(): first read word: %s'', __func__, word);
g_tree_insert(word_tree, g_strdup(used_word -> word), used_word); //fen a fán a szó
g_free(word);
}else{
used_word -> presence++; //a szó a fán volt ezért megjegyzem
}
}
g_tree_foreach(word_tree, from_tree_to_list, word_list_pointer); //itt is fagy
g_tree_destroy(word_tree);
}
A fügvény gomblenyomásra fut le és egy szövehszerkesztőben lévő szövegről kellene statisztikai infókat visszaadnia. A kód lefordúl, de hibát ír ki:
callbacks.c: In function ‘on_used_words1_activate’:
callbacks.c:913: warning: passing argument 1 of ‘g_tree_new’ makes pointer from integer without a cast
callbacks.c:925: warning: incompatible implicit declaration of built-in function ‘strlen’
futatáskor pedig szegmens hibával kilép a progiból....
Előre is köszi a segítségeket. észrevételeket!
Forest-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Jester01 #2285 üzenetére
igen, valószínűleg ott van a probléma...
ugy néztem, hogy a g_tree_new() -ba kell egy fv-t tenni, ami összehasonlítja az elemeket -erre az strcmp() jó, nem?
/msn -en akár mikor odaadom a progit, bár mostmár ráférne a nagytakarítás, -sok az egyforma rész benne.... -kicsit rendszereznem kell a dolgokat.-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Jester01 #2287 üzenetére
Ki kellett aludni magamat és máris megvan a megoldás!
Először zárójelek nélkül volt a kód, de ugy nem akart lefordulni:
callbacks.c: In function ‘on_used_words1_activate’:
callbacks.c:913: error: ‘strcmp’ undeclared (first use in this function)
callbacks.c:913: error: (Each undeclared identifier is reported only once
callbacks.c:913: error: for each function it appears in.)
callbacks.c:925: warning: incompatible implicit declaration of built-in function ‘strlen’
Elkezdtem keresgélni a hibát és akkor szedtem ki a zárójeleket -ennek hatására le is fordult de nem volt jó....
Ma reggel újra előröl, nem kellett 1 perc és már futott is a progi -hiányzott neki egy header file.....
Az alvás csodákra képes!
/persze vmi még igy se stimmel, de már fut... -egy helyen asszem kifagy/-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz PazsitZ #2289 üzenetére
Asszem vmi ilyesmi:
#include <stdio.h>
#include <string.h>
char *eltolas( char *tomb ){
int n,N;
int x=2;
N=strlen( tomb );
for( n=0; n<N; ++n ){
tomb[n]=tomb[n]+x;
}
return( tomb );
}
main(){
char tomb[32];
strcpy( tomb, ''abcdefghi'' );
printf(''%s\n'', eltolas(tomb));
}
de most nincs időm tesztelni.....
Finomítsad!
üdv:
Forest
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Hi! ha ráérnétek ránéznétek erre a kódrészletre: /elég nagy/
void
on_save_xml_button_clicked (GtkButton *button,
gpointer user_data)
{
g_message(''%s(): start: '', __func__);
//az xml dokument elõállításához
xmlDocPtr document;
xmlNodePtr styles;
xmlNodePtr style;
xmlNodePtr text;
xmlNodePtr property;
GtkWidget *window;
GtkTextView *text_view;
GtkTextBuffer *text_buffer;
GtkTextIter start_line;
GtkTextIter end_line;
gchar *the_text;
GSList *activ_tags;
GSList *p;
gchar *name;
gchar *font;
//file keresõ ablakhoz
GtkWidget *save_file;
gchar *file_name;
int response;
//fájl név
window = GTK_WIDGET(lookup_widget(GTK_WIDGET(button), ''myeditor_window''));
file_name = (gchar*)g_object_get_data(G_OBJECT(window),''file_name'');
if (file_name == NULL){
save_file = gtk_file_chooser_dialog_new(''Save file'', NULL,
GTK_FILE_CHOOSER_ACTION_SAVE,
GTK_STOCK_SAVE, GTK_RESPONSE_OK,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
NULL);
response = gtk_dialog_run(GTK_DIALOG(save_file));
if (response == GTK_RESPONSE_OK){
file_name = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(save_file));
g_object_set_data(G_OBJECT(window), ''file_name'', file_name);
g_message(''%s(): file name is: %s'', __func__, file_name);
}else if (response == GTK_RESPONSE_CANCEL){
gtk_widget_destroy(save_file);
return;
}
gtk_widget_destroy(save_file);
}
//fájl név megvan
//xml dokumentum elõállítása
document = xmlNewDoc(''1.0''); //új dokumentum a memóriában
document -> children = xmlNewDocNode(document, NULL, ''doc'', NULL); //gyökérelem létrehozása
styles = xmlNewChild(document -> children, NULL, ''styles'', NULL); //stílusok
text = xmlNewChild(document -> children, NULL, ''text'', NULL); //szöveg - tulajdonságokkal
text_view = GTK_TEXT_VIEW(lookup_widget(window, ''myeditor_textview''));
text_buffer = gtk_text_view_get_buffer(text_view);
gtk_text_buffer_get_start_iter(text_buffer, &start_line);
end_line = start_line;
gint counter = 1;
while (!gtk_text_iter_is_end(&end_line)){
gtk_text_iter_forward_to_line_end(&end_line);
the_text = gtk_text_buffer_get_text(text_buffer, &start_line, &end_line, TRUE);
/*if (activ_tags != NULL){
g_object_get(G_OBJECT(g_slist_nth_data(activ_tags, 0)), ''name'', &name, NULL);
g_object_get(G_OBJECT(g_slist_nth_data(activ_tags, 0)), ''font'', &font, NULL);
}else{
name = ''Default'';
font = ''Arial Normal 8'';
}
//stílus
style = xmlNewChild(styles, NULL, ''style'', NULL);
xmlSetProp(style, ''name'', name);
xmlSetProp(style, ''font'', font);
//szöveg
property = xmlNewChild(text, NULL, ''proporty'', the_text);
xmlSetProp(property, ''style'', name);*/
/*******************************************************************************************/
activ_tags = gtk_text_iter_get_tags(&start_line);
gchar *n;
n=g_strdup_printf(''%d. style'', counter);
counter=counter+1;
style = xmlNewChild(styles, NULL, ''style'', NULL);
xmlSetProp(style, ''name'', n);
g_message(''ITT VAN! n:%s counter: %d'', n, counter);
for(p = gtk_text_iter_get_tags(&start_line); p != NULL; p = g_slist_next(p))
{
gchar *name;
g_object_get(G_OBJECT(g_slist_nth_data(p, 0)), ''name'', &name, NULL);
//g_message(''Tag neve: %s'', name);
if( strncmp(name, ''justify'', 7) == 0){
gchar *m;
m=g_strdup_printf(''%s'',name);
m = &m[8];
//g_message(''\t\tjustification:\t\t%s'', m);
xmlSetProp(style, ''justification'', m);
//g_free(m);
}else if( strncmp(name, ''foreground:'', 11) == 0){
gchar *m;
m=g_strdup_printf(''%s'',name);
m = &m[12];
//g_message(''\t\tforeground:\t\t%s'', m);
xmlSetProp(style, ''foreground'', m);
//g_free(m);
}else if( strncmp(name, ''background:'', 11) == 0){
gchar *m;
m=g_strdup_printf(''%s'',name);
m = &m[12];
//g_message(''\t\tbackground:\t\t%s'', m);
xmlSetProp(style, ''background'', m);
//g_free(m);
}else if( strncmp(name, ''indent:'', 7) == 0){
gint *ind;
g_object_get(G_OBJECT(g_slist_nth_data(p, 0)), ''indent'', &ind, NULL);
//g_message(''\t\tindent:\t\t\t%d'', ind);
xmlSetProp(style, ''indent'', ind);
}else if( strncmp(name, ''own:'', 4) == 0){
gchar *font;
gint *left_margin;
gint *right_margin;
gint *pixels_above_lines;
gint *pixels_below_lines;
gint *pixels_inside_wrap;
g_object_get(G_OBJECT(g_slist_nth_data(p, 0)), ''font'', &font, NULL);
g_object_get(G_OBJECT(g_slist_nth_data(p, 0)), ''left-margin'', &left_margin, NULL);
g_object_get(G_OBJECT(g_slist_nth_data(p, 0)), ''right-margin'', &right_margin, NULL);
g_object_get(G_OBJECT(g_slist_nth_data(p, 0)), ''pixels-above-lines'', &pixels_above_lines, NULL);
g_object_get(G_OBJECT(g_slist_nth_data(p, 0)), ''pixels-below-lines'', &pixels_below_lines, NULL);
g_object_get(G_OBJECT(g_slist_nth_data(p, 0)), ''pixels-inside-wrap'', &pixels_inside_wrap, NULL);
//g_message(''\t\tfont:\t\t\t%s'', font);
xmlSetProp(style, ''font'', font);
//g_message(''\t\tleft-margin:\t\t%d'', left_margin);
xmlSetProp(style, ''left-margin'', left_margin);
//g_message(''\t\tright-margin:\t\t%d'', right_margin);
xmlSetProp(style, ''right-margin'', right_margin);
//g_message(''\t\tpixels-above-lines:\t%d'', pixels_above_lines);
xmlSetProp(style, ''pixels-above-lines'', pixels_above_lines);
//g_message(''\t\tpixels-below-lines:\t%d'', pixels_below_lines);
xmlSetProp(style, ''pixels-below-lines'', pixels_below_lines);
//g_message(''\t\tpixels-inside-wrap:\t%d'', pixels_inside_wrap);
xmlSetProp(style, ''pixels-inside-wrap'', pixels_inside_wrap);
}else{
g_message(''HA EZT AZ ÜZIT MEGLÁTOD, AKKOR VMI BAJ VAN!'');
g_message(''name: %s'', name);
}
}
/************************************************************************************/
//szöveg
property = xmlNewChild(text, NULL, ''proporty'', the_text);
xmlSetProp(property, ''style'', n);
g_free(n);
gtk_text_iter_forward_line(&start_line);
}
//xml dokumentum elõállítása - befejezve
//fájlba mentés
if (!xmlSaveFormatFileEnc(file_name, document, ''UTF-8'', 1)){//memóriában levó állomány mentése
g_error(''Error saving document: %m'');
}
//fájlba mentés - befejezve
}
Gomblenyomásra a szövegszerkesztőben lévő szöveg bekezdésenkénti ( soronkénti ) lementését végzi xml formátumba ( bekezdésenként léptet a stylusok miatt *minden bekezdéshez társít 1db stylust -nincs stylus átlapolódás bekezdéseken belül ill között. ).
Eléggé nagy a kód és nehezen találom meg a hibákat. Van amikor jól műxik, van amikor rosszúl és van amikor fagy -eléggé rendszertelenűl. Valszeg változó felszabadítási problémákból elég sok lesz, nem tom.
Légyszi segítsetek a hibákat kiszűrni, akinek kell a progi tesztelés miatt msn -en át tudom küldeni. ( linux alatt írtam )
Előre is köszi!
Forest-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Hi!
Próbálom a linux alatt fejlesztett progimat átvinni winre, de nagyon nem megy...
Feltelepítettem a dev-c++ + minGW -t együtt + leszedtem a legujabb libeket innen:
ftp://ftp.gnome.org/pub/gnome/binaries/win32/
kb ezeket:
libgnomeui
libgnome
gtk+
pango
glib
stb...
mindig a legujabbat és mindig a dev-esett. Kitömörítettem őket 1-1 mappába és a dev-c++ -ban a fordító beállításainál hozzáadtam a bin, lib és include mappákat.
Tudtam, hogy ennyi még nem elég,de próbának rányomtam a fordíásra és kiírta, hogy a gnome.h nem található, pedig az is ott van a belinkeltt libek között...
Mit csináltam rosszul?
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Forest_roby #2311 üzenetére
jó, ez nagyából megvan, de most kismillio *****.h file-t hiányol.
-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Elegem van! soha nem fogok win-re fejleszteni!!!!
lefordult a progi nagy nehezen -akarom elindítani erre elkezd dll -eket kunyerálni.....
áááááá
Esetleg vki tudja, hogy mé sz<>pat ez engem?
mod:
dll-ek:
iconv.dll
intl.dll
libatk-1.0-0.dll
libglib-2.0-0.dll
libgobject-2.0-0.dll
bemásoltam a mappájába, akkor meg g_assert -el kilépett.
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
arra akarsz kijukadni, hogy a gcc -nek van olyan kapcsolója, amivel a fordításkor hozzá lehet adni a dll -eket a progihoz, mert ha igen, akkor ''lökjél meg'' légyszi azzal a szóval ami kell a forrdításhoz....
de ha nem akkor..... akkor nem értem, hogy mit akarsz itt ezzel....
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
HI!
c nyelv!
Egy mátrix v. mátrix szerű dolog kellene nekem. Lényeg az, hogy két szám paraméter alapján érjek el egy értéket!!! -nyilván hogy ciklusban tudjam keresni az adott elemeket....
ilyesmi:
t[1,1] t[1,2] t[1,3] t[1,4]
t[2,1] t[2,2] t[2,3] t[2,4]
t[3,1] t[3,2] t[3,3] t[3,4]
t[4,1] t[4,2] t[4,3] t[x,y]
az y -nak van felső korlátja, max 13 asszem, de az x vagyis a sorok száma az változó lehet...
egyes oszopok char tipusuaknak kellene lennie és egyeseknek meg int tipus kellene, de ha csak egy tipussal megy akkor inkább a char-t választanám.
So, nem tudom, hogy hogy lehet ilyet csinálni c -ben, de nagyon sűrgősen szükségem lenne rá. Talán strukurával vhogy, de nem tudom.......
Légyszi segítsetek!
Előre is köszi
Forest
mod.: Lehet, hogy csak 12:00 után tudom megnézni a válaszokat, de sajna az is lehet, hogy csak holnap, pedig nagyon szükségem lenne a válaszra.... : (
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Jester01 #2331 üzenetére
pm 12:00 : )
Megjöttem. Kipróbálom ezt a kétdimenziós tömböt....
Mi az az union? Egy egyszerű példával nem mutatnád be a használatát? /egy oszlopba csak számos v. csak betűk kerűlnének, ilyen szempontból nincs keveredés..../
Ezt is nagyin köszi....-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
még egy kérdés!
Van egy txt file, mondjuk max 150kb méretű.
Az első két sort ki kellene benne cserélni 1 db sorra és elmenteni.
Plus ugyan ez vissza.... /1 sor helyére 2 sort tenni és elmenteni...
Ezt hogy kell csinálni, persze külön-külön?
mod: az elmentést azt megoldom! : )
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Jester01 #2334 üzenetére
asszem maradok a kétdimenziós tömbnél. atoi -val és g_strdup_printf -fel ide-oda alakítgatom, ahogy kell. -bár lehet, hogy nem ez a legenergiatakarékosabb eljárás, de eddig még nem volt olyan vészes....
thx-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Bazsesz #2360 üzenetére
Hi!
Szemaforok: légyeg, ha egy erőforrást egyszerre két folyamat akar használni, akkor ütköznének a folyamatok, -biztos hogy hibás eredmények születnének. Most cifrázhatnám, hogy milyen sulyos hibák történhetnének, de el tudjátok képzelni... No, első gondolatra válozókkal meglehetne oldani, a problémát ( ezt most nem részletezem ) , de az a probléma, hogy ott ugyanúgy összeakadna a progi, ez nem megoldás. A szemafórok az oprendszer (LINUX) által biztosított olyan változók, amiknél nem fordulhat elő az, hogy egszerre használják ugyanazt az eszközt... ( hogy ezt hogy érik el, az legyen egy okosabb embernek az összefoglalója ).
Szóval ilyen problémák megoldására a szemaforokat kell használni....
Használat:
A szemaforokon két műveletet értelmezünk:
Csökkentés és Növelés
A szemafor értéka 0 és 1 lehet. Ha 0 -akkor blokkolt a folyamat és ha 1 akkor szabad a futás.
Csökkentés:
Amikor a progi belépni akar a kritikus szakaszba akkor fog csökkenteni, ha a szemafor 0 volt akkor várólistára kerűl a folyamat, ha 1 volt akkor a folyamat lefut és a szemafor 1-ről 0-ra csökken.
Növelés:
A folyamat végrehajtása után történik meg. A szemafort 1-re álitja. Ha lenne olyan folyamat, amely e miatt a szemafor miatt volt blokkolt állapotban, arról a Linux gondoskodik, hogy az felszabaduljon a blokkolt állapotból.
(dióhélyban /majd vissza kell olvasnom, hogy mennyi baromságot írtam ide le....)
int semget(...)
int semctl(...)
int semop(...)
fv-eknek érdemes utánna nézni, sajna a progi amit tudnék adni 125 soros és most nincs kedvem begépelni, de google-on biztos sokat találsz....
remélem azért nem volt teljesen hasztalan ezt begépelnem...
Sok sikert!
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Jó reggelt!
program make dist -elésénél, hogy lehet megadni, hogy egy plus mappát is disteljen be(, ahol a program saját header file -jait tárolom) (/src/own/... <-- itt vannak az általam készített header fileok)???
Előre is köszi!-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Jester01 #2367 üzenetére
( kicsit kidőltem )
PACKAGE_CFLAGS = -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2
PACKAGE_LIBS = -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lfontconfig -lXinerama -lXi -lXrandr -lXext -lXcursor -lXfixes -lpango-1.0 -lcairo -lXrender -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -lxml2 -lz -lm
szerintem ezek a fontos részek... Nem tom, vhogy nem egyértelmű... ha egy névvel ellátott libet akarnék hozzáadni az TALÁN menne de ez a saját mappás dolog nem...
-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Speeedfire #2435 üzenetére
notepad? esetleg gvim?
-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Speeedfire #2437 üzenetére
pedig a másik - gvim - való igazán programozásra és persze még rengeteg másra...
-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
hi!
Magából a sudokus dologból kimaradnák, de csupán a forrást nézve kezdetnek nem is rossz, csak fordítva kell : )
sudoku[0][0] = 1;
sudoku[0][1] = 2;
...
..
.
és akkor nyilván vmilyen bonyolultabb ciklussal ( ciklusba ágyazott ciklussal fel lehet tölteni )
A kiértékelés ugyan így ciklussal mehet, ez nyilván egy kétparaméteres tömb, ha az egyik paraméterét fixen hagyod és a másikra futtatsz egy ciklust akkor megvan az az adott sor v. oszlop.
Nem igazán tudom, hogy mire vagy kíváncsi? Írjak egy forrást, ami összead egy sort?
Mindenesetre sok sikert!
Forest-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz PazsitZ #2446 üzenetére
hát igen, mátrix determinánsának kiszámolásából itt nem sok hasznát vennénk.
/én már letudtam a lin algebra 1 -et és a 2-őt is, könnyű tárgy, de nem sok gyakorlati haszna van, ha engem kérdeztek... /
Bocs az offért!-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Lortech #2452 üzenetére
én mit info - fizika szakos átérzem a vektorok fontosságát, hasznát ( elektromosságtan, kvantumfizika v. fluxus, gradiens, többváltozós fv integrálok ) de a martixoknak és determinánsuknak még egyszer se vettem hasznát!
De igazadvan, elhamarkodtam ezt a választ - tényleg fontos a lin algebra!
mod: ''nem sok gyakorlati haszna van, ha engem kérdeztek...''
rosszúl fogalmaztam, itt csak a matrixokra gondoltam!
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Egyetem, első félév, első óra programozásból.
Tanár megkérdezki, hogy ki tud programozni legalább egy nyelven ( az tegye fel a kezét ), majdnem az egész osztály feltette a kezét.
Tanár - jó akkor aki pascal nyelven tud programozni, az tegye le a kezét, mert az nem programozási nyelv!
Hirtelen letüntek a kezek 90-95%-a.
Nem igazán kedvelem a tanárt, de tény hogy NAGYON tud programozni.
/no mindegy!/
egyébként én is a c -t ajánlanám. mély víz, de ami nem ől megy az......-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Hi!
Szeretnék bizonyos fizikai jelenségeket modellezni - 2d ill. 3d -ben, de nem tudom, hogy mivel ill. hogyan álljak neki. Eddig a gnuplot-ot erőltettem, de nem tudtam belőle animált grafikonokat kihozni, sőt többé - kevésbé csak ps-formátumban sikerült lementenem a grafikonokat. A ps -ből meg nem tudok avi-t vagy mozgó dolgot összehozni, szóval ez nekem nem jó.
Elvárásom lene, hogy windowson és linuxon is menjene a dolog leprogramozása - szóval viszonylag platform független nyelv kéne. Ami igazán jó lenne az a c vagy a java nyelvek lennének. c-ben úgy tudom, hogy van vmi vektor grafika dolog, csak nem tom, hogy-hogyan műxik és nem tom, hogy alakalmas -e a kivánalmaimnak.
Az nem baj, ha kicsit fapados a dolog leprogramozása - szeretem a retró dolgokat!
( A flash-re én is gondoltam, de nekem nagyon nem jött, be és linux alatt ugy se lehet csinálni ugyhogy az kiesett. )
Nos, asszem eléggé körülírtam a dolgot. Várom javaslataitokat, tanácsokat, linkeket!
Előre is köszönöm!
Forest
ui.: modellezés: mozgásegyenletek leprogramozása -> kezdőfeltételek megadása -> t időpontban, hogy néz ki a rendszer. ez érdekelne igazán!!-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
jól hangzik! már hallottam vhol ezt a szót!
Na, komolyabban - lehet opengl-ben programozni?! Ezek szerint igen! Mit érdemes tudnom róla, mielött nekiállnék?
(persze én is utánna nézek a dolognak!!)
köszi a tippet, elsőre nem rossz!
mod: nagyon is jól hangzik a dolog!!
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Hi!
Gondolom a 3. pont szól nekem. Jól írtad - fizikai rendszereket szeretnék modellezni.
pl.: csúcsára állított kúp - alfa hajlásszögű, palástján egy golyó h magaságban és mondjuk feltétel legyen, hogy egyenletes körmozgást végez.
Ha megadom, hogy t0 időpontban hol a golyó, akkor hol lesz a golyó t1 időpontban.
omega^2=g/(h*tg^2alfa) ami a mozgásegyenletekből kijön.
Na, egy ilyen rendszert szeretnék modellezni első körben. t0 -tól t1 időpontig szeretném látni a mozgást, + az egyik sarokba kiiratni a koordinátákat ( x, y, delta szögelfordulás, h magaság bár az itt épp konstas )
A kérdés az volt, hogy ezt mivel lehetne elkészíteni!
A Blander alkalmas rá?
Egyébként a c elég jól megy az opengl meg most felkeltette az érdeklődésemet, úgyhogy ezzel foglalkozni fogok!!
Mindenesetre köszi a segítséget!
Forest-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
akkor nekem pont hogy az opengl kell, mert a fizikai részét én szeretném beprogramozni - ez az egyik fő lényege a dolognak. A másik meg a megjelenítés ( animált formában ) - erre akkor elvileg az opengl alkalmas.
( Egyébként most így hirtelenjében néztem pár pdf-et opengl -el kapocsolatban és mindegyik álló képek megjelenítéséről szolt - az nekem nagyon kevés - arra a gnuplot is képes. )
Köszi mégegyszer! <-- ez nem azt jelenti, hogy ne írjatok több okossat!-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Luck Dragon: Asszociációs játék. :)
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Kormányok / autós szimulátorok topicja
- Elektromos rásegítésű kerékpárok
- E-book olvasók
- Okos Otthon / Smart Home
- Kerékpárosok, bringások ide!
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Vezeték nélküli fülhallgatók
- Apple notebookok
- További aktív témák...