- One mobilszolgáltatások
- Samsung Galaxy A55 - új év, régi stratégia
- Karaktere biztos lesz az első Nothing fejhallgatónak
- Honor 200 - kétszázért pont jó lenne
- Honor 200 Pro - mobilportré
- Keretmentesít a Galaxy S25 FE
- Csíkszélességben verné az Exynos 2600 a Snapdragon 8 Elite 2-t
- iPhone topik
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Samsung Galaxy A54 - türelemjáték
Új hozzászólás Aktív témák
-
shinodas
tag
Úúú de ökör vagyok!
Köszönöm! -
shinodas
tag
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
int main()
{
int fd;
unsigned char nev[20];
fd=open("nev.txt",O_CREAT|O_RDWR,0xffff);
write("Peti", 5);
lseek(fd,0,SEEK_SET);
read(fd,"nev.txt",5);
printf("%s",nev);
close(fd);
return 0;
}Sziasztok, ezt szeretném futtatni, de mikor debuggolnám, akkor megnyit egy másik header fájlt.
a unistd.h-t nyitja meg. Ahelyett, hogy beduggolna rendesen...miért van ez?
szerk.: codeblocksban
-
shinodas
tag
warning:gdb:failed to set controlling terminal
peration not permitted
erre a hibaüzenetre valaki tud valamit? nem enged debuggolni normálisan :S -
shinodas
tag
Sziasztok!
int main()
{
char tomb[144];
int i=0;
char a=0;
while(i<145)
{
if(a>'A' && a<'z')
{
tomb[i]==a;
i++;
a++;
}
else{
a++;
}
}
return 0;
}
Azt szeretném elérni, hogy az ascii táblából az A és a z karakterek közti elemeket tegye be egy tömbbe. A tomb==a-ra nem tudom miért írja, hogy semmilyen hatása nincs, mármint, nem értem miért nem jó. És ezt a hibát is dobja "warning:gdb:failed to set controlling terminal: operation not permitted" Ubuntu alatt, codeblocksban. -
shinodas
tag
Köszönöm a válaszokat!
-
shinodas
tag
válasz
Jester01 #3339 üzenetére
Én arra lennék kíváncsi, hogy pl van egy *p pointerem, és egy tomb[10] tömböm. Beállítom, hogy p=tomb, megkapja a kezdőcímét a tömbnek, a pointer, ha jól tudom. De nem tudom, hogy konkrétan, hogyan néz ki az a kifejezés, aminél a pointert a kezdő címére állítom vissza. Egy saját függvényben, ahol csak a pointert "látom", a tömbböt nem, ott nem tudom.
Mit javasolnál ehelyett az algoritmus helyett?
-
shinodas
tag
Sziasztok!
Adott két tömb, amelyeket szeretnék összehasonlítani. Megszeretném számolni a két tömbben hány elem értéke egyezik meg. Ez megy is, örülök is neki, de szeretném pointerekkel ugyanezt. Ugye az elmélet az az, hogy veszi az egyik tömb 0. elemét, majd végig pörgeti a másik tömbbön, van e egyezés. Ha van, akkor növel egy számlálót, és az első tömb következő eleméhez lép. Persze ilyenkor a másik tömb 0. eleménél folytatná a következő körben. Na ez az ami nem megy, pointerekkel, hogyan mondom meg a pointernek, hogy "te most nullázad le magad!"?
-
shinodas
tag
A voidos és a (*pointer)++ kombináció megoldotta a probllémát! Nagyon szépen köszönöm!
Arról tudnátok néhány mondatot mondani, hogy, ha void van, akkor mi történik?
-
shinodas
tag
válasz
Jester01 #3320 üzenetére
Jester01: Tudom, hogy nem minden mássalhangzó, itt most csak ez a pointeres dolog lett volna a lényeg.
Egyébként a hibaüzenetek alapján próbálok elindulni, csak annyira kezdő vagyok, hogy valamikor nem mond semmit nekem.
(*magan_p)++; ezt nem is tudtam pl, köszönömkingabo: A voidot kipróbálom, ezt sem gondoltam volna.
Egyébként szerintem ez a probléma, hogy csak úgy magamtól, netről próbálom tanulni, nincs egy könyvem, ami alapján haladhatnék. :S
Köszönöm a válaszokat /tippeket! Este beszámolok, mire jutottam
-
shinodas
tag
Ennek így nem kellene vissza adni az értéket rendesen?
#include <stdio.h>
#include <stdlib.h>
int massal_magan (char result[], int *magan_p, int *massal_p);
int main()
{
char string1[10];
char string2[10];
char result[20];
int i=0;
int r=0;
int maganhangzo=0;
int massalhangzo=0;
int *magan_p=0;
int *massal_p=0;
magan_p = &maganhangzo;
massal_p = &massalhangzo;
printf("Kérem adjon meg egy szót!\n");
scanf("%s", string1);
printf("Kérem adjon meg egy újabb szót!\n");
scanf("%s", string2);
//kis és nagybetűs átalakítás
for(i=0;string1[i]!='\0';i++)
{
if(string1[i]>=65 && string1[i]<=90)
{
string1[i]=string1[i]+32;
}
}
string1[0]=string1[0]-32;
for(i=0;string2[i]!='\0';i++)
{
if(string2[i]>=65 && string2[i]<=90)
{
string2[i]=string2[i]+32;
}
}
string2[0]=string2[0]-32;
i=0;
//összefűzés
while(string1[i]!='\0')
{
result[r]=string1[i];
r++;
i++;
}
result[r++]=' ';
i=0;
while(string2[i]!='\0')
{
result[r++]=string2[i];
i++;
}
result[r]='\0';
printf("Az összefűzött string: %s\n", result);
massal_magan(result, magan_p, massal_p);
printf("Mássalhangzók száma: %d\n", *massal_p);
return 0;
}
//SAJÁT FÜGGVÉNYEK
int massal_magan(char result[], int *magan_p, int *massal_p)
{
int i=0;
while(result[i]!='\0')
{
switch(result[i])
{
case 'a':
case 'e':
case 'o':
case 'i':
case 'u':
case 'A':
case 'E':
case 'O':
case 'I':
case 'U':
*magan_p++;
break;
default:
*massal_p++;
break;
}
i++;
}
return *magan_p;
return *massal_p;
}Mert olyan, mintha nem adná vissza...
Esetleg tudtok mutatni egy leírást, hogy ne itt kérdezzek hülyeségeket?Konkrétan erre a problémára nem találtam a google-ben választ, bár biztos van, csak rossz helyen keresem
-
shinodas
tag
Sziasztok! Kellemes pénteket mindenkinek!
Remélem nem probléma, hogy rengeteg kérdésem van, szóval itt egy újabb.
#include <stdio.h>
#include <stdlib.h>
int massal_magan (char result[], int *magan, int *massal);
int main()
{
char string1[10];
char string2[10];
char result[20];
int i=0;
int r=0;
int *magan=0;
int *massal=0;
printf("Kérem adjon meg egy szót!\n");
scanf("%s", string1);
printf("Kérem adjon meg egy újabb szót!\n");
scanf("%s", string2);
//kis és nagybetűs átalakítás
for(i=0;string1[i]!='\0';i++)
{
if(string1[i]>=65 && string1[i]<=90)
{
string1[i]=string1[i]+32;
}
}
string1[0]=string1[0]-32;
for(i=0;string2[i]!='\0';i++)
{
if(string2[i]>=65 && string2[i]<=90)
{
string2[i]=string2[i]+32;
}
}
string2[0]=string2[0]-32;
i=0;
//összefűzés
while(string1[i]!='\0')
{
result[r]=string1[i];
r++;
i++;
}
result[r++]=' ';
i=0;
while(string2[i]!='\0')
{
result[r++]=string2[i];
i++;
}
result[r]='\0';
printf("Az összefűzött string: %s\n", result);
massal_magan(result, *magan, massal);
return 0;
}
//SAJÁT FÜGGVÉNY
int massal_magan(char result[], int *magan, int *massal)
{
int i=0;
while(result[i]!='\0')
{
switch(result[i])
{
case 'a':
case 'e':
case 'o':
case 'i':
case 'u':
case 'A':
case 'E':
case 'O':
case 'I':
case 'U':
*magan++;
break;
default:
*massal++;
break;
}
i++;
}
return *magan, *massal;
}A gondom az értékátadással van, hogy megakarom számoltatni, a magán és mással hangzókat, ezeknek az értékét pedig pointerekkel visszaadni. Hogyan kellene ezt helyesen? A másik kérdésem pedig, hogy Mikor számolom a magánhangzókat, az ékezetes karakterekre hibát dob, mármint, pl case 'é'-re, gondolom valami kódolási gubanc, ezt hogyan lehetne kiküszöbölni?
Btw, itt főleg a 3. sorral van gondja a fordítónak, a függvénydeklarációnál -
shinodas
tag
Egy olyan kérdésem lenne, hogy, ha írok egy sajátfüggvényt, és az két értéket adna vissza, mikor meghívom a függvényemet, azt meghívásnál, hogy néz ki? Tehát pl return x,y; és ezt meghívásnál, hogy jelölöm, ha adott résznél nekem csak az x változó kéne ott? Remélem nem túl zavarosan fogalmazok, ha mégis, akkor bocsi
-
shinodas
tag
#include <stdio.h>
#include <stdlib.h>
int main()
{
char string1[10];
char string2[10];
char result[20];
int r=0, n=0;
printf("Kérek egy szót!\n");
scanf("%s",string1);
printf("Kérek egy szót!\n");
scanf("%s",string2);
for(n=0;string1[n]!='\0';n++)
{
result[r]=string1[n];
r++;
}
result[r++]=' ';
for(n=0;string2[n]!='\0';n++)
{
result[r]=string2[n];
r++;
}
result[r]='\0';
printf("%s", result);
return 0;
}Működik, én voltam a balf@sz
Köszi mindenkinek!
-
shinodas
tag
Sziasztok!
Írtam gyakorlásnak egy ilyen kis egyszerű dolgot, amit el akartam érni: kérjen be két szót, tárolja 2 stringbe, majd egy harmadikba fűzze össze a kettőt. A problémám, hogy a két szó közé akarnék egy spacet beerőltetni, de nem akar működni úgy. Mit nézek el?
#include <stdio.h>
#include <stdlib.h>
int main()
{
char string1[10];
char string2[10];
char result[20];
int r=0, n=0;
printf("Kérek egy szót!\n");
scanf("%s",string1);
printf("Kérek egy szót!\n");
scanf("%s",string2);
for(n=0;string1[n]!='\0';n++)
{
result[r]=string1[n];
r++;
}
for(n=0;string2[n]!='\0';n++)
{
result[r]=string2[n];
r++;
}
r++;
result[r]='\0';
printf("%s", result);
return 0;
} -
shinodas
tag
Srácok tudtok ajánlani érdekes oldalakat, ahol tutorialok, példák, érdekes feladatok stb van C témakörben?
-
shinodas
tag
Köszönöm szépen, nagyon korrekt válaszok!
-
shinodas
tag
srand(time(NULL));
x=rand()%9;Egy programban használok egy ilyen random szám generálást, de ezt csak úgy neten találtam. Elmondanátok, hogyan működik ez pontosan?
-
shinodas
tag
#include <stdio.h>
#include <stdlib.h>
int main()
{
char cel[10];
char S1[6]="iskola";
int i=0;
while(S1[i]!='\0');
{
cel[i]=S1[i];
i++;
}
cel[i++]='\0';
printf("%s\n", cel);
return 0;
}Ezt hol szúrom el srácok? Azt próbálgatom, hogy van egy üres, és egy másik stringem, amiben van valami. Amiben van a tartalom, azt akarom belemásolni a másik stringbe.
-
shinodas
tag
Köszönöm srácok a válaszokat!
-
shinodas
tag
Sziasztok srácok,
egy kis érdekességbe ütköztünk prog vizsgán.Szóval, ha elosztotok két számot
pl float a=50.5; float b=a/10;, akkor az eredmény 5.050000190734... lesz. SZóval így kíváncsiak lennénk, hogy hogyan lehetne pontosabban osztani? -
shinodas
tag
Én valahogy így csináltam, még próbálgatom, h jól működik e
while(j<6)
{
if(i==5){i=0; j++;}
if(tomb[i]==tomb_user[j])
{printf("E " );
i=0;
j++;
}
else
{
i++;
}
} -
shinodas
tag
Bocsi, ha nagyon kezdő kérdés, de, hát kezdő is vagyok
while(j<6 && i<6 )
{
if(tomb[i]==tomb_user[j])
{
printf("Valami... " );
i=0;
j++;
}
else
{
i++;
}
}
Az lenne a célom, hogy nézze meg, a tomb user elemei között, hány olyan elem van, ami megegyezik tom elemeivel. Ha egyezés van, írjon ki valamit. És nem igazán szeretne ez muzsikálni nekemszerk.: azt hiszem működik már. Megoldva! Most rohanok órára, aztán még kipróbálom alaposabban
-
shinodas
tag
Sziasztok!
Egy egyszerű kis programocskát írok, és lenne egy olyan problémám, hogy van két tömbböm, össze akarom hasonlítani őket, egy ciklusban. Az egyes elemeket. Na, szóval 6 elemű a tömb, de csak 5 elemet akar nekem vizsgálni. A tömbbök jól vannak feltöltve, és már ötletem elfogyott, valaki segítsen mán ki
#include <stdio.h>
#include <stdlib.h>
int main()
{
int tomb_user[5]; //tomb_user tippje tömbbe alakítva
int tipp=0; //tomb_user tippje
int i=0; // tömb indexek
int j=0;
srand(time(NULL)); //random számhoz kell
int tomb[5]; //random számokat ide töltöti
while(i<6) //feltöltöm a tömbböt
{
tomb[i]=rand()%9; //%9 az a limit
i++;
}
for(i=0;i<6;i++) printf("%d ", tomb[i]);
//adatok bekérése
printf("Kerek egy tippet, hat darab szamot: ");
scanf("%d", &tipp);
if(tipp>999999){
printf("Hat szamjegyet adjon meg!\n");
printf("Kerek egy tippet, hat darab szamot: ");
scanf("%d", &tipp);
}
//user tipp tombbe alakítása
tomb_user[0]=tipp/100000;
tomb_user[1]=tipp%100000/10000;
tomb_user[2]=tipp%100000%10000/1000;
tomb_user[3]=tipp%100000%10000%1000/100;
tomb_user[4]=tipp%100000%10000%1000%100/10;
tomb_user[5]=tipp%100000%10000%1000%100%10;
//===megvizsgálom az egyes elemeket
printf("\nTalálat: ");
i=j=0;
for(i=0;i<6;i++)
{
if(tomb[i]==tomb_user[j]) {printf("H " );}
j++;
}
return 0;
}
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- exHWSW - Értünk mindenhez IS
- Milyen légkondit a lakásba?
- Formula-1
- Milyen monitort vegyek?
- Egyre csak fejlődik az AI, emberek tízezreit rúgja majd ki a BT
- Anime filmek és sorozatok
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Azonnali fotós kérdések órája
- btz: Internet fejlesztés országosan!
- Szünetmentes tápegységek (UPS)
- További aktív témák...
- HYNIX 2GB DDR3 RAM eladó
- Samsung Galaxy A40 64GB, Kártyafüggetlen, 1 Év Garanciával
- Lenovo ThinkPad L16 Gen 1 - 16" WUXGA IPS - Ultra 5 135U - 16GB - 512GB - Win11 - 2,5 év gari
- BESZÁMÍTÁS! Gigabyte B760M i5 14600KF 32GB DDR4 1TB SSD RX 6700XT 12GB Zalman Z1 Plus Seasonic 650W
- LG 27GR95QE - 27" OLED / QHD 2K / 240Hz & 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest