Új hozzászólás Aktív témák
-
Karma
félisten
válasz krisztianAMG #4050 üzenetére
Elvileg ha az a _kbhit() függvényhívás nem lenne ott, ennek a kódnak működnie kéne - az F1-12 és más spéci gombok kezelése már benne van a switchben (00 és E0). Próbáld meg azt az if-et kivenni, egyébként sincs semmi értelme.
Ezt most csak spekulálom, de szerintem ha az benne van, végtelen ciklusban pörgeti a CPU-t (egy magot 100%-on), amíg nem ütsz le egy billentyűt. Ami nagyon gáz.
[ Szerkesztve ]
“All nothings are not equal.”
-
krisztianAMG
senior tag
Kivettem a ciklust, futtatást: 1-es beüt, Enter. Szépen ki is írja, hogy "Ahoj". Utána F1, de egy 1-est ír, újabb Enter után pedig egy újabb "Ahoj"-t.
Egyébként igazad volt, 86%-on pörgette szegényt. És ezt kaptuk kiindulási alapnak...
Esetleg javaslat, merre induljak, hogy normálisan legyen megoldva?A feladat egy egyszerű játék: Kidob egy random karaktert, majd méri az idő, ami alatt azt a gombsoron leütöd. Plusz kiegészítésként kell tudnia: F1- Help, F2 - indítás...
[ Szerkesztve ]
-
Zsolt1
tag
Sziasztok!
Egy feladathoz muszáj lenne használnom a magyar ékezetes betűket. Sajnos fordításkor már jelzi is a CodeBlocks, hogy a karakterkódolással baj van és utána futtatáskor is rosszul jelennek meg a betűk. Többféle módszerrel próbálkoztam már:
1. #include <local.h> + setlocal(LC_ALL,""); - Ez egy darabig működött is, de amikor következőre megnyitottam CodeBlocks-al akkor már nem volt jó.
2. Olvastam, hogy át kell állítani a kódlapot 852-re - system("CHCP 852") - de ez sem jó, mivel ez rendesen kiírja, hogy "Az aktív kódlap: 852", de utána ugyan úgy rosszul kezeli az ékezetes karaktereket.
CodeBlocks-ban Windows-1250 van beállítva karakterkódolásnak, de próbáltam már UTF-8-al is(Nem tudom miért hittem benne, hogy segítene, de gondoltam megpróbálom ). A kérdés lényege az lenne tehát, hogy milyen módszer van arra, hogy fordításkor és futtatáskor is rendesen kezelje a CodeBlocks az ékezetes karaktereket? -
nyunyu
félisten
Adott egy standard C kod, ami eredetileg UNIX alatt lett fejlesztve, mezei parancssoros program.
Meg lehet ezt a kodot etetni valami modern windowsos fejlesztokornyezettel, hogy lepesrol lepesre tudjam debugolni, nezni hogyan alakulnak a belso valtozok aktualis ertekei?
Hello IT! Have you tried turning it off and on again?
-
nyunyu
félisten
Sikerult megetetni Visual Studio 2010-zel, be kellett allitani a projekt tulajdonsagainal Configuration properties/C/C++/Preprocessor alatt a Preprocessor definitions-ben, hogy "_CRT_SECURE_NO_WARNINGS"
Igy mar nem ugat az strcpy es tsai fuggvenyek elavultsagara, hanem lefordul.Viszont elojott az a kerdes, hogyan lehet beallitani, hogy milyen fajlt toljon be a fordito az stdin-re?
Linux/UNIX alatt "cat fajlnev | program"-mal kell futtatni.Meg kene maradnia platformfuggetlennek a kodnak, igy nem szivesen irnam at a fajlkezeles reszet.
Hello IT! Have you tried turning it off and on again?
-
nyunyu
félisten
Viszont elojott az a kerdes, hogyan lehet beallitani, hogy milyen fajlt toljon be a fordito az stdin-re?
Linux/UNIX alatt "cat fajlnev | program"-mal kell futtatni.Meg jo, hogy DOS/Windows parancssor is POSIX kompatibilis, igy mukodik az input/output atiranyitasra szolgalo <,>
Igy a programot igy kell futtatni:
program <fajlnevAzt meg be lehet allitani a VSben, hogy milyen parancssori parameterekkel debugolja a programot. (Configuration properties/Debugging/Command Arguments)
Hello IT! Have you tried turning it off and on again?
-
Segítőkész társra akadtál .
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
Vasinger!
nagyúr
Nem tudom, hogy lett már e linkelve, de ez egy nagyon jó oldal ha valaki meg akar tanulni C-ben programozni: KATT
-
Retekegér
HARDVERAPRÓD
Kéne valami tipp. Az a gondom, hogy a Code:locks debugger módjában a Watches ablak üres marad. Mit csinálok rosszul?
<< Heimdal >>
-
lockdown90
senior tag
Sziasztok!
adott egy stuktura amiben konyvcimeket,evszamokat tarolok, es ki szeretnem iratni egy eljarassal a legregebbi konyv cimet akkor ezt hogy tudom megtenni? Megtudom keresni a legkorabban kiadott konyv evet, de a hozzatartozo nevet az istennek se tudom kiiratni.
void kiir(nyil tomb[]){
int i;
int min=tomb[0].kiadev;
for(i=0; i<N; i++){
if(tomb[i].kiadev<min){
tomb[i].kiadev=min;
}
}
printf("Legregebbi konyv: %d\n Hozza tartozo cim: %s",min,tomb[i].cim);
}tudom,hogy a hozzatartozo cim kiirazasa eleve nem lehet jo mivel cikluson kivül nem vonatkozik ra az (i), de nem tudom hogyan tudnam kiiratni a legkorabbi evszamhoz megfelelo cimet.(/I)
[ Szerkesztve ]
i7 13700k - 32Gb DDR5 - RTX4070S
-
Bobrooney
senior tag
válasz lockdown90 #4065 üzenetére
void kiir(nyil tomb[]){
int i;
int min=tomb[0].kiadev;
for(i=1; i<N; i++){
if(tomb[i].kiadev<min){
min = i;
}
}
printf("Legregebbi konyv: %d\n Hozza tartozo cim: %s",min,tomb[min].cim);
}[ Szerkesztve ]
-
Bobrooney
senior tag
válasz lockdown90 #4067 üzenetére
gondoltam megpróbálod, nem futtattam le.
tomb.kiadev=min; // de ez itt wtf? a kiadási év lesz a minimum?[ Szerkesztve ]
-
válasz lockdown90 #4067 üzenetére
Nem. Így lesz helyes. Ugyanis a kiadási évet, és annak az indexét nem lehet egy változóban tárolni. Külön kell, mert a ciklusban a kiadási év a fontos, hiszen azzal nézzük meg hogy az adott könyv régebbi-e, de közben le kell tárolunk, hogy melyik volt ez, ami a végén szükséges.
N változó honnan jön? Használj inkább struktúra pointert, és mivel nem változik a struktúra, használj const kulcsszót (kettő is kell majd).
void kiir(nyil tomb[])
{
int i, minIndex;
int min=tomb[0].kiadev;
for(i=1; i<N; i++)
{
if(tomb[I].kiadev<min)
{
min = tomb(i).kiadev;
minIndex = i;
}
}
printf("Legregebbi konyv: %d\n Hozza tartozo cim: %s",tomb[minIndex].kiadev,tomb[minIndex].cim);
}[ Szerkesztve ]
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
lockdown90
senior tag
koszonom szepen a segitseget, meg annyit szeretnek kerdezni, hogy ha adott
egy hasonlo feladat, hogyan lehetne kiiratni az elso olyan hallgato nevet es indexet akinek az atlaga 3.5 felett van?i7 13700k - 32Gb DDR5 - RTX4070S
-
Bobrooney
senior tag
válasz lockdown90 #4071 üzenetére
az átlaguk már tudható?
if(hallgato[i].atlag > 3.5)
{
printf
} -
lockdown90
senior tag
válasz lockdown90 #4073 üzenetére
nah koszi kiirja, hulyeseget mondtam xd
i7 13700k - 32Gb DDR5 - RTX4070S
-
stranger28
addikt
Üdv!
A feladat, amit kaptam a következő:
Írjon programot, amely a standard bemenetről legfeljebb 30 karakter hosszúságú sztringeket olvas mindaddig, amíg olyan sztringet nem olvas, amelyben kizárólag különböző kezdőbetűvel kezdődő szavak szerepelnek.
Na, most én ezt megcsináltam, de szerintem ennél rövidebb megvalósításra gondoltak, így érdekelne, hogy ki hogyan oldaná meg/mi a legegyszerűbb módja ennek.
-
Jester01
veterán
válasz stranger28 #4075 üzenetére
Aki ezt a specifikációt írta azt fel kellene pofozni
Mi az, hogy stringeket olvas? Sorokat, gondolom, aminek a végén valamilyen soremelés van.
Mit csináljon, ha több mint 30 karakter egy sor?
Hogyan definiáljuk a szavakat? Írásjelekkel mi a helyzet?
Milyen ábécét használjunk - magyart vagy angolt? Előbbi esetén mi legyen a kettősbetűkkel? Kisbetűk és nagybetűk egyformák?Hirtelen csak ennyi problémát látok ami nélkül tulajdonképpen el sem lehet kezdeni.
Jester
-
Jester01
veterán
válasz stranger28 #4077 üzenetére
#include <stdio.h>
#include <string.h>
int main()
{
unsigned char stats['z' - 'a' + 1] = {0, };
int duplicate = 0;
int word = 1;
int c;
while((c = getchar()) != EOF) {
if (c == '\n') {
if (duplicate == 0) break;
memset(stats, 0, sizeof stats);
duplicate = 0;
word = 1;
continue;
}
if (c == ' ') {
word = 1;
continue;
}
if (word == 0) continue;
word = 0;
c -= 'a';
if (c < 0 || c >= sizeof stats) continue;
duplicate = (stats[ c ]++ > 0);
}
return 0;
}Hosszt nem ellenőriz, csak angol kisbetűs szavak számítanak és csak szóköz után.
[ Szerkesztve ]
Jester
-
lockdown90
senior tag
Azt hogy lehetne megoldani h bekeresnel space is lehet a szovegben:
pl scanf-el ugye csak igy lehet h Toth.Peter, gets()-et ugye nem hasznaljuk
fgets-el viszont a for ciklusnal ugrik kerdekeset.fgets(tomb[i].nev,100,stdin);
[ Szerkesztve ]
i7 13700k - 32Gb DDR5 - RTX4070S
-
Bobrooney
senior tag
válasz lockdown90 #4080 üzenetére
Szerintem fflush-el kell üríteni a stdin-t.
-
skylaner
senior tag
válasz lockdown90 #4080 üzenetére
Ha csak fgets()-t használsz elvileg nem lehet ilyen gond.
Ha van közte scanf() akkor az a baj.
Minden scanf() után ürítsd az input stream buffert. ( hívd meg az alábbi fgv-t)void input_stream_cleaner()
{
char c=0;
while (c != '\n' && c != EOF) { c = getchar(); }
} -
lockdown90
senior tag
Abban szeretném ismét a segítségeteket kérni, hogy adott egy struktura, amiben kul tipusu adatokat tarolok
egy konyvrol (konyvek adatai). Namos letrehozok egy nyil struktura tipusu tombot amit forral toltogetek fel, sikerul is betoltogetni, de ennel a reszfeladatnal elakadok:-éves kölcsönzések száma (10 db szám, az első szám a könyv tavalyi kölcsönzéseinek száma..., a tízedik szám a könyv 10 évvel ezelőtti kölcsönzéseinek száma).
hogy tudom megcsinalni,hogy az utolso kerdesnel amikor kerem be a kolcsonzesek szamat 10db szamot tudjak megadni, irtam ra egy kulon eljarast forral, de csak 5-ig szamol utana lefagy, ugyan ezt a strukturaban levo tombot akarom elerni mint az elott elevo eljarasnal tomb.kolcsszam. de 5 szamot enged beirni csak, lefagy sajnos.
#include <stdio.h>
#define N 1
typedef struct nyil
{
char szerzo[30];
char cim[30];
int kiadev;
float kiadar;
char kolcsonozve[30];
int kolcsszam[11];
}nyil;
void beker(nyil tomb[])
{
int i;
for(i=0; i<N; i++)
{
printf("Add meg a szerzot:");
scanf("%s",tomb[i].szerzo);
printf("Add meg a konyv cimet:");
scanf("%s",tomb[i].cim);
printf("Add meg a kiadas evet:");
scanf("%d",&tomb[i].kiadev);
printf("Add meg a kiadasi arat:");
scanf("%f",&tomb[i].kiadar);
printf("Kikolcsonozve?:");
scanf("%s",tomb[i].kolcsonozve);
}
}
void kolcs(nyil tomb[])
{
int i;
printf("Eves kolcsonzesek szama(10db szam):");
for(i=0; i<11; i++)
{
scanf("%d",&tomb[i].kolcsszam);
}
}
void kiir(nyil tomb[])
{
int i;
for(i=0; i<N; i++)
{
printf("Szerzo: %s\n",tomb[i].szerzo);
printf("Cim: %s\n",tomb[i].cim);
printf("Kiad. ev: %d\n",tomb[i].kiadev);
printf("Kiad. ar: %d\n",tomb[i].kiadar);
printf("Kolcsonozve: %s\n",tomb[i].kolcsonozve);
printf("Eves kolcs szam: %d\n",tomb[i].kolcsszam);
}
}
int main()
{
nyil tomb[3];
beker(tomb);
kolcs(tomb);
kiir(tomb);
system("pause");
return 0;
}nem tudja tarolni rendesen?
[ Szerkesztve ]
i7 13700k - 32Gb DDR5 - RTX4070S
-
skylaner
senior tag
válasz lockdown90 #4083 üzenetére
A nyil tömböd 3 elemű: nyil tomb[3];
A kolcs() fgv--ben 0-tól 10. elemig akarod bejárni a 3 elemű tömbödet.
Egyszerűen túl-indexeled.Amúgy nem csak 1 db könyv adatát kéri be, írja ki?
#define N 1
for(i=0; i<N; i++) -
skylaner
senior tag
válasz lockdown90 #4085 üzenetére
De a nyil tomb[3] !!!3 elemű!!!!
for(i=0; i<11; i++)
scanf("%d",&tomb[i].kolcsszam);
tomb[0].kolcsszam, tomb[1].kolcsszam, tomb[2].kolcsszam tomb[3].kolcsszam ... tomb[10].kolcsszam
A feketével jelzett elemek nem léteznek!Te ezt akarod:
for(i=0; i<11; i++)
scanf("%d",&tomb[N].kolcsszam[i]); -
hunterrop8
csendes tag
sziasztok, egyetemen most kezdtünk el programozni és lenne egy kérdésem. A feladat az, hogy töltsünk fel egy 100elemes stringet 'a' kezdőértékkel, és utána 0.25-el csökkenjen mindig a többi. Aztán meg kell keresni, h hány olyan van ami egész, és nagybetű. Ezek még mennek is.
De van egy olyan feladat, hogy saját függvényben meg kell számolni a mássalhangzók, és a magánhangzók számát, és ugye úgy, hogy amikor a mainben a return 0-nál vége a programnak ott kiírja őket. Ezt eddig nekem csak úgy sikerült, hogy két külön sajátfüggvényben számoltam meg őket külön.
A kérdésem az lenne, hogyan lehet megcsinálni, hogy egy saját függvénnyel száoljam meg őket? (mert amikor így próbálom akkor a return után csak az egyket tudom beírni, és akkor a mainbe a mgh-hoz és az msh-hoz is ugyan azt írja.)
Valaki tudna segíteni? Leírni a sajátfüggvényt, meg h a mainbe mi kell hozzá esetleg? Köszönöm -
Jester01
veterán
válasz hunterrop8 #4087 üzenetére
Ha egy függvényből két értéket akarsz visszaadni akkor használj struktúra típusú visszatérési értéket vagy pointereket.
struct result {
int vowels;
int consonants;
};
struct result count(const char* text) { ... }
int main() {
struct result r = count("...");
printf("%d %d\n", r.vowels, r.consonants);
return 0;
}-vagy-
void count(const char* text, int* vowels, int* consonants) { ... }
int main() {
int vowels, consonants;
count("...", &vowels, &consonants);
printf("%d %d\n", vowels, consonants);
return 0;
}[ Szerkesztve ]
Jester
-
hunterrop8
csendes tag
Köszi szépen a választ, közben lenne még egy kérdésem, a következő a feladat:
10 elemű tömböt töltsön fel egész értékekkel. a beolvasást sajátfüggvénnyel végezze számjegyenként enterig. a szám legfeljebb 4jegyű decimális lehet.
Ezt hogy?? Én úgy próbáltam, h a sfgv-ben bekérek 10elemet, azokat tömbe teszem, de azt hogy tehetem át a mainbe? vagy nem is így kéne?[ Szerkesztve ]
-
bucsupeti
senior tag
válasz hunterrop8 #4089 üzenetére
irj egy függvényt ami bekér egy adott hosszuságú egész számot és visszaadja azt.
ezt hivogasd egy for ciklusba és tedd bele a visszaadott értéket a tömbbe.
a main lényege kb ez lenne:
for(i=0;i<10;i++)
t=egeszbeker(4);az egeszbeker() fv paraméterezésében én megadnám a max hosszat.
persze ellenörzések stb kell még hozzá.
"Nem gond ha nem vágod a párologtatók bináris nyelvét..."
-
Kezd nagyon felidegesíteni az Eclipse. A fordítás rendben lemegy. A problémák a linkelésnél jönnek elő. Hogyan lehet az olyan problémákat kiküszöbölni mint pl:
./ex_task4.o.data+0x2): multiple definition of `__heap_start'
./ex_init4.o.data+0x2): first defined here$ grep -R __heap_start
noscfg.h: * ::__heap_start and ::__heap_end must be provided and initialized
noscfg.h:extern void *__heap_start;
inc/pos_nano.h: * it is required to set the variables ::__heap_start and
Binary file Release/ex_init4.o matches
Release/PicoOS_task1.map: 0x000000000080006b __heap_start
Release/PicoOS_task1.map: 0x000000000080465b PROVIDE (__heap_start, .)
Binary file Release/ex_task4.o matches
Binary file Release/src/nano/n_mem.o matches
ex_init4.c:void *__heap_start = (void*) &membuf_g[0];
src/nano/n_mem.c: freeBlockList_g = (BLOCK_t)(void*)MEM_ALIGN((MEMPTR_t)(__heap_start));???
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
Jester01
veterán
válasz buherton #4091 üzenetére
A grep kimenet alapján az ex_init4.c-ben van benne tehát a "jogos tulajdonos" ő. Ha a linker szerint az ex_task4.o-ban is benne van, az azt jelenti, hogy huncutság van, például az ex_task4.c-ben lehet egy #include "ex_init4.c". Mindenesetre valahogy belekerül abba a modulba is, azt kell kinyomozni, hogyan.
Jester
-
válasz Jester01 #4092 üzenetére
Ha a linker szerint az ex_task4.o-ban is benne van, az azt jelenti, hogy huncutság van, például az ex_task4.c-ben lehet egy #include "ex_init4.c".
Ezt nem tudom, hogy honnan tudtad, de tényleg így van. Az ex_task4.c-ben semmilyen __heap_start-os declarálás, definiálás vagy hasonló sincs. De ez miért jelent problémát?
MOD: Arra gondolsz, hogy a make környezet úgy fordítja, hogy minden c fájt fordít, és ennek az lesz a következménye, hogy az ex_task4.c-ből includálva van az ex_init4.c ezért gyakorlatilag az ex_init4.c kétszer van fordítva? És amikor a linkeléshez ér, akkor jön a felismerés, hogy két __heap_start van, mert bár az ex_task4.c nem tartalmazza, de az include miatt mégis bele kerül.
(#4093) Karma: Igen, több példa is van, viszont úgy van megcsinálva, hogy a közös dolgok 4 init fájlban vannak, és a különböző példák ezeket include-álják és így egy rakat fölös kódot nem kell ismételten leírni. Ilyen a main, a task inicializálás, deklarálások, stb..-k. Nem túl szép, de az biztos hogy hatékony, de egyelőre még nem fordul...
[ Szerkesztve ]
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
Karma
félisten
válasz buherton #4094 üzenetére
Hát de az nem fasza, hogy lefordítja az ex_init4-et egyszer, aztán az ex_task4-et is (amiben benne van az include miatt az ex_init4 tartalma, és ezért van benne __heap_start...), és egymás mellé rakja őket. Elég egyértelműen rossz felépítés.
Rá kell venned az Eclipse-et, hogy csak az ex_task4-et fordítsa le, vagy vedd ki az include-ot és hagyd hogy a linker tegye a dolgát.
[ Szerkesztve ]
“All nothings are not equal.”
-
Hát nem. Ez a példa lefordult, de másfélszer (igazából 10-szer annyit, csak faragtam rajta) annyi memóriát eszik mint amennyi van a mikrokontrollerben (1 kB van az MCU-ban), mert a nano részt is használja. Próbálkoztam az első példával, ami csak a pico-t használja, de úgy szó szerint egy rakás bug az egész. Olyan assembly parancsokat használ, ami nincs az AVR-nek, és ha azt javítom sem fordul le, mert két millió más baja van. Pedig nagyon ígéretesnek tűnt, mert x86-on is lehet használni.
[ Szerkesztve ]
tely, baly, fojó, mennyél, mingyárt, telyföl, tolyás, malyd, kapú, egyenlőre, ejsd, jáccani, ahoz, fúj, hüje, muszály, alat, álok, lasan, fojtatás, ál, fontós, költsön, eggyüt, lyob (jobb?), mek, mongyak, milyért - !!! Tanúlyunk már meghejjessen irni... !!!
-
hoffman_
nagyúr
sziasztok,
miután leprogramozták nekem C#-ben, mert én hülye elnéztem a topicot, ide is eltaláltam... a kérdés adott, mutatom:
továbbra is szükségem lenne segítségre, a második, függvényekkel operáló zh-t nem tudom abszolválni, most megyek pótra kedden, de ezen is meg fognak vágni, ha így megy, és az nagy gáz lesz.
két program van, amit meg kéne írnom, tud valaki ebben segíteni? illetve több, csak jó lenne, ha ezt a kettőt látnám, hogy lássam, hogy néz ki. utána már talán meg tudom érteni egyedül is.
első:
bekérni s1 tömbbe 10 darab 4 jegyű számot, úgy, hogy az 1-es és 100-as helyiértéken lévő számok nem egyezhetnek(tehát 2345 jó, 2343 nem jó). ezután s2 tömbbe átmásolni azokat, ahol a számjegy 0. bitjén 0 van, az 1. biten pedig 1-es. ezután az utolsó 4 elem átlagát kell venni. mindegyik részt függvénnyel.második:
10 darab char bekérése s1 tömbbe ascii kód alapján úgy, hogy a 10-es helyiértéken 3-mal osztható szám legyen, és később sztringként lehessen használni. ezután s2-be másolni a karaktereket, ahol a 0. és 1. biten is 1-es áll. ezután az első 5 elem összegét kell venni. mindegyik részt függvénnyel.nagyon fontos lenne, hogy ezeket lássam, remélem valaki tud időben segíteni. előre is köszönök mindent
[ Szerkesztve ]
"The time you enjoy wasting is not wasted time."
-
hoffman_
nagyúr
válasz hoffman_ #4097 üzenetére
senki többet harmadszor? nagyon fontos lenne.
illetve még egy kérdés. írtam én is valamit egy feladatra, természetesen nem jó, és nem tudom, hogy miért. valaki meg tudja javítani esetleg?
feladat: bekérni s1 tömbbe 10 karaktert úgy, hogy ascii kód szerint a 1-es és 100-as helyiértéken csak 6 vagy 7 állhat. ezután s2-be másolni az elemeket(ha van), amelyeknél a 10-es helyiértéken lévő szám 0. bitje 0, az 1. bitje pedig 1, utána az első 4 elem minimumát kell megadni. mindent függvénnyel.
- min függvény ebben még nincs is benne, de így se ok
void beker(unsigned char *s1);
int masol(unsigned char *s1, unsigned char *s2);
int main()
{
unsigned char s1[10], s2[10];
beker(s1);
masol(s1, s2);
return 0;
}
void beker(unsigned char *s1)
{
int i=0;
unsigned int temp;
/*while(i<10)
{
scanf("%d", temp);
if((temp[i] &0x3 == 0x6) || (temp[i] &0x3 == 0x7)) s1[i]=temp;
i++;
}*/
while(i<10)
{
scanf("%d", temp);
if((temp &0x3 == 0x6) || (temp &0x3 == 0x7)) s1[i]=temp;
else s1[i]=0;
i++;
}
}
int masol(unsigned char *s1, unsigned char *s2)
{
int i=0, j=0;
while(i<10) s2[i++]=0;
i=0;
while(i<10)
{
if(s1[i] &0x5 == 0x1) s2[j++]=s1[i];
i++;
printf("%d, ", s2);
}
}[ Szerkesztve ]
"The time you enjoy wasting is not wasted time."
-
Jester01
veterán
-
hoffman_
nagyúr
válasz Jester01 #4099 üzenetére
mhm, köszönöm!
akkor a beolvasásra getc(stdin)-nel próbálok valamit. viszont a többire hiába írtad a hibát, nem tudom, hogy hogy lenne helyes a megoldás. ezt a maszkolás részt akkor nagyon nem értem ezek szerint.
[ Szerkesztve ]
"The time you enjoy wasting is not wasted time."
Ú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!
- Azonnali alaplapos kérdések órája
- Path of Exile (ARPG)
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- Android alkalmazások - szoftver kibeszélő topik
- Kormányok / Autós szimulátorok topicja
- Mibe tegyem a megtakarításaimat?
- Politika
- Ukrajnai háború
- Elemlámpa, zseblámpa
- Nothing Phone 2a - semmi nem drága
- További aktív témák...
- Utolsó darab - 670.000 Ft helyett - 465.000 Ft MacBook Air Retina 13" M2 8GB / 512 SSD / Magyar
- Apple iPhone 13 Midnight 256GB iSTYLE 2025.03.26. GARANCIA
- LG UltraWide 38WN95C-W Monitor 1 év Garancia
- iMac 2017 27" Retina 5K CTO / i7 4.2 GHz / 40 GB DDR4 / 1 TB SSD + doboz
- iMac 2017 27" Retina 5K CTO / i5 3.8 GHz / 40 GB DDR4 / 1 TB SSD / Radeon Pro 580 8 GB + doboz