Hirdetés

2024. május 1., szerda

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Programozás topic (kiemelt téma)

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-12-13 06:18:28

LOGOUT.hu

Összefoglaló kinyitása ▼

Hozzászólások

(#2401) Radíros válasza Joooe (#2400) üzenetére


Radíros
csendes tag

Másrészt éllistákban ábrázolva
az erős komponensek előállítására
(kétszeres mélységi bejárással),
4,2GHz órajellel (hanyagolva, mint alább),
hozzávetőleg ezres nagyságrendű
az élenként / csúcsonként végezhető
elemi műveletek száma.

Nincs tapasztalatom, hogy az I/O
és a háttérban futó op.rendszer
ebből mennyit emészt fel, de így
elsőre nem tűnik lehetetlennek.

(Pl. benyalni egyben az inputot...? :U )

(#2402) Joooe válasza Radíros (#2401) üzenetére


Joooe
tag

Nem az input benyalása a megoldás asszem, elvileg megfelelő pufferrelést séróból meg kéne hogy oldja egyszeri folyamatos végigolvasás esetén.
Maga az is műveletigényes egy kicsit, hogy a szöveges formában tárolt számokból összeállítani az inteket.

De érdekes, ezt tudja valaki miért lehet lassabb?
<fstream>-mel:
ifstream be;
be.open(''be.txt'');

int n,m,p;
be >> n;
be >> m;
be >> p;
p--;

int honnan, hova;
for (int i=0; i<m; i++)
{
be >> honnan;
be >> hova;
honnan--;
hova--;
// itt csinálunk valamit
}
be.close();

<stdio.h>-val:

int n,m,p;
FILE* be = fopen(''be.txt'',''rt'');

fscanf(be,''%d %d %d'',&n,&m,&p);
p--;

int honnan, hova;
for (int i=0; i<m; i++)
{
fscanf(be,''%d %d'',&honnan, &hova);
honnan--;
hova--;
// itt csinálunk valamit
}
fflush(be);
fclose(be);


Az utóbbi kb. fele-haramada idő alatt végez egy 1 megás szövegfájllal.
Nem nagyon szoktam STL filekezelést használni, gondolom ennyire nyomorék nem lehet, mit szúrok el?


[Szerkesztve]

Hogy mit gondolok a nyugati civilizációról? Azt hiszem, jó ötlet lenne.

(#2403) Radíros válasza Joooe (#2402) üzenetére


Radíros
csendes tag

Nem az operátor-túlterhelésből adódó,
a késői dinamikus kötés miatti vrtuális
függvénypointer-táblában való keresés
a magyarázat...?

(Ez csak félig blöff. :DDD
Az meg nyilván trivi, hogy a C++ kódnak
nagyobb a header-je, mint a C-ben foganté.)

(#2404) gaben


gaben
aktív tag

A progim egy konvertáló progi.5 fájlból áll.Van egy .c ,egy .h még egy .c, egy makefile és egy feladat nevű fájl.Na most ha a kommenntet átírom a .c-ben(akármelyikben),akkor a make parancsra ezek a hibák adódnak:


gcc -c conv.c
conv.c: In function `OUT':
conv.c:17: error: parse error before ')' token
conv.c: In function `article':
conv.c:27: error: parse error before ')' token
conv.c: In function `artheader':
conv.c:44: error: parse error before ')' token
conv.c: In function `title':
conv.c:60: warning: comparison between pointer and integer
conv.c:61: warning: comparison between pointer and integer
conv.c:60: error: label `tipus' used but not defined
conv.c: In function `para':
conv.c:88: error: parse error before ')' token
conv.c: In function `command':
conv.c:95: error: parse error before ')' token
conv.c: In function `emphasis':
conv.c:104: error: parse error before ')' token
conv.c: In function `programlisting':
conv.c:112: error: parse error before ')' token
conv.c:116: error: `TXT' undeclared (first use in this function)
conv.c:116: error: (Each undeclared identifier is reported only once
conv.c:116: error: for each function it appears in.)
conv.c: In function `variablelist':
conv.c:122: error: parse error before ')' token
conv.c:124: error: `TXT' undeclared (first use in this function)
conv.c: In function `varlistentry':
conv.c:129: error: parse error before ')' token
conv.c:131: error: `TXT' undeclared (first use in this function)
conv.c: In function `term':
conv.c:136: error: parse error before ')' token
conv.c:138: error: `TXT' undeclared (first use in this function)
make: 1254-004 The error code from the last command is 1.


Mi leheta gond??Nagyon fontos lenne a megoldás,fél évem múlik rajta...
Előre is köszi.

(#2405) cucka válasza gaben (#2404) üzenetére


cucka
addikt

például conv.c:17: error: parse error before ')' token azt mondja, hogy a conv.c 17. sorában valamit nem tud értelmezni. mivel senki nem tudja, hogy mi lehet abban a 17. sorban (vagy valamelyik előtte lévőben) ezért kicsi rá az esély, hogy választ kapj. valószínüleg elírtál valamit.

(#2406) föccer


föccer
nagyúr

hyz.

Adott Delphi 3.1-ben:

Type
Rpont = record
index: integer;
ido: double;
ut: double;
ero: double;
end;


Ameresiadatok = array [0..adatokszama] of Rpont;


valamint


var

nyersadatok: Ameresiadatok;



Feladat:

A tárolt adathalmazból x-> ut; y-> ero grafikont rajzolni.

Amin elindultam:

for i:= 0 to (nyersadatokszama-1) do
begin
x1:= nyersadatok.ut;
x2:= nyersadatok[i+1].ut;
y1:= nyersadatok
.ero;
y2:= nyersadatok[i+1].ero;
with form2.Image1.Canvas do
begin
moveto(x1,x2);
lineto(y1,y2);
end;
end;


Ez eleddig mind szép és jó, csak:

Inkompatibilis tipusok: integer-double.

az ut és ero adatok double tipusban vannak tárolva <és előzőekben számolva>.


Kérdésem:
Hogyan fogom tudni kirajzoltatni azt az átkos grafokont.

Köszönom a segítséget.


üdv.: föccer

Építésztechnikus. Építőmérnök.

(#2407) Radíros válasza föccer (#2406) üzenetére


Radíros
csendes tag

Ha nincs explicit típuskonverzió a Delphi 3.1-ben (ki emlékszik már erre fejből...),
akkor használj valami egészre kerekítő matematikai függvényt...

(Ha szabad egy megjegyzés: javaslom, hogy használj valami átskálázást is,
mert így elég szűk lesz a látványosan megjeleníthető adatsoraid értéktartománya.)

(#2408) cucka válasza Radíros (#2407) üzenetére


cucka
addikt

emlékeim szerint implicit típuskonverzió nincs.
explicit van, ha jól tudom, a round függvény pl. megfelelő lenne.

[Szerkesztve]

(#2409) gaben válasza cucka (#2405) üzenetére


gaben
aktív tag

11-20. sorig a program

{
if (s == '˙') fprintf(outfile,''%c'',34);
else fprintf(outfile,''%c'',s
);
}
else
{
if (Out_Format==HTML)); /*17. sor*/
else printf(outfile,''\n'');
}
}
void article(char* s,int out,int tipus)

De csak az elején a kommentet írom át....Akkor miért dob ki hibát e miatt? :F

[Szerkesztve]

(#2410) Radíros válasza cucka (#2408) üzenetére


Radíros
csendes tag

(A hipertípusos Pascal-ős miatt az implicitet sejtettem,
de olyan sincs mint a C-ben:

double d;
int i;
i = (int) d;

???)

(#2411) Radíros válasza gaben (#2409) üzenetére


Radíros
csendes tag

a 17. SORBAN NEM HIÁNYZIK EGY NYÍTÓZÁRÓJEL...?

(#2412) cucka válasza gaben (#2409) üzenetére


cucka
addikt

if (Out_Format==HTML));
nézd már meg azokat a zárójeleket.

azért egy ilyen bonyolult hibát illene egyedül megtalálni, főleg ha a fordító is írja, hogy az illető sorban a )-nél probléma van.

(#2413) cucka válasza Radíros (#2410) üzenetére


cucka
addikt

ilyen nincs benne, mint amit írsz.
van round és trunc függvény, azokat lehet használni.

(#2414) Joooe válasza Radíros (#2410) üzenetére


Joooe
tag

i = (int) d;

Ugyanez pascalban:
i:=integer(d);

Ha jól emlékszem ehhez túros pacalban kellett még egy {$R-} direktíva.

Hogy mit gondolok a nyugati civilizációról? Azt hiszem, jó ötlet lenne.

(#2415) Joooe válasza gaben (#2404) üzenetére


Joooe
tag

Nem tudom milyen makrókat (#define) használsz, de azokra is figyelj oda, mi történik a behelyettesítéskor... :U

Hogy mit gondolok a nyugati civilizációról? Azt hiszem, jó ötlet lenne.

(#2416) gaben válasza cucka (#2412) üzenetére


gaben
aktív tag

A nyitó zárójelet már én is próbáltam,de ugyanaz a hiba....
Ha 2 nyitó és 2 záró ill. 1-1 van mindkettőből akkor is ugyanaz a hiba van.

(#2417) Jester01 válasza gaben (#2416) üzenetére


Jester01
veterán

Akkor tedd fel valahová az egész cuccot, hogy meg tudjuk nézni.

Jester

(#2418) BGabor73


BGabor73
csendes tag

Sziasztok! Webprogramozásban jártas, lelkes, gyors és pontos munkatársat keresünk (PHP, MYSQL, Java) azonnali kezdéssel. Fizetés megállapodás szerint havi fix, vagy projekt alapon. Jelentkezéseket pár soros bemutatkozással várok, részletes projektleírást küldök.Üdv: Gábor g.balatoni@gyarialkatresz.hu

(#2419) gaben válasza Jester01 (#2417) üzenetére


gaben
aktív tag

Wgy másik gépen is kipróbáltam,és már nem írta ki azt a sok hibát,mint előtte,1-et,de azt kijavítottam.
Mi okozhatja azt,hogy egyik gépen máshogy fordul le ,mint a másikon?
A programot feltettem egy tárhelyre: [link]
Viszont kelle egy kis segítség:
a conv.h-ban van 3 globális változó za elején ezt meg kellene szüntetni,hogy ne globális legyen.Ennek az átalakításában kéne segítség,nem sok munka lehet,de én nem tudom sajnos hogy kellene...
Ennyi kellene,nagyon hálás lennék!
Előre is köszönöm!

[Szerkesztve]

(#2420) Radíros válasza gaben (#2419) üzenetére


Radíros
csendes tag

Szerintem nem ötperces...
Kíváncsian várom ki vállalja be.

Hogy ne csak destruáljak:
1. minden függvényben - ahol a kiiktatandó változókra hivatkozás történik -
a paramétereket egészítsd ki az adott változót átvevő formális paraméterrel.
2. minden függvényt, ami meghívja az előző lépésben átalakított függvény(eke)t,
szintén egészítsd ki, mint 1.-ben
3. ismételd 2.-t, amíg el nem fogy a hívási lánc
4. végül írd át a függvényhívásokat a kiegészített paraméterezés szerint
5, ja, és a hívási gyökerében definiáld a lokális változókat is...
Egyszerű nem...? :))

[Szerkesztve]

(#2421) Radíros válasza BGabor73 (#2418) üzenetére


Radíros
csendes tag

Mi a gázsi..? Ha volt orcád idepottyantani, akkor teríts...!
:(((

(#2422) Jester01 válasza gaben (#2419) üzenetére


Jester01
veterán

Azt már látom, hogy a makefile az rossz, mivel nem tartalmazza a header fájlokat.

A globális változókat a kollega által írt módon kell eltüntetni. Jelen esetben nem nagy ügy, mivel a conv.c-ben jórészt azonos típusú függvények vannak és csak az outfile változóra hivatkoznak. Vagyis a következõ 5 lépést kell elvégezni:
1. a struct tag típusban a tagfunction prototípusához fel kell venni az outfilet plusz paraméternek.
2. az OUT függvénynek is be kell adni a az outfile paramétert.
3. a conv.c-ben az összes tagfunction implementációt az 1. pontnak megfelelõen át kell írni, és az OUT függvényhívásokban át kell adni a plusz paramétert.
4. a convert.c-ben a tagfunction és az OUT hívásokban is át kell adni a paramétert.
5. az infile változó az simán lehet lokális a main függvényen belül.

Nem tudom melyik lenne a 3. globális változó :F

Jester

(#2423) föccer válasza cucka (#2413) üzenetére


föccer
nagyúr

Thx a válaszokat.

Odáig eljutottam, hogy valahogy egész számokat kellene varázsolnom a sok tizedes számokból.

Matematikai algaritmust nem tudtam rá kitalálni, de ez a trunc függvény jónak hangzik :)

Még szerencse, hogy a megjelenítés inkább csak tájékoztató jellegűnek kell lennnie. Az adatok kiértékelése a rajzolás pillanatában kész van.



Másik kérdés:


Hogyan tudom megoldani, hogy egy kép /a fentebb kirajzolt grafikon/ teljes képernyősen megjelenjen. Akár helyi menü-vel, akár jobb klikkel /lényegtelen/.

Szóval ameddig elvben jutottam:

Az image1 onclick eseményébe kellene irogatni valamit. Talán ha készítek neki egy külön formot, amit maximalizálok, és erre teszek ki egy nagyobb változatot?

Vagy van ennél egyszerübb megoldás is?

/sry a láma fogalmazásért, de messze nem vagyok programozó... /

thx.


föccer

Építésztechnikus. Építőmérnök.

(#2424) gaben válasza Jester01 (#2422) üzenetére


gaben
aktív tag

Megtudnád nekem csinálni?Nagyon hálsá lennék,ha több időm volan,akkor én is nekiállnék...
Megcsinálod?Nem ingyen kérem....

(#2425) Jester01 válasza gaben (#2424) üzenetére


Jester01
veterán

Azt az 5 lépést kb. 2 perc megcsinálni, csak néhány jólirányzott replace. Ugorj neki!

Jester

(#2426) cucka válasza föccer (#2423) üzenetére


cucka
addikt

a round felfele vagy lefele kerekít.
a trunc kizárólag lefele, negatív értéknél nem tudom, hogy viselkedik.
felfele kerekítéshez is biztos van valami függvény, de a trunc(x)+1 is jó.

(#2427) Jester01 válasza cucka (#2426) üzenetére


Jester01
veterán

a trunc(x)+1 is jó
Kivéve, ha éppen egész számról van szó, nemde?

Jester

(#2428) föccer válasza Jester01 (#2427) üzenetére


föccer
nagyúr

szinte kizárt, hogy pontosan egész szám jöjjön ki. Ha meg mégis, nem történik semmi, max nem lesz annyira száp az ábrám =).

Thx. Sokat segítettetek.

üdv.: föccer

Építésztechnikus. Építőmérnök.

(#2429) cucka válasza Jester01 (#2427) üzenetére


cucka
addikt

igen, ezt benéztem, nem voltam elég pontos :)

(#2430) emitter


emitter
őstag

struct position {
int turm;
int welche;
} scheiben[];

...

scheiben[j] = (struct position*)malloc(sizeof(struct position));


erre miért kapom azt a hibát, hogy ''incompatible types in assignment''?? (eléggé elszoktam a c-től, jó féléve nem használtam.. biztos vmi triviális dolog van mögötte..)
thx

[Szerkesztve]

(#2431) Jester01 válasza emitter (#2430) üzenetére


Jester01
veterán

Ha egyesével akarod foglalni az elemeket, akkor még egy indirekció kell. Ha meg egyben, akkor nem kell a [j] és persze nem egy darabot kell foglalni. Valószínűleg ez utóbbi kell neked, kb. így:

scheiben = (struct position*)malloc(sizeof(struct position) * N);

Jester

(#2432) emitter válasza Jester01 (#2431) üzenetére


emitter
őstag

‘scheiben’ has an incomplete type
^--most ezt mondja

(#2433) emitter válasza emitter (#2432) üzenetére


emitter
őstag

oké, megoldódott :) köszi!

(#2434) Jester01 válasza emitter (#2432) üzenetére


Jester01
veterán

A scheiben típusa struct position*. Szóval az egész ilyen:

struct position {
int turm;
int welche;
};

struct position *scheiben = (struct position*)malloc(sizeof(struct position) * N);

Jester

(#2435) Speeedfire


Speeedfire
nagyúr

sziasztok! valami windowsos felületű editort keresek! ha tudnátok benne segíteni!
quincy és devc++ kilőve!
előre is köszi!

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#2436) Forest_roby válasza Speeedfire (#2435) üzenetére


Forest_roby
őstag

notepad? esetleg gvim? :F

-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D

(#2437) Speeedfire válasza Forest_roby (#2436) üzenetére


Speeedfire
nagyúr

köszi! a notepad biztos jó lesz! :R :DD
a másikat nem ismerem!

Fotóim https://fb.com/toth.szabolcs.art || IG: http://instagram.com/_tothszabolcs_ || Weblapom http://szabolcs-toth.com

(#2438) Forest_roby válasza Speeedfire (#2437) üzenetére


Forest_roby
őstag

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

(#2439) PazsitZ válasza Speeedfire (#2435) üzenetére


PazsitZ
addikt

ConText progi nekem nagyon bevállt. Nézd meg próbáld ki!
A link: [link]

[Szerkesztve]

- http://pazsitz.hu -

(#2440) cucka válasza Forest_roby (#2438) üzenetére


cucka
addikt

szoktam programozni, de a vi-t bottal sem piszkálnám. :D
notepad++ nálam nagyon bevált, főleg a code folding miatt. ha nincs erre szükséged, akkor med, esetleg textpad, editplus, ultraedit, stb.

[Szerkesztve]

(#2441) mobal


mobal
MODERÁTOR

sziasztok!
kéne néhány kód részlet (értsd valakí írja meg nekem! ha akarjátok)

- kéne egy olyan ami megnézi, hogy sikerült e megnyitni egy filet
- kéne egy olyan ami meg megnézi, hogy üres e a file
- kéne egy olyan ami megnézi hogy csak! szám és szóköz karakter van e a fileban

köszi!

++még!

hogy kell egy ilyen file oszlopait és sorait összeadni?

1 2 0 3 4 5 6 7 8
2 3 0 4 5 6 7 8 9
3 4 0 5 6 7 8 9 1
4 5 0 6 7 8 9 1 2
5 6 0 7 8 9 1 2 3
6 7 0 8 9 1 2 3 4
7 8 0 9 1 2 3 4 5
8 9 0 1 2 3 4 5 6
9 1 0 2 3 4 5 6 7


sudoku solver project. :)

[Szerkesztve]

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#2442) mobal válasza mobal (#2441) üzenetére


mobal
MODERÁTOR

na egy újabb fejlemény. gondolkodtam kodoltam nekem mátrixok kellenének.

valaki :) mátrixot még nemcsináltam!

köszi!

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#2443) mobal válasza cucka (#2440) üzenetére


mobal
MODERÁTOR

jó az a vi csak kicsit ''régi''.

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#2444) PazsitZ válasza mobal (#2441) üzenetére


PazsitZ
addikt


void csak szam es szokoz karakter van-e a fileban()
{
char kar;
int err;
err=0;
while (!feof(be))
{
fscanf(filebe, ''%c\n'', &kar);
if (kar!=32||58<kar||kar<47) err=1;
}
return err;


kéne egy olyan ami megnézi, hogy sikerült e megnyitni egy filet:
[link]
FOPEN - open a file for I/O.
Several additional options can be specified by adding one or more letters to the possibilities listed above.
All of the following options are unique to the GCOS-8 version of C and will not be portable to other implementations.

d
tells ''fopen'' to abort the program (die) with an error message if an error occurs in the open operation or
in I/O performed later on the opened file.
e
displays an error message (on ''stderr'') if an error occurs in the open operation or in any I/O performed
later on the opened file. In this case, the program is not aborted; the I/O function that finds the error
will return the normal error status (if any) once the message has been printed.

Az mit takar, hogy ''mátrixok kellenének''? :F Simán írj fel egyet és lesz.

[Szerkesztve]

- http://pazsitz.hu -

(#2445) mobal válasza PazsitZ (#2444) üzenetére


mobal
MODERÁTOR

köszi!

mátrixok: lövésemsincs. azt nemtanították :(

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#2446) PazsitZ válasza mobal (#2445) üzenetére


PazsitZ
addikt

Mátrixok épp most tanulom Lineáris algebra nevezetű tárgyból :) 28-án vizsga.
Szerintem a sudoku-ban nem igazán tudod felhasználni a mátrix-al/-on való műveleteket.
Def: Legyen T számtest és n,m pozitív egészek. a T számtest feletti Mxn-es mátrixon egyí olyan téglalap alakú táblázatot értünk, melynek m sora és n oszlopa van és elemei T-ből valók.
Ergo igen egy sudoku tábla mátrixnak felel meg, de ez nem hiszem, hogy segít bármit is.

- http://pazsitz.hu -

(#2447) mobal válasza PazsitZ (#2446) üzenetére


mobal
MODERÁTOR

a mátrixot csak annyira használnám, hogy a sorokat és az oszlopokat összedjam. szval gyk tudjam egy elem pozicióját.

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#2448) Lortech válasza mobal (#2447) üzenetére


Lortech
addikt

Írj már egy példát pls, mert én tisztában vagyok mindenféle mátrixszal, de képtelen vagyok megérteni, hogy miben várod a segítséget. :Y :)) Pedig szívesen segítenék.

Thank you to god for making me an atheist

(#2449) mobal


mobal
MODERÁTOR

#define OSZLOP 9
#define SOR 9

sudoku [OSZLOP] [SOR]

1 2 3 4 5
2 3 4 5 6
3 4 5 . .

1 = sudoku[0][0]
2 = sudoku[0][1], sudoku[1][0]

szval igy gondoltama helye.

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#2450) Forest_roby válasza mobal (#2449) üzenetére


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

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Programozás topic (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.