Hirdetés

2024. április 23., kedd

Gyorskeresés

Hozzászólások

(#151) [HUN]Zolee válasza Jester01 (#150) üzenetére


[HUN]Zolee
senior tag

pff, x erteket kellett volna odaírnom ..
Köszi!

[ Szerkesztve ]

''<[HUN]DrH>valaki mondjon egy tuningolos programot a mivel kocsis képeket tudok tuningoloni.'' https://ferromag.aranyoldalak.hu/

(#152) Dead_slow válasza [HUN]Zolee (#149) üzenetére


Dead_slow
tag

HE-HE.
Én is ugyanazt a feladatot kaptam beadandónak, nagyon sokat segítettél :))

(#153) sekli


sekli
addikt

Helo,

Keresgeltem google-lal, de nem sikerult megtalalnom a nagy ekezetes betuk HEX ASCII kodjat....,

http://www.idevelopment.info/data/Programming/ascii_table/PROGRAMMING_ascii_table.shtml

ebben amik bennevannak a DevC++ -ban nem jok...
pl a kis 'é'-nek a kodja a DevC++-ban 0x82, ebben a listaban meg nem az van...

ha valaki tudja, hogy hol vannak a jok, az ne tartsa magaban...

(#154) PazsitZ válasza sekli (#153) üzenetére


PazsitZ
addikt

Nem tudom nekem egy ilyen táblázat [link] van a C könyvemben és nincs benne nagy ékezetes betű. :(
Ezalapján az é betű nálam is 0x82...

[ Szerkesztve ]

- http://pazsitz.hu -

(#155) [HUN]Zolee válasza Dead_slow (#152) üzenetére


[HUN]Zolee
senior tag

Örülök hogy segítettem. De máskor inkább magad csináld meg :P

''<[HUN]DrH>valaki mondjon egy tuningolos programot a mivel kocsis képeket tudok tuningoloni.'' https://ferromag.aranyoldalak.hu/

(#156) Jester01 válasza sekli (#153) üzenetére


Jester01
veterán

Mert az attól függ milyen kódlapot használsz. A devC++ nem tudom mit használhat, azok közül amiket hirtelen megnéztem egyikben sem a 0x82 az é betû.

Jester

(#157) _Kewr_


_Kewr_
csendes tag

Ha valaki tudna nekem mondani egy jó leírást az ncurses használatáról, azt megköszöném.

(#158) .DLL


.DLL
veterán

Előzmény (C++ topic):
DLL:
Üdv! Levelezőn kezdtem C-t tanulni és egy olyan kérdésem lenne hogy milyen függvénnyel lehet karaktert tesztelni, hogy az szám-e vagy betű-e (pl. ahova számot kér a progi ne lehessen kiakasztani betű beírásával.
getch(); esetén elvileg az ASCII kódtábla alapján lehet szűrni hogy csak a 0x30 és 0x39 közötti karaktereket (amik elvileg 0-9-ig a számok) engedje bevinni, de ha scanf( );-el kérek be adatot akkor hogyan lehet ezt megoldani?
Előre is köszönöm a segítséget!

Jester01:
%[0-9]
De ez C nem C++
--------------------------------------------------------
Nos, ezt elvileg így gondoltad scanf("%[0-9]",&a); ? mert így elég fura dolgokat tesz az a-ba:

int a;

main()
{
clrscr();
printf("szám beírása:");
scanf("%[0-9]",&a);
printf("eredmény: %d",a);
getch();
}

bármilyen számot írok be egész más lesz belőle.

Bocs a noobságért tényleg nemrég kezdtem, és nincs is az hogy bemegyek hétfőn és megkérdezem a tanárt..

[ Szerkesztve ]

(P.H.)

(#159) Protezis válasza .DLL (#158) üzenetére


Protezis
őstag

Egy lehetseges megoldas: atoi()

(#160) sekli válasza Jester01 (#156) üzenetére


sekli
addikt

Köszi szépen, PazsitZ neked is... es van valami lehetoseg, hogy megis legyenek nagy ekezetes betuk...? A DevC++-t nem nagyon szertetnem lecserelni, nem mintha nagyon jonak tartanam, csak mar nem nagyon van idom befelyezni, amin most munkalkodom...

(#161) [HUN]Zolee


[HUN]Zolee
senior tag

Megint rakoncátlankodik az progim. Valamiert az ertekadásnál az i=0 , j=1 után hibával elszáll mintha nem lenne több memóriacím lefoglalva.

struct mezo{
int szin;
struct babuk *babu;
};



struct mezo*** init(int sor){
int i,j;
struct mezo ***t;


t=(struct mezo***)malloc(sor*sizeof(struct mezo**));

for (i=0;i<sor;i++) {
t[i]=(struct mezo**)malloc(sor*sizeof(struct mezo*));
}

for (i=0;i<sor;i++){
for (j=0;j<sor;j++) {

t[i][j]->szin=0;
t[i][j]->babu=NULL;
printf("i: %d j: %d\n",i,j);
}
};
return t;
}

nem értem miért csinálja ezt velem. :(

''<[HUN]DrH>valaki mondjon egy tuningolos programot a mivel kocsis képeket tudok tuningoloni.'' https://ferromag.aranyoldalak.hu/

(#162) Jester01 válasza [HUN]Zolee (#161) üzenetére


Jester01
veterán

Hát mert az elemeket nem foglaltad le egyáltalán.

Jester

(#163) .DLL válasza Protezis (#159) üzenetére


.DLL
veterán

Ez kellett, sőt a társai is jók (atol, atof) köszi szépen!!
Nem lett nagy szám, de kíváncsi vagyok a véleményetekre: Progi (zip)

[ Szerkesztve ]

(P.H.)

(#164) [HUN]Zolee válasza Jester01 (#162) üzenetére


[HUN]Zolee
senior tag

francba, nem csökkentettem a mutatók számát, látszik hgy még új nekem ez. :(
Köszi :R

''<[HUN]DrH>valaki mondjon egy tuningolos programot a mivel kocsis képeket tudok tuningoloni.'' https://ferromag.aranyoldalak.hu/

(#165) Orb1337


Orb1337
tag

Halihó!
Valaki megtudná csinálni ezt a progit nekem:
Készítsen programot, amely szavakat kér be pont végjelig, s ezekből a szavakból összeállít egy mondatot úgy, hogy az egy külön stringként legyen letárolva. Ezután számolja meg a mondatban található kisbetűs rövid magánhangzókat.
A felévi jegyem múlik rajta.

(#166) .DLL válasza Orb1337 (#165) üzenetére


.DLL
veterán

Én megpróbálom, már a magam gyakorlására, a fenti kis gyakorló progit is egy hétig írtam, bár miután itt kérdeztem, és választ kaptam már gyorsan ment! ;) Rám is vár egy zh pótlás és egy vizsga is, (csak nekünk ott adják ki a feladatot..) :\

(P.H.)

(#167) rOwLeY


rOwLeY
őstag

Emberek, lenne vki estleg vmi fejében vállalna nekem beadandó házi megírást?!BME villany első félév!

(#168) darnellsmith


darnellsmith
senior tag

1. Ellenőrzötten bekér egy pozitiv egész számot. A számnak 100 és 200 közé kell esnie. Az elfogadott értéket nevezzük n-nek.
2. Ezután n darab pozitiv háromjegyű egész számot kell végtelenszámgenerátorral előállítania és közben képernyőre 4 pozicios mezőszélességgel kiiratnia.
3.a végén jelenitse meg hogy a generált számok közül hány darab volt páros és hány darab volt páratlan.
vki segitsen pls

Oakley Jawbone Retina burn black iridium eladó!

(#169) Lortech


Lortech
addikt

Házikkal legyetek szivesek máshova fáradni, ez nem az "itt a házim csináld má' meg" topik!
Ha elkezditek, látni valamit, hogy próbáljátok megoldani, biztos lesz segítség is.

Thank you to god for making me an atheist

(#170) darnellsmith válasza darnellsmith (#168) üzenetére


darnellsmith
senior tag

sürgős lenne, pls HELP

Oakley Jawbone Retina burn black iridium eladó!

(#171) doc válasza darnellsmith (#170) üzenetére


doc
nagyúr

most lettél leb@szva :((
ott a prog.hu, ott direkt van házikészítős topic...

(#172) Dead_slow válasza [HUN]Zolee (#155) üzenetére


Dead_slow
tag

Ok, úgy lesz. Örülök hogy segíthettél :D :))

(#173) ceginner


ceginner
csendes tag

Sziasztok Sorstársak!

Elakadtam a 2. kötprogival és egy kis segítség kellene. Konkrétan a LÁDAPAKOLÁS lenne a téma. Konkrétabban: Egy gyárban egy nap csak azonos súlyú termékeket gyártanak és ezeket ládába pakolják, egy ládában max. 100 kg lehet. Egy nap max. 1000 db-ot készítenek egy-egy S súlyú termékből... Azt hogy melyik ládába pakoljunk a legkisebb négyzetek módszerével kellene megkeresni, de sehogy sem sön ki az adott kimenet. :W Mit ronthattam el? :F
Bemenetben az első szám a napok száma, a második két szám pedig db és súly.
Már nem ez az első verzió, de már tisztára belezavarodtam. Nem tudom hogyan kellene megírni jól az algoritmust, hogy 100 db fölötti adatokra is jól működjön.

Pl.: Bemenet:
1
347 6

Kimenet:
0000010000010000010000010
0000100000100000000000100
0001000001000001000002000
0020000030000040000060000

Az első sor első eleme, az egy kilós ládák száma - és így tovább egyészen százig...

Az általam írt kód:

#include <stdio.h>

#define M 1000
#define N 100

int Sulyok[M+1]={0};
int Darabok[N+1]={0};


int darab(int suly)
{
int j,s;
int r=1;

s = suly;
for(j=0;j<N;j++)
if (Sulyok[j] == s) r+= 1; //else r=N-1;

return r;
}

void pakol(int db,int s)
{
int K=0,a=0;
int i=0,j=0,k=1,l=0;
int opt=0;
int szumma=1000;
int NAGYSZAM = 10000;
int ossz;
int suly;
ossz = db*s;

suly = s;

Sulyok[0] = s; //az első elemet betesszük

while(i <db){
if ((s == 1) && (suly%100 != 0)) {Darabok[99] = db/10; Darabok[0] = 0;/*Darabok[100-Sulyok[k-1]]-=1;*/}

if (Sulyok[k-1] <= 100)
{
if (suly != 1) Sulyok[k] += suly;

// k+=1;
szumma = darab(Sulyok[k-1]+s)*darab(Sulyok[k-1]+s); //gyakorisag az uj suly berakasa utan


if (szumma <= NAGYSZAM)
{opt += 1;
NAGYSZAM = szumma;
k=i;
if(opt >= 1)
for(l=0;l<=k;l++)
{
if(Sulyok[l] > K) {K=Sulyok[l]; k=l;}
}

} else k+=1; //ha ezek a feltetelek nem teljesulnek uj lada kell

/ if (Sulyok[k] == (100-Sulyok[k])) {Darabok[100] += 1;}
Darabok[Sulyok[k]-1] += 1;

}
i += 1;
}

}

void kiir2(){
int i=0,j,k,l,m;
FILE* ki;

ki=fopen("ki.txt","w");

while(i<4){
for (j=0;j<N/4;j++){
if (i>0) k = (i*25)+j;
fprintf(ki,"%d ", Darabok[((i*25)+j)]); }
i+=1; fputc('\n',ki);}

fclose(ki);

}



int main()
{
int i;
int nap,suly,db;

FILE* in;
in=fopen("be.txt","r");

fscanf(in,"%d",&nap);
if (nap >=1 && nap<=10)
for (i=0;i<nap;i++){ fscanf(in,"%d %d",&db,&suly);
if (db >= 1 && db <= 1000)
if (suly >=1 && suly <=100) {
//feldolgozhatjuk az adatokat
pakol(db,suly);
}
}

kiir2();
fclose(in);

return 0;
}

Minden segítséget és hozzászólást előre is köszönök!

(#174) PazsitZ válasza ceginner (#173) üzenetére


PazsitZ
addikt

Hát, nekem is ki volt ez osztva mint lehetséges kötprog. Meg is csináltam, de nem tökéletes. Bizonyos inputoknál, valahol hibázik.
Most sajna nincs energiám belekezdeni még a saját kódom fejtegetésébe sem, de ha gondolod elküldhetem az én progimat, ha az segít valamit.

- http://pazsitz.hu -

(#175) ceginner


ceginner
csendes tag

Minden segítség jól jöhet! Lehet, hogy pont találok benne valami olyat, ami sokat segít.
Már vagy 7 verziót írtam, 5-öt töltöttem fel eddig, de 0 pontot kaptam rá. Annál csak jobb lehet. Akkor légyszi küldd már el... :D :R

(#176) PazsitZ válasza ceginner (#175) üzenetére


PazsitZ
addikt

Ezen:

2
1000 1
5 49

és ezen:

3
1 91
1 93
1 1

inputokra jó eredményt ad.
A többire sajnos csak részben, pl. ahol kisebb számok lennének "elhagyja" és a többihez pakolja.
[link]
Remélem segít valamit.

[ Szerkesztve ]

- http://pazsitz.hu -

(#177) ceginner


ceginner
csendes tag

Köszönöm Szépen Zoli!

Meg fogom nézni hamarosan, sokat segítettél ezzel! :R :DD

(#178) Tv


Tv
senior tag

Szevasztok! Volna egy olyan gondom, hogy nemtudom hogy C-ben egy szöveges fájlból soronként beolvasni. Tehát az szeretném, hogy beolvasom a fájlt soronként és minden soban megvizsgálom, hogy benne van-e egy adott szó, és ha igen, akkor az adott sorf kiírom egy másik fájlba. Eddig annyira jutottam, hogy a fájlkezelés része kész van. De ez így csak a egy szónál működik(pl. "alma"), (még nem kinlódtam a kereséses résszel). A legfontosabb a soronkénti sztringe olvasás volna, a többi részét szerintem meg tudom oldani majd.

#include <stdio.h>
#include <stdlib.h>

main()
{

FILE *f1;

char buff[1024];

int i=0;

if ((f1=fopen("text1.txt","r"))== NULL)
{

printf("Nem letezik a text1.txt allomany!\n");
exit(-1);

}

else
{

while (fgets(buff,1024,f1))
{

printf("%s",buff);

}

fclose(f1);
}

if (strcmp(buff, "alma") == 0)

{
FILE *f2;
f2 = fopen("text2.txt", "w");
fprintf(f2, "%s",buff);

}
}

Köszi előre is.

(#179) shev7 válasza Tv (#178) üzenetére


shev7
veterán

az fgets nem soronkent olvassa a filet?

''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''

(#180) Tv válasza shev7 (#179) üzenetére


Tv
senior tag

:B az bizony lehet. Akkor itt lesz a gond: while (fgets(buff,1024,f1)) . Vagyis ezt a ciklust kellene kibővíteni? Ebbe kellene beletennem a vizsgálatot, meg a második fájl-ba való írást?

(#181) shev7 válasza Tv (#180) üzenetére


shev7
veterán

peldaul :)

''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''

(#182) Tv


Tv
senior tag

Nah sikerült megcsinálni a nagy részét a feladatnak, már csak azt nem tudom, hogy hogyan kellene megcsinálni, hogy mindegyik sornak a végét hasonlítsa össze egy előre megadott sztringgel. Tehát ha az előre megadott sztring pl. az, hogy "alma" , akkor azt nézze, hogy a sor az alma szóval zárul-e vagy sem. Erre esetleg van ötlete valakinek?

(#183) Tv válasza Tv (#182) üzenetére


Tv
senior tag

Már tárgytalan :) sikerült megoldani

(#184) Tv


Tv
senior tag

Szaszok! Már megint gond van :( minygyárt megőrülök. A progit megírtam, működik is rendesen windóz alatt, de linux-on az istennek se akar. Vetnétek rá egy pillantást lécci? Fontos lenne :O . Köszi előre is. A gond valahol a sztringek összehasonlításánál lehet.

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

int maxsorh(FILE *f2)
{
int x=0;
int y=0;
char str[1024];

if ((f2=fopen("text2.txt","r"))== NULL)
{

printf("Nem letezik a text2.txt allomany!\n");
exit(-1);

}
else
while (fgets(str,1024,f2))
{
printf("%s",str);
x=strlen(str);

if(x>y)
{
y=x;
x=0;
}

}

printf("A text2.txt fajl leghosszabb soranak hossza: %d\n",y);
}
void rev(char* s)

{

int i, j= strlen(s)-2;

char temp;

for (i=0; i < j; i++, j--)

{

temp = s[i];

s[i] = s[j];

s[j] = temp;

}

}

main()
{

FILE *f1;
FILE *f2;
char buff[1024];
int i=0;
char szo[]="alma\n";
rev(szo);
if ((f1=fopen("text1.txt","r"))== NULL)
{

printf("Nem letezik a text1.txt allomany!\n");
exit(-1);

}

else
{

while (fgets(buff,1024,f1))
{
printf("%s",buff);
rev(buff);
printf("%s",buff);

if (strncmp(buff,szo,4) ==0 )
{
f2 = fopen("text2.txt", "a");
rev(buff);
fprintf(f2,"%s",buff);
fclose(f2);
}

}
printf("\n");
fclose(f1);

}

maxsorh(f2);
}

(#185) doc válasza Tv (#184) üzenetére


doc
nagyúr

esetleg a "nem működik"-nél pontosabb hibaleírást is tudnál adni?
így elsőre nem lehet hogy az idióta dosos sorvégek kavarnak be?

(#186) Tv válasza doc (#185) üzenetére


Tv
senior tag

De szerintem is az! Vagy amikor a fájlból olvasom be a sorokat, majd megfordítom őket, valamit másképp csinál a linux, mint a win?

Ezt a sorvéges dolgot nem vágom. Win alatt mikor beolvasok egy sort, akkor a végét a C \n-ként kezeli. Linux alatt ez hogy van?

Mert ott hibázik a progi, ahol a beolvasott és megfordított sorokat hasonlítja össze a másik megfordított sztringgel

[ Szerkesztve ]

(#187) Tv válasza Tv (#186) üzenetére


Tv
senior tag

Nah végre magoldódott a rejtély :) . A linux-ban a C a sorvégeket $-jellel kezeli. Minden működik.

doc! Köszi a segítséget. Ha nem mondod sose jutott volna eszembe :))

(#188) doc válasza Tv (#187) üzenetére


doc
nagyúr

$ jellel? na ilyet sem hallottam még
alapvetően az a probléma, hogy a sorvéget alapvetően háromféleképpen szokás kezelni
Linux alatt a sorvégeket a \n zárja le (10-es karakter)
OSX alatt ha jól tudom a \r (13-as)
DOS alatt meg valami elmebeteg okból kifolyólag mindkettő egyszerre (\r\n), de ezt a dos/windows-os C programok egy karakterre fordítják
viszont mikor Linux alatt olvasod be a file-t, azt látja hogy a sor legutolsó karaktere egy \r, majd utána jön csak a sorvége

(#189) Tv válasza doc (#188) üzenetére


Tv
senior tag

Hát igen a linux képes ilyen csodákra :C . Nekem is csak úgy beugrott, mikor mondtad a sorvéges dolgot, hogy van valami $ jeles dolog is :F . Mondom kipróbálom nincs mit veszteni, erre jó is lett egyből, minden működik ahogy kell. Az volt a gáz, hogy xp alatt írtam a progit, ment is jól, aztán ftp-n feltöltöttem linux-ra, és ott putty-on át akartam volna fordítani, futtatni.
:U

(#190) sghc_toma


sghc_toma
senior tag

számunkra fura dolgot találtunk tegnap programozás közben.. a kódban maradt egy olyan sor, hogy zárójelben egy pár érték, valahogy így: (4, "sdfg", 23).. A kód lefordult, a progi működött.. megnéztem objdump-pal ennek a két forrásnak megfelelő progit:

int main() {(1,2,3,4); printf("qwer"); return 0;}

, illetve

int main() {printf("qwer"); return 0;}

semmi különbség nincs az assembly kódok közt...
a kérdésem: ez mitől "érvényes" kód c-ben, c++-ban?

in asm we trust

(#191) Jester01 válasza sghc_toma (#190) üzenetére


Jester01
veterán

Mert csak :) A zárójel meg a számok rendben vannak, a vessző meg operátor.

Jester

(#192) doc válasza sghc_toma (#190) üzenetére


doc
nagyúr

létezik egy ilyen megoldás, ez csak annyit csinál, hogy a zárójelen belüli, egymástól vesszővel elválasztott parancsokat lefuttatja
a szám meg ugye elmegy parancsnak :)

(#193) sghc_toma


sghc_toma
senior tag

OK, kösz mindkettőtöknek.

in asm we trust

(#194) plaschil


plaschil
aktív tag

Sziasztok!
Van egy progim, és az a kikötés hogy az STDERR-re kéne kiíratni a hibaüzeneteket. (Nem STDIO-ra.) Hogy kell ezt megcsinálni?

Creative G500 vezérlő panelt keresek// Hol vagy helyileg? - A kisszobába. // Szilvásbuktát, mert azt szeretem!

(#195) doc válasza plaschil (#194) üzenetére


doc
nagyúr

fprintf(stderr,"hibauzi");

(#196) PazsitZ válasza plaschil (#194) üzenetére


PazsitZ
addikt

Pl.:

fprintf(stderr, "Fatal Error #2212. We're hosed");

[link]

Mod "picit" elkéstem :)

[ Szerkesztve ]

- http://pazsitz.hu -

(#197) plaschil válasza PazsitZ (#196) üzenetére


plaschil
aktív tag

Köszönöm szépen. és miért fprintf-fel írtátok?
Sima printf-fel nem jó?
Ehhez kell valamit includálni? Vagy elég az stdio.h?

[ Szerkesztve ]

Creative G500 vezérlő panelt keresek// Hol vagy helyileg? - A kisszobába. // Szilvásbuktát, mert azt szeretem!

(#198) doc válasza plaschil (#197) üzenetére


doc
nagyúr

a sima printf csak stdio-ra ír, az fprintf-nek meg tudod mondani hogy melyik file-ba írjon (ebben az esetben az stderr-re)

MOD: stdio.h elég

[ Szerkesztve ]

(#199) plaschil


plaschil
aktív tag

Segítsetek légyszi ha tudtok!
Olyan progit kell írnom ami összehasonlítja két fájl tartalmát. vagy két adott fájlt, vagy egy adottat és egy begépeltet. na a két adott fájl rész már lefut. szépen ki is írja hogy hol nem egyezik a két fájl. de a második része nem jó valamiért. begépelem a szöveget, el kéne elvileg mentenie egy txt-be, és utána összehasonlítania egy másik adott txt-vel. de mikor entert ütök, hogy jelezzem befejeztem a fájl írását, nem tudom elkezdi -e összehasonlítani, mert segmentation fault (core dumped)-del kilép.itt a második része a proginak.

case 2:
printf("Gepelje be a szoveget, majd usson egy entert!\n");
f2=fopen("haha.txt","w+");
scanf("%s",&f);
fprintf(f2,"%s",f);

b=1000;
for(a=0;a<b;a++)
//while((e=getchar())!=EOF)
{

c=getc(f1);
d=getc(f2);

if(c!=d)
{
//printf("%c", c);
//printf("%c ", d);
break;
a++;
}

}
//a++;
if(a!=b)
{
fprintf(stderr, "\n A ket szoveg ettől a karaktertol nem egyezik: %d", a);
getchar();
}
if(a=b)
{
getchar();}
fclose(f1);
fclose(f2);

break;

break;

}
}

Creative G500 vezérlő panelt keresek// Hol vagy helyileg? - A kisszobába. // Szilvásbuktát, mert azt szeretem!

(#200) plaschil


plaschil
aktív tag

Ami a // után van, az ki van kommentezve. Még egy kérdés mik a lényegesebb különbségek a struct és az union között?

[ Szerkesztve ]

Creative G500 vezérlő panelt keresek// Hol vagy helyileg? - A kisszobába. // Szilvásbuktát, mert azt szeretem!

Copyright © 2000-2024 PROHARDVER Informatikai Kft.