- Fotók, videók mobillal
- iPhone topik
- A Watch7-tel debütálhat a Samsung vércukormérője
- Garmin Forerunner 165 - alapozó edzés
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Telekom mobilszolgáltatások
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Bemutatkozott a Redmi új szériája
- Oppo Find X5 Pro - megtalálták
- Bluetooth-headsetekről általában
Hirdetés
-
Rövid előzetesen a S.T.A.L.K.E.R. 2: Heart of Chornobyl
gp Továbbra is szeptemberi premierrel számolnak a fejlesztők, reméljük több halasztásra már nem kell számítanunk.
-
Olcsó 5G-s ajánlatot nyújt a Realme Indiának
ma Megérkezett a Realme C65 5G, az első készülék a MediaTek Dimensity 6300-zal.
-
Robotkart irányított a majom a kínai Neuralink agyi chipjével
it A mindezt lehetővé tévő Neucybert a Neuralink kínai riválisa, a Beijing Xinzhida Neurotechnology fejlesztette ki.
-
Mobilarena
Új hozzászólás Aktív témák
-
Dufresne
addikt
Én kis basic-es kérdésemre semmi?
[Szerkesztve] -
pawee
tag
válasz Forest_roby #2150 üzenetére
ha esetleg sikerül, akkor átnyomhatnád a forrást, megnézném, tényleg érdekes!!!
Minden input az ördögtől érkezik!
-
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
-
-
#include <stdio.h>
FILE *be;
char *t[256];
int iii,c;
int main(int argc, char *argv[]) {
for(iii=0;iii<256;iii++) t[iii]=NULL;
t['á'=''a'''; // itt felsorold az összes átírnivalót
t['A'=''A''';
be=fopen(argv[1],''r'');
while(!feof(be)) {
c=fgetc(be);
if(t[c]==NULL) {
printf(''%c'',c); } else {
printf(''%s'',t[c]); }
}
fclose(be);
return 0;
}
nekem ennyiből megállt. rendes helyen nem ártana ellenőrizn az argumentumok számát, meg hogy meg lehet-e nyitni a file-t meg ilyenek. de most mindjárt hajnali kettő
Szerk: a kódbeszúrás nem ment elsőre
ohh,de jó, hogy a t tömb i indexét smileynak vette a fórumszoftver...
[Szerkesztve]
[Szerkesztve]Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
válasz bambano #2155 üzenetére
#include <stdio.h>
FILE *be;
char *t[256];
int i,c;
int main(int argc, char *argv[]) {
for(i=0;i<256;i++) t=NULL;
t['á']=''a''';
t['A']=''A''';
be=fopen(argv[1],''r'');
while(!feof(be)) {
c=fgetc(be);
if(t[c]==NULL) {
printf(''%c'',c); } else {
printf(''%s'',t[c]); }
}
fclose(be);
return 0;
}Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
Jester01
veterán
válasz bambano #2156 üzenetére
1. A változókat gondolom a main-be lokálisan akartad tenni
2. Mint említettem az unsigned char cast szükséges. Pl. x86 linuxon gcc 4.0 esetén (most ez van kéznél) a char az signed és emiatt nem mûködik a progi.
3. az feof tesztelés így nem jó, túlolvas. Egyszerûen az fgetc visszatérési értékét kell EOF-fal összehasonlítani.
Bocs a kötözködésért.
Még egy apró gondolkoznivaló a kérdezõnek: vigyázz milyen kódlapot használsz.Jester
-
shev7
veterán
válasz Dufresne #2151 üzenetére
ha a szamok az A1:A10-ben vannak:
Sub Dufresne()
Dim osszeg, db As Integer
osszeg = 0
darab = 0
For i = 1 To 10
If (Cells(i, 1) Mod 2 = 0) Then
osszeg = osszeg + Cells(i, 1)
darab = darab + 1
Cells(3, 3 + darab) = Cells(i, 1)
End If
Next i
Cells(1, 4) = osszeg / darab
Cells(2, 4) = darab
End Sub
Akkor a d1-ben lesz az atlag, d2-ben a darabszam d3-tol kezdve pedig sorban a paros szamok.''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
válasz Jester01 #2157 üzenetére
1. A változókat nem akartam a mainben lokálisnak, 5 soros programnál mindegy.
2. Az int is megfelel unsigned char helyett, az fgetc a linux manual szerint:
'' fgetc() reads the next character from stream and returns it as an unsigned char cast to an int, or EOF on end of file or error.''. A signed charral nekem is volt gondom, ebben igazad van.
3. Próbáltam az fgetc-t tesztelni EOF-ra, nekem nem jött össze, pedig valóban az a kényelmes és hagyományos megoldás.
A kétbájtos kódlapokkal a kérdező küzdeni fog
Egyébként ha már kötözködés: tök felesleges így ebben a formában programot írni, egyszerűbb recode-dal legyártatni egy táblázatot és azzal konvertálni.Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
bdav
őstag
válasz bambano #2154 üzenetére
str2t majd a hívó fél, ha változót adsz paraméterül akkor ciki lenne ha felszabadítaná, ha nem akkor abban nem vagyok biztos
realloccal igazad van, de C-ből a beépített függvényekből elég keveset tudok fejből (amikor tanultam nem kellett, azóta meg nem programozok C-ben)10 féle ember van a világon. Aki ismeri a kettes számrendszert és aki nem. ''A név nincs hosszabb páncélszekrény''
-
SN2O
aktív tag
Sziasztok
Eléggé nagy bajban vagyok miel ''c''-ben tanulok programozni és mostanában kell elkészítenem az első ''kötelező'' programom, de a gyakorlatvezető tanár nagyon kevés segítséget adott(szinte semmit)! Még arra se volt hajlandó(''nincs rá idő'' kifogással), hogy az órán elkészítsen előttünk egy minimális programot, hogy legalább egyet lásunk!
Szóval eléggé nagy bajban vagyok ezért próbálok tőletek segítséget kérni:
A feladatom az, hogy egy ''be.txt'' nevü fájlból beolvassak egy számot (a szám maximum 999 999 999 999 -lehet) és sorvégjel van a szám utánn.
Ezután egy ''ki.txt'' nevű fájlba betűvel kell, hogy kiírja ugyanazt a számot ami a be.txt-ben volt.
Bármilyen segítségnek nagyon örülnék!
Légyszi ha valaki tud! -
Ha a visszafelé kódolásra gondolsz, akkor ahhoz hozzá se fogj, mert nem lehet megcsinálni.
Egy szóvégi ékezetről nem derül ki, hogy ékezet vagy egy idézet lezárása.
Egyébként érdemes megnézni a hix editort, abban van ilyen.Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
-
Pho3bus
tag
sziasztok!egy óriási segitség kellene!!megirtam a köt progimat és a biró(igy hivják azt a programot ami ellenőrzi) nem akar rá pontot adni és ma van az utolsó határidő, h beadjam!!eleget szenvedtem vele ahhoz h ne kapjak rá pontot!!lenne olyan szives valaki h átnézné...megköszönném!!
-
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
-
Jester01
veterán
válasz bambano #2159 üzenetére
1. nem mindegy, hogy mit szokik meg.
2. Nem az fgetc-nél kell a cast, az valóban úgy van ahogy írtad. Hanem a táblázat feltöltésénél, ahol karakter konstansot használsz. Itt, ni:
t['á']=''a''';
3. Nekem megy. Ellentétben a tieddel, mert az - mint említettem - túlolvas és aztán mínusz egyet (EOF) használ tömb indexnek.
[Szerkesztve]Jester
-
Jester01
veterán
#include <stdio.h>
int main (int argc, char *argv[])
{
FILE *be;
int c;
char *t[256] = { 0, };
t[(unsigned char) 'á' = ''a''';
t[(unsigned char) 'Á' = ''A''';
be = fopen (argv[1], ''r'');
while ((c = fgetc (be)) != EOF)
{
if (t[c] == NULL)
{
fputc(c, stdout);
} else {
fputs(t[c], stdout);
}
}
fclose (be);
return 0;
}Jester
-
pawee
tag
válasz Forest_roby #2168 üzenetére
egyébként azt ajánlották hogy ezzel a kódlappal csináljam
http://www.aihara.co.jp/~taiji/tops/images/iso-8859-2.gif
és ebben ahogy nézem van ékezetes betűMinden input az ördögtől érkezik!
-
-
shev7
veterán
válasz Forest_roby #2175 üzenetére
azthiszem c-ben is mukodik, hogy eleirsz egy 0x-et. Tehat az á az a 0xe1.
Vagy atszamolod decimalisba.''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
s1ny1
tag
tudnátok segíteni? egy olyan programra lenne szükségem amellyel vissza lehet fejteni egy *.exe fájlt ami nagy valószínűséggel c++ környzeteben készült. vagy ha esetleg a c++ -on belül közvetlenül megoldható annak is örülnék
[Szerkesztve] -
shev7
veterán
válasz Dufresne #2183 üzenetére
nemtudom minek erre progit irni, de tessek
Sub Dufresne()
Dim osszeg, db As Integer
osszeg = 0
darab = 0
For i = 1 To 10
If (i Mod 2 = 0) Then
osszeg = osszeg + i
darab = darab + 1
Cells(3, 3 + darab) = i
End If
Next i
Cells(1, 4) = osszeg / darab
Cells(2, 4) = darab
End Sub
MOD: akar te is atirhattad volna
[Szerkesztve]''Gee, Brain, what do you want to do tonight?'' ''The same thing we do every night, Pinky: Try to take over the world!''
-
-
-
doc
nagyúr
'reggelt
szeretnék soros portot programozni C++-ban
ehhez keresek valamilyen FREE libet. sajna vindóz alá kéne, így a legegyszerűbb megoldás (/dev/tty kezelése) kiesett... -
pawee
tag
-
Jester01
veterán
-
pawee
tag
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//file-változók deklarálás
int main ()
{
//változók deklarálása
FILE *fin;
FILE *fout;
int i,j;
char stri[160];
char stro[160];
char ch;
//file-ok megnyitása
fin = fopen(''be.txt'',''rt'');
fout = fopen(''ki.txt'',''wt'');
//inicializásás
j=0;
i=0;
fscanf(fin,''%s'',stri);
//átalakítások
while (!feof(fin))
{
i++;
ch = stri;
//síma ékezetes nagy betűk
if (ch == 'Á');
{
stro[j] = 'A';
++j;
stro[j] = '\'';
++j;
}
if (ch == 'É');
{
stro[j] = 'E';
++j;
stro[j] = '\'';
++j;
}
if (ch == 'Í');
{
stro[j] = 'I';
++j;
stro[j] = '\'';
++j;
}
if (ch == 'Ú');
{
stro[j] = 'U';
++j;
stro[j] = '\'';
++j;
}
if (ch == 'Ó');
{
stro[j] = 'O';
++j;
stro[j] = '\'';
++j;
}
if (ch == 'Ű');
{
stro[j] = 'U';
++j;
stro[j] = '\''';
++j;
}
if (ch == 'Ő');
{
stro[j] = 'O';
++j;
stro[j] = '\''';
++j;
}
if (ch == 'Ö');
{
stro[j] = 'O';
++j;
stro[j] = ':';
++j;
}
if (ch == 'Ü');
{
stro[j] = 'U';
++j;
stro[j] = ':';
++j;
}
//síma ékezetes kis betűk
if (ch == 'á');
{
stro[j] = 'a';
++j;
stro[j] = '\'';
++j;
}
if (ch == 'é');
{
stro[j] = 'e';
++j;
stro[j] = '\'';
++j;
}
if (ch == 'í');
{
stro[j] = 'i';
++j;
stro[j] = '\'';
++j;
}
if (ch == 'ú');
{
stro[j] = 'u';
++j;
stro[j] = '\'';
++j;
}
if (ch == 'ó');
{
stro[j] = 'o';
++j;
stro[j] = '\'';
++j;
}
if (ch == 'ű');
{
stro[j] = 'u';
++j;
stro[j] = '\''';
++j;
}
if (ch == 'ő');
{
stro[j] = 'o';
++j;
stro[j] = '\''';
++j;
}
if (ch == 'ö');
{
stro[j] = 'o';
++j;
stro[j] = ':';
++j;
}
if (ch == 'ü');
{
stro[j] = 'u';
++j;
stro[j] = ':';
++j;
}
// repülő ékezet átírása síma ékezetté, nagybetűk
//repülőékezet átírása síma ékezetté, kisbetűk
}
//az átalakított string kiírása
fprintf(fout,''%s'',stro);
//file-ok lezárása
fflush(fout);
fclose(fout);
}
repülőékezetes probléma...szerintetek miért nem fut???lefordulni lefordul, de futásidejű hibával leáll, fuási hiba 11 vmi ilyet ír ki a bíróMinden input az ördögtől érkezik!
-
pawee
tag
és ha eg for cikulsba rakom be és így néz ki az eleje hogy:
for (i=0;strlen(stri);i++)
{
...
}Minden input az ördögtől érkezik!
-
-
pawee
tag
egysor elég...minden bemeneti fájlban csak egy szó van
basszus tényleg... a ;-t észre sem vettem...
[Szerkesztve]Minden input az ördögtől érkezik!
-
pawee
tag
hogy zárjam le???\0 val vagy hogy gondoltad?
sőőt azon gondolkodok hogy ha minden bemenetben csak egy szóvan akkor nem is kell for ciklus, nem???
[Szerkesztve]Minden input az ördögtől érkezik!
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- PlayStation 5
- LG 34GS95QE-B: OLED paneles, ívelt gamer monitor
- Teljes verziós, ingyenes mobil játékok és alkalmazások
- Bambu Lab X1/X1C, P1P-P1S és A1 mini tulajok
- Eredeti játékok OFF topik
- Politika
- Fotók, videók mobillal
- iPhone topik
- PlayerUnknown’s Battlegrounds
- Milyen billentyűzetet vegyek?
- További aktív témák...
- Tyű-ha! HP EliteBook 850 G7 Fémházas Szuper Strapabíró Laptop 15,6" -65% i7-10610U 32/512 FHD HUN
- Bomba ár! HP EliteBook 840 G5 - i5-8G I 8GB I 128GB SSD I 14" FHD I HDMI I Cam I W10 I Gari!
- The Last of Us Part I Ps5
- Bomba ár! HP EliteBook 830 G6 - i7-8G I 8GB I 256GB SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- Bomba ár! Dell Latitude 5580 - i5-G6 I 8-16GB I 256 SSD I 15,6" FHD I HDMI I CAM I W10 I Garancia