- Vezetékes FEJhallgatók
- Milyen egeret válasszak?
- Hivatalosan is elkészült az NVIDIA App
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Házimozi belépő szinten
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Hogy is néznek ki a gépeink?
- Vezetékes FÜLhallgatók
- Milyen TV-t vegyek?
Új hozzászólás Aktív témák
-
doc
nagyúr
válasz kicsitomi88 #100 üzenetére
korábban van a baj, már az ncurses.h-t sem találja, szerintem nincs felrakva az ncurses csomag
sudo apt-get install ncurses ncurses-dev(vagy curses és curses-dev, most Slackware előtt ülök )
[ Szerkesztve ]
-
_Kewr_
csendes tag
Köszönöm a segítséget. De Most ujabb gondom adódott, egy egyszerűbb kódra, konkrétan erre:
#include <ncurses.h>int main () {
initscr ();
printw ("Hello Vilag !!!");
refresh ();
endwin ();
return 0;
}Ezt a hibaüzenetet kapom:
valami.c.text+0x12): undefined reference to `initscr'
valami.c.text+0x1e): undefined reference to `printw'
valami.c.text+0x23): undefined reference to `stdscr'
valami.c.text+0x2b): undefined reference to `wrefresh'
valami.c.text+0x30): undefined reference to `endwin'
collect2: ld returned 1 exit status -
_Kewr_
csendes tag
Eléggé kezdő vagyok, úgyhogy elnézést az értetlenségem miatt, de ezt elmondanád mégegyszer?
-
_Kewr_
csendes tag
Most épp Anjuta-t használok.
-
_Kewr_
csendes tag
És ha nem használok semmit, akkor mit írjak be, ha pl valami.c-t szeretném lefordítani?
-
Tv
senior tag
Szeva mindenki! Egy alapvető dologgal nem vagyok tisztában. Ez pedig a main függvény visszatérési értéke. Én minden proginál "int main(void)"-ot használok, de vannak akik "main()"-t, stb. használnak. Mikor melyiket érdemes, illetve egyáltalán mi a különbség köztük?
-
Tv
senior tag
válasz kicsitomi88 #111 üzenetére
Köszi a választ, de én azt nemértem hogy mit is jelent maga a main fv. visszatérési értéke. Eddig mindenki azt mondta hogy használjak int main(void)-ot például és kész. Megmagyarázni eddig senki nem tudta, hogy miért ezt vagy miért azt válasszam. Szóval a kíváncsiság hajt, hogy mi a különbség, ha pl. int a mainfv. visszatérési értéke, vagy ha nem adok neki (void).
-
Tv
senior tag
válasz kicsitomi88 #113 üzenetére
Ismét köszönöm, de még azt mindig nem tudom, hogy mikor milyen visszatérési értéket kell választani. Eddig ami programokat írtam mindig int main(void)-ot használtam, tehát int-el tér vissza. Milyen proginál van például, hogy nincs visszatérési érték? Ha nem akarok pl. kiíratni semmi eredményt? Tehát a progi csinálja a dolgát, de az eredményt nem kérem ki? Sorry, ha nagyon értetlen vagyok
-
doc
nagyúr
visszatérési érték minden programnál van, a main típusa int
de ha nem akarsz visszatérési értéket használni, akkor nem használod
ilyenkor ha jól tudom, sima 0-val tér vissza
ha mást akarsz, akkor teszel bele pl. egy return 3; sort, ott a program futása megszakad és a shell amiből indítottad egy 3-as értéket kap -
amargo
addikt
Most vagy én vagyok macisajt vagy.. a többiek nem értettek meg.
Tv ha jól értem az nem világos számodra, mi a fenéért kell a main nak int visszatérési típus, nos én azzal az egyszerű dologgal tudnám magyarázni, hogy bármikor megtud szakítani a futását a programodna.
szerk:
Amint látom doc írta, csak a végén[ Szerkesztve ]
“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
dabadab
titán
A main() az definicio szerint int-et ad vissza, ez eppen olyan resze a C specifikacionak, mint az, hogy az utasitasok vegere pontosvesszo kell.
Tortenelmileg onnan ered a dolog, hogy UNIX-on (de egyebkent ez jelenleg is igy van gyak. minden OS-nel, amivel talalkozhatsz) a programoknak van egy u.n. visszateresi erteke, ami egy egyszeru integer. Ennek GUI-s, interaktiv programoknal tul sok szerepe nincs, viszont olyan esetekben, amikor pl. scriptbol hiv meg az ember programokat, nagyon hasznos: ugyanis ezt szokas annak jelzesere hasznalni, hogy a program jol futott-e le v tortent vmi hiba. A konvencio az, hogy ha nincs gond, akkor a visszateresi ertek 0, ha pedig van, akkor nem nulla (a konkret ertekek es jelenteseik program-specifikusak mar).
Egyszeruen osszefoglalva: ha a programod szepen lefut, akkor egy "return 0" kell, ha meg vmi hiba miatt szakad meg a futasa, akkor meg -1 (ezt szoktak altalanos "problema van" ertekkent hasznalni) legyen a main() altal visszaadott ertek.
DRM is theft
-
Tv
senior tag
Köszönöm a válaszokat mindenkinek! Mostmár kezdem érteni a dolgot
-
Steve-S
tag
Hi mindenkinek! Újabb kérdésem lenne. Egy olyan függvényt kell írnom ami egy előreinicializált mátrixot(ékezet nélküli szavakkal töltöm fel), névsor szerint rendez. Az algoritmus meg a lényeg megvan, de úgy kell csinálni hogy a fgv paramétere char ** típusú legyen. Na most ezt kellene nekem elmagyarázni hogy ez a dupla csillagos modszer hogy működik, pl. hogy hogy töltöm fel így a mátrixot ha ilyen típussal kell, mert ez sem sikerült még. Lehet kicsit láma kérés de nem igazán vágom. Ha valaki elmagyarázná jó lenne. Köszi!
Set The World On Fire!!!
-
Steve-S
tag
Nah megvan, márcsak azt mondja meg valaki hogy miért fagy ki ez a program egyből miután elindítom? Fordításnál semmi hiba, függvény is elvileg jó! Akkor mi lehet a gond?
#include <stdio.h>
#include <string.h>void rendez(char **matrix)
{
int i, j;
char ideiglenes[20];for(i = 0; i < 10; i++)
for(j = 0; j < 10; j++)
{
if (strcmp(matrix[i], matrix[j]) < 0)
{
strcpy(ideiglenes, matrix[i]);
strcpy(matrix[i], matrix[j]);
strcpy(matrix[j], ideiglenes);
}
}
printf("\nRendezve: \n\n");
for(i = 0; i < 10; i++)
printf("%s\n",matrix[i]);}
int main(void)
{char *automarkak[10];
automarkak[0]="Mercedes";
automarkak[1]="Ferrari";
automarkak[2]="Audi";
automarkak[3]="Lada";
automarkak[4]="Chevrolet";
automarkak[5]="Ford";
automarkak[6]="Skoda";
automarkak[7]="Suzuki";
automarkak[8]="Opel";
automarkak[9]="Chrysler";rendez(automarkak);
}Set The World On Fire!!!
-
_Kewr_
csendes tag
Köszönöm az eddigi segítséget, már csak egy kérdésem van. Milyen parancsal tudom futattni? Mert nem történik semmi amikor bepötyögöm a ./filenev-et.
-
Lortech
addikt
Minek utaztatod meg a stringeket?
Hiszen csak a char*-okra mutató pointereket kell kicserélni ahhoz, hogy **matrixban kialakuljon a helyes a sorrend:if (strcmp(matrix[i], matrix[j]) < 0)
{
char *sp = matrix[i];
matrix[i] = matrix[j];
matrix[j] = sp;
}De ha mégis úgy kéne, akkor pl :
#include <stdio.h>
#include <string.h>void rendez(char **matrix)
{
int i, j;
char ideiglenes[20]="";for(i = 0; i < 10; i++)
for(j = 0; j < 10; j++)
{
if (strcmp(matrix[i], matrix[j]) < 0)
{
strcpy(ideiglenes, matrix[i]);char *segedp;
segedp = (char *)realloc(matrix[i], strlen(matrix[j]) + 1);
matrix[i] = segedp;
strcpy(matrix[i], matrix[j]);segedp = (char *)realloc(matrix[j], strlen(ideiglenes) + 1);
matrix[j] = segedp;
strcpy(matrix[j], ideiglenes);
}
}
printf("\nRendezve: \n\n");
for(i = 0; i < 10; i++)
printf("%s\n",matrix[i]);}
int main(void)
{char *automarkak[10];
automarkak[0]=(char *)malloc(strlen("Mercedes") + 1);strcpy(automarkak[0], "Mercedes");
automarkak[1]=(char *)malloc(strlen("Ferrari") + 1);strcpy(automarkak[1], "Ferrari");
automarkak[2]=(char *)malloc(strlen("Audi") + 1);strcpy(automarkak[2], "Audi");
automarkak[3]=(char *)malloc(strlen("Lada") + 1);strcpy(automarkak[3], "Lada");
automarkak[4]=(char *)malloc(strlen("Chevrolet") + 1);strcpy(automarkak[4], "Chevrolet");
automarkak[5]=(char *)malloc(strlen("Ford") + 1);strcpy(automarkak[5], "Ford");
automarkak[6]=(char *)malloc(strlen("Ferrari") + 1);strcpy(automarkak[6], "Skoda");
automarkak[7]=(char *)malloc(strlen("Suzuki") + 1);strcpy(automarkak[7], "Suzuki");
automarkak[8]=(char *)malloc(strlen("Opel") + 1);strcpy(automarkak[8], "Opel");
automarkak[9]=(char *)malloc(strlen("Chrysler") + 1);strcpy(automarkak[9], "Chrysler");rendez(automarkak);
}[ Szerkesztve ]
Thank you to god for making me an atheist
-
Lortech
addikt
-
_Kewr_
csendes tag
Az a gond, hogy hogy azt írja,hogy bash: ./filenev.c: Hozzáférés megtagadva. Ha pedig azt írom, hogy gcc filenev -o filenec.c -lncurses, akkor egy elég jelentős terjedelmű hibaüzenetet, amit nem tudok 100%-osan értelmezni.
-
Lortech
addikt
A .c-n mit akarsz futtatni? Az a forráskódod (elvileg ). Azért írja ki, hogy hozzáférés megtagadva, mert nincs beállítva rá az x attribútum (futtatható). //de még egyszer mondom, egyébként sincs értelme futtatni, mert nem futtatható állomány, csak a forráskód.
"gcc filenev -o filenev.c -lncurses" még véletlenül sem jó, mert nem a filenev nevűt kéne fordítanod, hanem a filenev.c nevű forráskódodat a filenev nevű binárisba, azaz
gcc filenev.c -o filenev -lncurses, még egyszer: ahol filenev.c a forráskódod, filenev pedig az a fájlnév, amiben a lefordított programod szeretnéd látni.
Ezután futtatás ./filenev-vel.
Ha még így is hibaüzenet a válasz, akkor a hibaüzenetet másold be, mert anélkül nem tudok segíteni.[ Szerkesztve ]
Thank you to god for making me an atheist
-
_Kewr_
csendes tag
Most már semmi hibaüzenet, csak ennyi:
kewr@kewr-desktop:~$ ./filenev
kewr@kewr-desktop:~$ -
_Kewr_
csendes tag
Nagyon szépen köszönöm a segítséget!
-
[HUN]Zolee
őstag
üdv. Valaki fussa át ezt a pár sort valami nem ok a lefoglalással vagy nemtom mivel, mert felöltésnél elszall.
#include <stdio.h>
#include <malloc.h>
const N=8;
void init(int ****t,int sor){
int i,j;
(*t)=(int***)malloc(sor*sizeof(char));
for (i=0;i<sor;i++) {
(*t)[i]=(int**)malloc(sor*sizeof(char));
}
for(i=0;i<sor;i++){
for (j=0;j<sor;j++){
printf("i:%d j:%d\n",i,j);
(*t)[i][j]=(int*)malloc(2*sizeof(char));
}
}
for (i=0;i<sor;i++){
for (j=0;j<sor;j++) {
t[i][j][0]=0;
t[i][j][1]=0;
}
}
if (i==8) printf("vegeztem");
}
void test(int ****t,int sor){
int i,j;
for (i=0;i<sor;i++) {
for (j=0;j<sor;j++) {
printf("%d",t[i][j][0]);
printf("%d",t[i][j][1]);
}
printf("\n");
}
}
int main() {
int*** tabla;
init(&tabla,N);
test(&tabla,N);
scanf("");
return 0;
}''<[HUN]DrH>valaki mondjon egy tuningolos programot a mivel kocsis képeket tudok tuningoloni.'' https://ferromag.aranyoldalak.hu/
-
[HUN]Zolee
őstag
válasz [HUN]Zolee #132 üzenetére
Ha valakit érdekel a hiba ez volt :
t[i][j][0]=0
helyett
(*t)[i][j][0]=0
kell
''<[HUN]DrH>valaki mondjon egy tuningolos programot a mivel kocsis képeket tudok tuningoloni.'' https://ferromag.aranyoldalak.hu/
-
Jester01
veterán
válasz [HUN]Zolee #132 üzenetére
t.c: In function ‘test’:
t.c:40: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘int *’
t.c:41: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘int *’Valamint a foglalás valóban rossz, ha már egyszer int-eket akarsz tárolni, akkor azoknak foglalj helyet, illetve ügyelj a pointerekre!
Diff:
--- t.c.orig 2007-11-20 16:48:48.000000000 +0100
+++ t.c 2007-11-20 16:59:32.000000000 +0100
@@ -8,24 +8,24 @@
int i,j;
- (*t)=(int***)malloc(sor*sizeof(char));
+ (*t)=(int***)malloc(sor*sizeof(int**));
for (i=0;i<sor;i++) {
- (*t)[i]=(int**)malloc(sor*sizeof(char));
+ (*t)[i]=(int**)malloc(sor*sizeof(int*));
}
for(i=0;i<sor;i++){
for (j=0;j<sor;j++){
printf("i:%d j:%d\n",i,j);
- (*t)[i][j]=(int*)malloc(2*sizeof(char));
+ (*t)[i][j]=(int*)malloc(2*sizeof(int));
}
}
for (i=0;i<sor;i++){
for (j=0;j<sor;j++) {
- t[i][j][0]=0;
- t[i][j][1]=0;
+ (*t)[i][j][0]=0;
+ (*t)[i][j][1]=0;
}
}
@@ -37,8 +37,8 @@
for (i=0;i<sor;i++) {
for (j=0;j<sor;j++) {
- printf("%d",t[i][j][0]);
- printf("%d",t[i][j][1]);
+ printf("%d",(*t)[i][j][0]);
+ printf("%d",(*t)[i][j][1]);
}
printf("\n");
}Jester
-
stepboy
csendes tag
Sziasztok; az elmúlt napokban akadt egy kis problémám, és [ezen] az oldalon találtam rá megoldást. Ha gondoljátok, akkor rakjátok be a többi link közé, hátha másnak is hasznos lehet.
[ Szerkesztve ]
-
Nunder
őstag
Szevasztok! Az egyetemen (SZTE) most fogok írni köt.progból dogát. 10 programból egyet kell megírni az órán de parázok mert marha nehezek! Nincsenek túl nagy programozási háttérismereteim de szerintem ilyen guruknak nem lenne nehéz egyik sem!.Ha esetleg valakinek volna kedve és ideje velem foglalkozni az írjon és megbeszéljük.
“It's the job that's never started as takes longest to finish.” // blackbird3dworks.hu
-
Nunder
őstag
válasz kicsitomi88 #138 üzenetére
csak nem te is SZTE-s vagy?? mert az nem volna rossz
“It's the job that's never started as takes longest to finish.” // blackbird3dworks.hu
-
Nunder
őstag
ha nem vagy az se baj mert nekem télleg nagy szükségem volna mindennemű segítségre! télleg szokott itt olyasvalaki fórumozni aki szegedi? azokkal is szívesen felevenném a kapcsolatot
“It's the job that's never started as takes longest to finish.” // blackbird3dworks.hu
-
kicsitomi88
őstag
-
Nunder
őstag
válasz kicsitomi88 #141 üzenetére
köszi a linket! és itt tudok találni valakit aki segít vagy csak írjam be hogy kötprogforráskód kéne???
“It's the job that's never started as takes longest to finish.” // blackbird3dworks.hu
-
Tv
senior tag
Sziasztok! Egy kis segítségre volna szükségem C-ben. Egy olyan progit kellene írnom, ami bekér egy egész számot, majd egy ciklus kiíratja úgy, hogy első sorban annyiszor amennyi a szám, a másodikban egyel kevesebbszer stb. Valamint mindegyik szám mellé odarak egy betű karaktert. Tehát ha a számnak 5-öt adok meg akkor ezt adja:
5A5A5A5A5A
5A5A5A5A
5A5A5A
5A5A
5A
A progit meg is írtam már:
#include<stdio.h>int main(void)
{
int x;
char y=65;
int i,j;printf("Kerek egy szamot: ");
scanf("%d", &x);for(j=0; j<x; j++)
{
for(i=0+j; i<x; i++)
{
printf("%d%c", x, y);}
printf("\n");
}
}
A gond az lenne, hogy ezt függ vényként kéne működtetni. Eddig ennyire jutottam, de valamiér végtelenül írja ki a cuccokat:
#include<stdio.h>void kiirat(int a, char b)
{int i,j;
for(j=0; j<a; j++)
{
for(i=0+j; i<a; i++)
{
printf("%d%c", a, b);}
printf("\n");
}
}int main(void)
{
int x;
char y=65;printf("Kerek adjon meg egy egsz szamot: ");
scanf("%d", x);kiirat(x,y);
}
Ha valakinek van őtlete segítsen légyszi. Köszi előre is -
[HUN]Zolee
őstag
valaki meg tudná mondani nekem hogy a -> operátor mire jó pontosan?
''<[HUN]DrH>valaki mondjon egy tuningolos programot a mivel kocsis képeket tudok tuningoloni.'' https://ferromag.aranyoldalak.hu/
-
amargo
addikt
válasz [HUN]Zolee #146 üzenetére
cahar *p;
(*p).valami;
helyett elég a
p->valami;“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
-
PazsitZ
addikt
válasz [HUN]Zolee #146 üzenetére
(*U_mutato).nev
Az U_mutato-t a precedencia (elsőbbségi) szabály miatt kell zárójelbe tenni, mert ha nem tennénk a fordító azt hihetné, hogy ez egy U_mutato.nev változóra mutató pointer.
Mivel a C régi változatainak idejében elég gyakran volt szükség struktúra-mutatók használatára és kényelmetlen, zavaró volt minden egyes alkalommal zárójelezni, ezért kitaláltak egy új operátort, ez a -> (nyíl; egy mínusz jelből és egy ’nagyobb’ relációs jelből tevődik össze). Ennek használatával már nem kell zárójeleznünk:
U_mutato->nev
- http://pazsitz.hu -
-
[HUN]Zolee
őstag
Köszi mindkettőtöknek.
Kaptam egy feladatot amit nem tudok helyesen beírni, mindig hibás eredmény jön ki.
A feladat: n-edik gyök(x) et kell kiszámolni a következő iterációval :
( y(i+1) = (n-1)*y(i) + x / y(i)^(n-1) )/nitt tartok most :
include <stdio.h>
#include <math.h>
#include <malloc.h>
double fgv(int i){
double x=8;
const int n=3;
double k;
if (i<=1) return x;
k=((n-1)*fgv(i-1)+x/pow(fgv(i-1),n-1))/n;
printf("%d %lf\n",i,k);
return k;
}
int main(){
int k=3;
double p;
p=fgv(k);
printf("\n\n%lf",p);
return 0;
}mit baltáztam el?
''<[HUN]DrH>valaki mondjon egy tuningolos programot a mivel kocsis képeket tudok tuningoloni.'' https://ferromag.aranyoldalak.hu/
-
Jester01
veterán
válasz [HUN]Zolee #149 üzenetére
Semmit, kicsi a k amivel hívod. 3 lépés kevés, próbáld hattal vagy többel.
[ Szerkesztve ]
Jester
Ú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!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest