- Bemutatta első táblagépét saját neve alatt a HMD
- Megérkezett a Corsair új M.2-es SSD-je, és mindennek mondható, csak lassúnak nem
- iPad topik
- Amazon Kindle
- Érkezik a Crucial LPCAMM2 memóriamodulja
- HiFi műszaki szemmel - sztereó hangrendszerek
- Dobozos verziót kapnak az IGP nélküli AMD Ryzenek
- Milyen alaplapot vegyek?
- Épített vízhűtés (nem kompakt) topic
- Azonnali VGA-s kérdések órája
Hirdetés
-
30 TB-ot meghaladó HDD-ket demonstrál a Toshiba
ph Az egyik HAMR, a másik MAMR technológiával éri el a komoly tárkapacitást.
-
Távozott az OpenAI társalapítója
it Ilya Sutskever nem csak az OpenAI társalapítója, a vezető tudósa is volt – most távozik a ChatGPT fejlesztőjétől.
-
Vigor - Alig egy nap múlva PC-n is elérhető lesz a korai kiadás
gp Néhány év késéssel újabb platformra is megkapjuk a játék early access változatát.
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz Jester01 #967 üzenetére
Mi így oldottuk meg az ékezetes karakterek helyes megjelenítését:
char * magyarit(const char * src){
unsigned i;
static char dest[2000];
for(i=0;src[i];i++){
switch(src[i]){
case 'á': dest[i]=160; break;
case 'é': dest[i]=130; break;
case 'í': dest[i]=161; break;
case 'ó': dest[i]=162; break;
case 'ö': dest[i]=148; break;
case 'ő': dest[i]=139; break;
case 'ú': dest[i]=163; break;
case 'ü': dest[i]=129; break;
case 'ű': dest[i]=251; break;
case 'Á': dest[i]=181; break;
case 'É': dest[i]=144; break;
case 'Í': dest[i]=214; break;
case 'Ó': dest[i]=224; break;
case 'Ö': dest[i]=153; break;
case 'Ő': dest[i]=138; break;
case 'Ú': dest[i]=233; break;
case 'Ü': dest[i]=154; break;
case 'Ű': dest[i]=235; break;
default: dest[i]=src[i];
}
}
dest[i]=0;
return dest;
}Aztán printf-nél meg így hivatkozom rá, pl.:
printf(magyarit("Nettó ár: "));
Ez itt nem lenne jó?
Sk8erPeter
-
Davey7
senior tag
válasz Jester01 #969 üzenetére
de ha ismeretlen mondatot olvas be akkor nem tudom,hogy milyen szavak vannak benne...így hogyan tartom nyílván a szó elejét és végét?
azért kérdeztem,hogy az átmásolás,hogy van,mert még nagyon kezdő vagyok és talán úgy meg tudnám csinálni...
tehát a mondat sztringből valamilyen módon a szavakat átrakom egy másik sztringbe és ott az strlen-el meg tudom mondani a szó hosszát és el tudom minden szóra végezni a vizsgálatot...aztán a kiíratás talán már nem vészes. -
Sk8erPeter
nagyúr
válasz Jester01 #962 üzenetére
Bocs, de mi az az "r=0..2 PI"?
Elsőre úgy értelmezném, hogy a 2kPi-t akarja jelenteni, ahol k=0,1,2, de ennek a körnél semmi értelme, mert a sugár nem 2kPi.
A kör egyenlete alapján kéne megoldanom a feladatot:
ha C(u,v) a kör középpontja, és P(x,y) a kör egyik pontja, akkor az egyenlet:
CP^2 = r^2 = (x-u)^2 + (y-v)^2De nem igazán tudom, hogy is oldjam meg ez alapján a feladatot.
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz Jester01 #974 üzenetére
Értem, de sajnos egyelőre így sincs elképzelésem, hogy hogyan kéne megcsinálni ezt a feladatot, meg szerintem nem is totál kezdőnek való feladat, de persze lehet, hogy csak én vagyok a béna.
Mondjuk itt ezt sem értem: "double fi = i / 100.0 * 2 * M_PI;" Növelgetjük egészen 99-ig i-t (for(i = 0; i < 100; i++)), de nem tudom, miért.
Sk8erPeter
-
Davey7
senior tag
válasz Jester01 #972 üzenetére
ez eléggé bonyolult nekem... beszéltük egy cimborámmal,hogy talán úgy is meg lehetne csinálni,hogy beolvasunk egy sort aztán egy másik fájlba azt elmentjük,aztán abból a fájlból szavanként kiolvasom és úgy végzem el a vizsgálatot.
Hogy lehetne egész mondatot beolvasni EOF-ig?Mert ugye az fgets nem is meri az EOF-ot.
-
-
Celebro
csendes tag
válasz Jester01 #985 üzenetére
Amire jutottam az nem sok.. Eddig simán ciklussal próbálgattam de az 6 elemnél nem bír többet a 7. re túlcsordul.Olvasgattam hogy ha cím szerint kezeljük a tömböt akkor kevesebb hely is elég neki, mert ha jól tudom a címnek csak fele annyi bit kell.Ezért gondoltam arra, hogy függvénnyel és címekkel kéne számoltatni, csak még nem jöttem rá a nyitjára.(Sajnos a könyv amiben keresgéltem nem nyújtott használható infókat.) A progi amit eddig alkottam itt van:deh ez csak 6 elemet bír...
int main(void)
{
double a[6]={3.4, 1.4, 2.3, 6.8, 6.6, 2.4};
double osszeg;
int i;
double z2=0;for(i=0;i<6;i++)
{
z2=a[i];
osszeg=osszeg+z2;
z2=0;}
double atl;
atl=osszeg/6;
printf("az atlaga: %.2f\n",atl);
printf("az osszege: %.2f\n",osszeg);system("PAUSE");
}
ui:ha hülyeséget írtam boocccs..[ Szerkesztve ]
Ha nem tudsz úszni, ne mássz fára, mert elüt a villamos!
-
blaces
tag
válasz Jester01 #1000 üzenetére
Ezeket modósítottam:
char betu,sz[50]={};
int j,i=0;
int h=strlen(sz);
while( (betu=fgetc(f)) !=EOF)
{
if(betu==' ' || betu==',' || betu=='!' || betu=='?' || betu=='.' || betu=='\n')
{
if(h>2)
{
fej=beszur(fej,sz);
for(j=0;j<50;j++)
sz[j]='\0';
i=0;
}HOgy kell a fejváltozót inicializálni? mert a jegyzetben nem találok róla leírást... Ezt hogy kell inicializálni?
a fordított while feltétel azt takarta, hogy ehelyett: while(!seg->kov) ezt használjam: while(seg->kov)
-
blaces
tag
válasz Jester01 #1006 üzenetére
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define IGAZ 1
#define HAMIS !IGAZ
typedef struct listaelem{
char szo[50];
struct listaelem *kov;
}LISTAELEM;
int abszolut(int a,int b)
{ int c;
c=(a-b)>=0 ? (a-b):(a-b)*(-1);
return c;
}
int keres(LISTAELEM *fej,char sz[])
{
LISTAELEM *seged;
for(seged=fej;seged;seged=seged->kov)
{
if(strcmp(sz,seged->szo)!=0)
return IGAZ;
}
return HAMIS;
}
LISTAELEM* beszur(LISTAELEM *fej,char szo[])
{
LISTAELEM *ujelem=(LISTAELEM*)malloc(sizeof(LISTAELEM));
strcpy(ujelem->szo,szo);
ujelem->kov=NULL;
if(!fej)
return ujelem;
else
{
LISTAELEM *seg=fej;
while(seg->kov)
seg=seg->kov;
seg->kov=ujelem;
}
return fej;
}
LISTAELEM* feldolgoz(FILE *f,LISTAELEM *fej)
{
char betu,sz[50];
int j,i=0;
int h=strlen(sz);
while( (betu=fgetc(f)) !=EOF)
{
if(betu==' ' || betu==',' || betu=='!' || betu=='?' || betu=='.' || betu=='\n')
{
if(h>2)
{
fej=beszur(fej,sz);
for(j=0;j<50;j++)
sz[j]='\0';
i=0;
}
}
else
{
sz[i]=tolower(betu);
i++;
}
}
return fej;
}
int gyak(LISTAELEM *fej,char sz[])
{
LISTAELEM *seg;
int gyakorisag=0;
for(seg=fej;seg;seg=seg->kov)
{
if(strcmp(seg->szo,sz)==0)
gyakorisag++;
}
return gyakorisag;
}
int main(int argc,char **argv)
{
FILE *f1,*f2;
LISTAELEM *fej1=NULL,*fej2=NULL,*fej3=NULL,*seged=NULL;
int gyak1,gyak2,szavak=0,n;
float hasonlosag=0,eredm;
f1=fopen(argv[1],"r");
f2=fopen(argv[2],"r");
fej1=feldolgoz(f1,fej1);
fej2=feldolgoz(f2,fej2);
for(seged=fej1;seged;seged=seged->kov)
{
if((n=keres(fej3,seged->szo))==0)
{
gyak1=gyak(fej1,seged->szo);
gyak2=gyak(fej2,seged->szo);
hasonlosag+=(abszolut(gyak1,gyak2))/(gyak1+gyak2);
szavak++;
}
}
for(seged=fej2;seged;seged=seged->kov)
{
if((n=keres(fej3,seged->szo))==0)
{
gyak1=gyak(fej1,seged->szo);
gyak2=gyak(fej2,seged->szo);
hasonlosag+=(abszolut(gyak1,gyak2))/(gyak1+gyak2);
szavak++;
}
}
eredm=hasonlosag/szavak;
printf("%.5f\n",eredm);
return 0;
}valgrind -v eredmények:
==3173== Memcheck, a memory error detector.
==3173== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==3173== Using LibVEX rev 1658, a library for dynamic binary translation.
==3173== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==3173== Using valgrind-3.2.1-Debian, a dynamic binary instrumentation framework.
==3173== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==3173==
--3173-- Command line
--3173-- ./elso
--3173-- Startup, with flags:
--3173-- -v
--3173-- Contents of /proc/version:
--3173-- Linux version 2.6.18-6-xen-amd64 (Debian 2.6.18.dfsg.1-23etch1) (dannf@debian.org) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Fri Dec 12 07:02:03 UTC 2008
--3173-- Arch and hwcaps: AMD64, amd64-sse2
--3173-- Valgrind library directory: /usr/lib/valgrind
--3173-- Reading syms from /home/izgatopasi/Prog1/3/1/elso (0x400000)
--3173-- Reading syms from /lib/ld-2.3.6.so (0x4000000)
--3173-- Reading debug info from /lib/ld-2.3.6.so...
--3173-- ... CRC mismatch (computed 1CBD6C2C wanted 509BB065)
--3173-- object doesn't have a symbol table
--3173-- Reading syms from /usr/lib/valgrind/amd64-linux/memcheck (0x38000000)
--3173-- object doesn't have a dynamic symbol table
--3173-- Reading suppressions file: /usr/lib/valgrind/default.supp
--3173-- Reading syms from /usr/lib/valgrind/amd64-linux/vgpreload_core.so (0x4918000)
--3173-- Reading syms from /usr/lib/valgrind/amd64-linux/vgpreload_memcheck.so (0x4A19000)
--3173-- Reading syms from /lib/libc-2.3.6.so (0x4B1F000)
--3173-- Reading debug info from /lib/libc-2.3.6.so...
--3173-- ... CRC mismatch (computed AD7708C1 wanted 5D81B887)
--3173-- object doesn't have a symbol table
--3173-- REDIR: 0x4B91980 (rindex) redirected to 0x4A1C450 (rindex)
--3173-- REDIR: 0x4B8D0F0 (malloc) redirected to 0x4A1B7D6 (malloc)
==3173== Syscall param open(filename) points to unaddressable byte(s)
==3173== at 0x4BDB152: open (in /lib/libc-2.3.6.so)
==3173== by 0x4B85F52: _IO_file_open (in /lib/libc-2.3.6.so)
==3173== by 0x4B8609B: _IO_file_fopen (in /lib/libc-2.3.6.so)
==3173== by 0x4B7C053: (within /lib/libc-2.3.6.so)
==3173== by 0x4008B9: main (1_feladat.c:94)
==3173== Address 0x0 is not stack'd, malloc'd or (recently) free'd
--3173-- REDIR: 0x4B8B180 (free) redirected to 0x4A1B3E6 (free)
==3173==
==3173== Conditional jump or move depends on uninitialised value(s)
==3173== at 0x400771: feldolgoz (1_feladat.c:53)
==3173== by 0x4008E3: main (1_feladat.c:96)
==3173==
==3173== Invalid read of size 2
==3173== at 0x4B82DE1: getc (in /lib/libc-2.3.6.so)
==3173== by 0x400801: feldolgoz (1_feladat.c:54)
==3173== by 0x4008E3: main (1_feladat.c:96)
==3173== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==3173==
==3173== Process terminating with default action of signal 11 (SIGSEGV)
==3173== Access not within mapped region at address 0x0
==3173== at 0x4B82DE1: getc (in /lib/libc-2.3.6.so)
==3173== by 0x400801: feldolgoz (1_feladat.c:54)
==3173== by 0x4008E3: main (1_feladat.c:96)
--3173-- REDIR: 0x4B92830 (memset) redirected to 0x4A1C960 (memset)
==3173==
==3173== ERROR SUMMARY: 6 errors from 3 contexts (suppressed: 8 from 1)
==3173==
==3173== 1 errors in context 1 of 3:
==3173== Invalid read of size 2
==3173== at 0x4B82DE1: getc (in /lib/libc-2.3.6.so)
==3173== by 0x400801: feldolgoz (1_feladat.c:54)
==3173== by 0x4008E3: main (1_feladat.c:96)
==3173== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==3173==
==3173== 1 errors in context 2 of 3:
==3173== Syscall param open(filename) points to unaddressable byte(s)
==3173== at 0x4BDB152: open (in /lib/libc-2.3.6.so)
==3173== by 0x4B85F52: _IO_file_open (in /lib/libc-2.3.6.so)
==3173== by 0x4B8609B: _IO_file_fopen (in /lib/libc-2.3.6.so)
==3173== by 0x4B7C053: (within /lib/libc-2.3.6.so)
==3173== by 0x4008B9: main (1_feladat.c:94)
==3173== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==3173==
==3173== 4 errors in context 3 of 3:
==3173== Conditional jump or move depends on uninitialised value(s)
==3173== at 0x400771: feldolgoz (1_feladat.c:53)
==3173== by 0x4008E3: main (1_feladat.c:96)
--3173--
--3173-- supp: 8 Debian libc6 (2.3.x) stripped dynamic linker
==3173==
==3173== IN SUMMARY: 6 errors from 3 contexts (suppressed: 8 from 1)
==3173==
==3173== malloc/free: in use at exit: 0 bytes in 0 blocks.
==3173== malloc/free: 2 allocs, 2 frees, 1,136 bytes allocated.
==3173==
==3173== All heap blocks were freed -- no leaks are possible.
--3173-- memcheck: sanity checks: 0 cheap, 1 expensive
--3173-- memcheck: auxmaps: 0 auxmap entries (0k, 0M) in use
--3173-- memcheck: auxmaps: 0 searches, 0 comparisons
--3173-- memcheck: SMs: n_issued = 12 (192k, 0M)
--3173-- memcheck: SMs: n_deissued = 0 (0k, 0M)
--3173-- memcheck: SMs: max_noaccess = 524287 (8388592k, 8191M)
--3173-- memcheck: SMs: max_undefined = 0 (0k, 0M)
--3173-- memcheck: SMs: max_defined = 66 (1056k, 1M)
--3173-- memcheck: SMs: max_non_DSM = 12 (192k, 0M)
--3173-- memcheck: max sec V bit nodes: 0 (0k, 0M)
--3173-- memcheck: set_sec_vbits8 calls: 0 (new: 0, updates: 0)
--3173-- memcheck: max shadow mem size: 4336k, 4M
--3173-- translate: fast SP updates identified: 921 ( 86.7%)
--3173-- translate: generic_known SP updates identified: 90 ( 8.4%)
--3173-- translate: generic_unknown SP updates identified: 51 ( 4.8%)
--3173-- tt/tc: 2,648 tt lookups requiring 2,655 probes
--3173-- tt/tc: 2,648 fast-cache updates, 2 flushes
--3173-- transtab: new 1,324 (31,539 -> 556,589; ratio 176:10) [0 scs]
--3173-- transtab: dumped 0 (0 -> ??)
--3173-- transtab: discarded 0 (0 -> ??)
--3173-- scheduler: 23,425 jumps (bb entries).
--3173-- scheduler: 0/1,389 major/minor sched events.
--3173-- sanity: 1 cheap, 1 expensive checks.
--3173-- exectx: 30,011 lists, 15 contexts (avg 0 per list)
--3173-- exectx: 18 searches, 4 full compares (222 per 1000)
--3173-- exectx: 0 cmp2, 39 cmp4, 0 cmpAllvalgrind eredmény (simán csak valgrind [nev]):
==3298== Memcheck, a memory error detector.
==3298== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==3298== Using LibVEX rev 1658, a library for dynamic binary translation.
==3298== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==3298== Using valgrind-3.2.1-Debian, a dynamic binary instrumentation framework.
==3298== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==3298== For more details, rerun with: -v
==3298==
==3298== Syscall param open(filename) points to unaddressable byte(s)
==3298== at 0x4BDB152: open (in /lib/libc-2.3.6.so)
==3298== by 0x4B85F52: _IO_file_open (in /lib/libc-2.3.6.so)
==3298== by 0x4B8609B: _IO_file_fopen (in /lib/libc-2.3.6.so)
==3298== by 0x4B7C053: (within /lib/libc-2.3.6.so)
==3298== by 0x4008B9: main (1_feladat.c:94)
==3298== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==3298==
==3298== Conditional jump or move depends on uninitialised value(s)
==3298== at 0x400771: feldolgoz (1_feladat.c:53)
==3298== by 0x4008E3: main (1_feladat.c:96)
==3298==
==3298== Invalid read of size 2
==3298== at 0x4B82DE1: getc (in /lib/libc-2.3.6.so)
==3298== by 0x400801: feldolgoz (1_feladat.c:54)
==3298== by 0x4008E3: main (1_feladat.c:96)
==3298== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==3298==
==3298== Process terminating with default action of signal 11 (SIGSEGV)
==3298== Access not within mapped region at address 0x0
==3298== at 0x4B82DE1: getc (in /lib/libc-2.3.6.so)
==3298== by 0x400801: feldolgoz (1_feladat.c:54)
==3298== by 0x4008E3: main (1_feladat.c:96)
==3298==
==3298== ERROR SUMMARY: 6 errors from 3 contexts (suppressed: 8 from 1)
==3298== malloc/free: in use at exit: 0 bytes in 0 blocks.
==3298== malloc/free: 2 allocs, 2 frees, 1,136 bytes allocated.
==3298== For counts of detected errors, rerun with: -v
==3298== All heap blocks were freed -- no leaks are possible.
Szegmens hiba[ Szerkesztve ]
-
blaces
tag
válasz Jester01 #1010 üzenetére
ufff bocs
ez a feladat...
[I]Írj programot, amely parancssori argumentumként megkapja legfeljebb 10 szöveges állomány nevét, és lexikografikus sorrendben a szabványos kimenetre írja azokat a szavakat, amelyek az összes állományban előfordulnak! Minden szót csak egyszer kell kiírni, és a kis- és nagybetűket azonosként kell kezelni (azaz az "alma" és az "alMA" szavakat azonosnak kell tekinteni).
Az állományokban minden sor egy vagy több szót tartalmaz. A sorokat az újsor karakter (\n) zárja. A sorokban a szavak egyetlen szóköz karakterrel vannak elválasztva egymástól. Minden szó legfeljebb 50 karakter hosszú.
A program a szabványos kimeneten minden sorba egyetlen szót írjon! A kimeneten minden szó csupa kisbetűvel szerepeljen! Az implementációhoz használj bináris fát.[/I]
-
blaces
tag
-
kampi_
csendes tag
válasz Jester01 #1086 üzenetére
Hi!
Igen egyenlőre tényleg 3 processznak van helye, mert most csak tesztelem. De ettől függetlenül is, csak kettőt nyit meg! Az fgets előtt megnézem, hogy létezik-e fájl, és hogy üres-e? Azt tény, hogy azt nem tudom hogy lehet megnézni, hogy üres-e egy sor, vagy hogy az egész megvan-e, de ha te tudod, akkor elmondhatnád Az OpenProcess elvileg NULL-t ad vissza. Legalábbis én azért gondolom, mert ha nem lenne NULL akkor nem teljesülne ez a feltétel : if (phandle==NULL) createproc(proc_data[i].proc_name,i,proc_data); De teljesül mert ha bezárom, akkor megnyitja megint a process-t, tehát teljesülnie kell,nem? A while(1) cilusbanpedig csak elfelejtettem átírni a current-et i-re. De már kijavítottam. De ettől függetlenül azt nem mondtad meg, hogy miért csak kettő process nyílik meg és nem több? Vagy ez lehet ezek a hibák miatt? A CloseHandle-es részt nem igazán értem hogy mire gondoltál. Sajnos ezeket a handleket meg a createprocess-t nem teljesen vágom, hogy hogyan műkődnek. Ezért is kértem segítséget
Kampi
-
kampi_
csendes tag
válasz Jester01 #1088 üzenetére
Hi!
Már rájöttem mi volt a baj! Ugye a fájl tartalma így nézett ki pl, hogy :
notepad
maspaint
notepadÉs az volt a gáz, hogy ugye a sor végén volt egy "\n". Na ezért indult el scak kettő. Levágtam a soremeléseket és már jó is. Hibátlanul megy. 13 processra próbáltam ki, és megy simán. Azért köszönöm a segítséget
Az rendben van hogy a hossza nulla, de hogy nézem meg egy sor hosszát?
fgets(tmp, sizeof tmp, appfile) == NULL . Erre gondolsz?És hogyan lehetne levágott egy sor? Gondolom ha nem férne bele a tmp-be,nem? De azért 16 Kb-ba már csak belefér minden
Köszi mégegyszer a segítséget!
kampi
-
Benmartin
senior tag
válasz Jester01 #1104 üzenetére
1.) Tényleg elnéztem.
2.) Meglehet, gyakorlatban azonban működik.
3.) Jó, hát általában nem teszünk szóközt a fájlokba.
4.) Azért van a MAX_FAJLNEV_HOSSZ.
5.) Több megoldás is létezik.
6.-7.) ANSI C fordítónak nem is kell.
8.) Csúnyán néznek de működik, mondjuk akár ki is lehet venni.
9.) Ez jogos.
10.) Ebbe fölösleges belekötni.
11.) long-ot, de ebből nem igen lesz probléma.
12.) Nem is akartam hibakezelést írni. (gondolom magának írja) -
Benmartin
senior tag
válasz Jester01 #1106 üzenetére
2. Igen, kipróbáltam, bizonyára azért működött, mert nem volt '\n' a sor végén.
3. Oké, elfogadom, én nem szoktam, lehet azért írtam így.
4. Ez oké, de nem akartam bele hibakezelést írni, meg overflowokra figyelni, mert az kétszer ennyi kód, jelzésnek viszont ott volt, hogy mire képes.
5. Szerencsére itt nem voltak olyan méretek.
6-7. Ennek ellent kell mondjak rengeteg forráskódot küldtem már programozó versenyekre, ahol oline judge fordít ANSI C fordítóval, és nem igényelte a headereket, tulajdonképpen még az stdio.h-t sem.
10. Ez kérdéses, hogy mikor jó, mikor nem. Ebben a kódban semmi jelentősége nem volt, hogy globálisak a változók, egy másik példában lehet zavart okoz, egy másikban meg lehet, hogy pont úgy célszerű.
11. Valóban nem tudhatom, ha ilyen egyéni igények vannak, akkor lehet változtatásokat eszközölni.
12. Nincs rendben, de mondtam, hogy ennek kivédését nem állt szándékomban megírni. -
Sk8erPeter
nagyúr
válasz Jester01 #1113 üzenetére
Bocsi, hogy csak most válaszolok, nem nagyon voltam gépközelben!
Köszönöm, hogy megírtad, ez nagyon faszán működik!
Pár rövid pluszkérdés:
1.) Ami érdekességet (számomra érdekes) felfedeztem, hogy ha sima Notepad-del, Unicode kódolással mentek egy fájlt, akkor nem működik a program, és egy 0 bájtos verziót készít el, míg az ANSI kódolásúakkal nincs probléma. Ez mitől van?
(Ha Notepad++-szal készítem el ugyanazt a fájlt, amiért a sima Notepad pampog, hogy elveszhetnek egyes karakterek, ha nem Unicode-ban mentem, akkor semmi para. Gondolom alapvetően a Notepad++ ANSI kódolással készíti el a fájlt, nem?)
2.) A "const int column" miért fontos, hogy const legyen?
3.) A "char infilename[MAX_FILENAME_LENGTH + 1];" sornál miért kell a +1?
4.) Ugyanígy ott van a plusz 1 a "char outfilename[MAX_FILENAME_LENGTH + 9]; /* a +8 a _jav.txt miatt */" sorban.
5.) A többin még gondolkozom...Még egyszer köszönöm, hogy megírtad!
Sk8erPeter
-
skylaner
senior tag
válasz Jester01 #1162 üzenetére
Kösz, eszembe se jutott ez az n-ig összehasonlító fgv.
Visszatérve egy korábbi kérdésemre: valgrind
Feltettem ubuntut,valgrind-et. Futtattam --leak-check=full --showreachable=yes paraméterekkel, sok okosságot kiírt, de hogy tudnám azt megnézni h összesen mennyi memóriát használt a progi, ne csak azt amit malloc-al foglaltam le? Mindent, lokális,globális,fgv argumentumok változói stb...
Vagy nincs ilyen lehetőség? -
skylaner
senior tag
válasz Jester01 #1164 üzenetére
Na pl:
typedef struct szam{
int a;
int b;
} SZAM;
void szum(int a,int b)
{
printf("%d\n",a+b);
}
int main()
{
SZAM* sz;
sz=(SZAM*)malloc(sizeof(SZAM));
sz->a=4;
sz->b=5;
szum(sz->a,sz->b);
free(sz);
sz=NULL;
return 0;
}sz: 4 byte
*sz: 8byte
2 int másolat: 8byteTehát ennek összesen akkor min 20byte memória kell a program egy adott pontján.
Valami ilyesmire gondoltam. -
m0h0senator
őstag
válasz Jester01 #1235 üzenetére
A prímtényzős rész megvan. Nekem az kellene ahol meghatározza a legkisebb közös többszöröst és a legnagyobb közös osztót a prímtényezőkből.
Pl: 8 l 2 12 l 2
4 l 2 6 l 2
2 l 2 3 l 3
1 1majd ezeknek az lnko: 2 a négyzeten és ezt h számolja ki.
An odyssey through the realm of consciousness.
-
VaZso
senior tag
válasz Jester01 #1250 üzenetére
Eszerint ott lehet a kutya elásva, hogy nem módosítható?
*ptr = 'n'; (ill. str) hatására Segmentation fault-ot kapok...Egy ilyenem van:
char *strCapitalize(char *str) {Tehát a paraméterként kapott *str-t hiába is próbálom megváltoztatni...
Hogyan tudnám mégis valamely characterét megváltoztatni úgy, hogy nem tudom előre a string hosszát és csak ezért nem nyálazhatom végig?
-
Zollee
tag
válasz Jester01 #1274 üzenetére
Mondasz vmit.. Mikor próbálgattam, előfordult, hogy a 2 bekérésből csak az 1. esetben várta meg míg beadok neki egy értéket, a másikat már önszántából kitöltötte, mintha ő jobban tudná.
Most nem otthon vagyok, de amint előttem lesz a feladat, kipróbálom. Remélem menni fog.A legügyesebb állat az ürge, hiszen búzával teli pofazacskóval is képes repülni, miközben egy baglyot egyensúlyoz a hátán.
-
Zollee
tag
válasz Jester01 #1274 üzenetére
Vééégre megy.
Hálás köszönet. Ebből annyit is tanultam most, hogy később mindig megnézem majd a bekért adatok helyességét ha nem tudom mi a baja a proginak.
Hiába na.. mindig tanul az ember.A legügyesebb állat az ürge, hiszen búzával teli pofazacskóval is képes repülni, miközben egy baglyot egyensúlyoz a hátán.
-
Karma
félisten
válasz Jester01 #1296 üzenetére
"Mindig? Na ne viccelj!"
Bakker, és tényleg igazad van. "At least"... Mindegy, azt a problémát megoldja, hogy kevesebb nem lehet
"Azért mert egy adott program ránézésre esetleg nem annyira objektum-orientált vagy ilyesmi, azért még meg lehet írni c++-ban. "
Meg lehet írni, de szerintem ilyen kitételek mellett (és hallgatói felkészültség mellett) nem ez a cél.
“All nothings are not equal.”
-
pszaby
csendes tag
válasz Jester01 #1292 üzenetére
Szia!
Igazából az első lépéseket nem vágom!
Konkrétan ezt:
Egy max. 10 lépésből (ellenőrzendő) álló vezérlőprogramot kell beolvasni. A vezérlő program
minden utasítása az x, y, és z irányokba történő lépés hosszát (x, y, z ∈ [-127,+127]) tartalmazza.
Ha a megadott lépéshossz nem megfelelő, az utasítást újra kéri a program.
• Az utasításokat egy int típusú, 10 elemű tömbben kell tárolni, az alábbi felépítésben: x előjele,
x6…x0, y előjele, y6…y0, y előjele, z6…z0 (minden byte egy koordináta előjele és hossza). A
negatív előjel kódja 1, egyébként az előjel kódja zéró.
• A program végét jelzi, ha a lépéshossz zérus minden irányban vagy a 10. utasítást beolvasása
Ebben tudnál esetleg segíteni nekem?
Megköszönném mindenképp! -
-
sghc_toma
senior tag
-
Sk8erPeter
nagyúr
válasz Jester01 #1539 üzenetére
Mindegyikben igazad van. Késő volt Köszi, hogy szóltál!
A bemeneti adatok ellenőrizgetésével azért nem foglalkoztam, mert most csak a program megírására helyeztem a hangsúlyt, persze ettől függetlenül szükséges.
Amúgy ahogy teszteltem, jól működik a progi, azt csinálja, amit kéne."Egyébiránt pár oldallal korábban már volt itt ilyen kód "
Most rákerestem, erre gondoltál? Akkor már nem tömörebb (persze nem tökéletes) az enyém?Sk8erPeter
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Mibe tegyem a megtakarításaimat?
- Android alkalmazások - szoftver kibeszélő topik
- Eredeti játékok OFF topik
- Xbox Series X|S
- Bemutatta első táblagépét saját neve alatt a HMD
- Megérkezett a Corsair új M.2-es SSD-je, és mindennek mondható, csak lassúnak nem
- EAFC 24
- bambano: Bambanő háza tája
- SkyShowtime
- További aktív témák...
Állásajánlatok
Cég: Alpha Laptopszerviz Kft.
Város: Pécs
Cég: Promenade Publishing House Kft.
Város: Budapest