Új hozzászólás Aktív témák
-
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
-
Tv
senior tag
Köszönöm a válaszokat mindenkinek! Mostmár kezdem érteni a dolgot
-
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 -
Tv
senior tag
Szevasztok! Volna egy olyan gondom, hogy nemtudom hogy C-ben egy szöveges fájlból soronként beolvasni. Tehát az szeretném, hogy beolvasom a fájlt soronként és minden soban megvizsgálom, hogy benne van-e egy adott szó, és ha igen, akkor az adott sorf kiírom egy másik fájlba. Eddig annyira jutottam, hogy a fájlkezelés része kész van. De ez így csak a egy szónál működik(pl. "alma"), (még nem kinlódtam a kereséses résszel). A legfontosabb a soronkénti sztringe olvasás volna, a többi részét szerintem meg tudom oldani majd.
#include <stdio.h>
#include <stdlib.h>main()
{FILE *f1;
char buff[1024];
int i=0;
if ((f1=fopen("text1.txt","r"))== NULL)
{printf("Nem letezik a text1.txt allomany!\n");
exit(-1);}
else
{while (fgets(buff,1024,f1))
{printf("%s",buff);
}
fclose(f1);
}if (strcmp(buff, "alma") == 0)
{
FILE *f2;
f2 = fopen("text2.txt", "w");
fprintf(f2, "%s",buff);}
}Köszi előre is.
-
Tv
senior tag
Nah sikerült megcsinálni a nagy részét a feladatnak, már csak azt nem tudom, hogy hogyan kellene megcsinálni, hogy mindegyik sornak a végét hasonlítsa össze egy előre megadott sztringgel. Tehát ha az előre megadott sztring pl. az, hogy "alma" , akkor azt nézze, hogy a sor az alma szóval zárul-e vagy sem. Erre esetleg van ötlete valakinek?
-
Tv
senior tag
Szaszok! Már megint gond van minygyárt megőrülök. A progit megírtam, működik is rendesen windóz alatt, de linux-on az istennek se akar. Vetnétek rá egy pillantást lécci? Fontos lenne . Köszi előre is. A gond valahol a sztringek összehasonlításánál lehet.
#include <stdio.h>
#include <stdlib.h>
#include<string.h>int maxsorh(FILE *f2)
{
int x=0;
int y=0;
char str[1024];if ((f2=fopen("text2.txt","r"))== NULL)
{printf("Nem letezik a text2.txt allomany!\n");
exit(-1);}
else
while (fgets(str,1024,f2))
{
printf("%s",str);
x=strlen(str);if(x>y)
{
y=x;
x=0;
}}
printf("A text2.txt fajl leghosszabb soranak hossza: %d\n",y);
}
void rev(char* s){
int i, j= strlen(s)-2;
char temp;
for (i=0; i < j; i++, j--)
{
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
main()
{FILE *f1;
FILE *f2;
char buff[1024];
int i=0;
char szo[]="alma\n";
rev(szo);
if ((f1=fopen("text1.txt","r"))== NULL)
{printf("Nem letezik a text1.txt allomany!\n");
exit(-1);}
else
{while (fgets(buff,1024,f1))
{
printf("%s",buff);
rev(buff);
printf("%s",buff);if (strncmp(buff,szo,4) ==0 )
{
f2 = fopen("text2.txt", "a");
rev(buff);
fprintf(f2,"%s",buff);
fclose(f2);
}}
printf("\n");
fclose(f1);}
maxsorh(f2);
} -
Tv
senior tag
De szerintem is az! Vagy amikor a fájlból olvasom be a sorokat, majd megfordítom őket, valamit másképp csinál a linux, mint a win?
Ezt a sorvéges dolgot nem vágom. Win alatt mikor beolvasok egy sort, akkor a végét a C \n-ként kezeli. Linux alatt ez hogy van?
Mert ott hibázik a progi, ahol a beolvasott és megfordított sorokat hasonlítja össze a másik megfordított sztringgel
[ Szerkesztve ]
-
Tv
senior tag
Hát igen a linux képes ilyen csodákra . Nekem is csak úgy beugrott, mikor mondtad a sorvéges dolgot, hogy van valami $ jeles dolog is . Mondom kipróbálom nincs mit veszteni, erre jó is lett egyből, minden működik ahogy kell. Az volt a gáz, hogy xp alatt írtam a progit, ment is jól, aztán ftp-n feltöltöttem linux-ra, és ott putty-on át akartam volna fordítani, futtatni.
Ú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!
- APPLE MacBook Air 2020 13" Retina - M1 / 8GB / 256 GB SSD / MAGYAR / 96% akku, 81 ciklus / Garancia
- LG NanoCell 55NANO766QA Halvány píxel csík
- Philips 58PUS8545/12 1 ÉV GARANCIA Játék üzemmód
- 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!