- Milyen videókártyát?
- Milyen billentyűzetet vegyek?
- AMD vs. INTEL vs. NVIDIA
- Bambu Lab 3D nyomtatók
- Vezetékes FEJhallgatók
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Apple asztali gépek
- Végleges a HDMI 2.2-es verziója
- Mini-ITX
- A látszat ellenére helyesen működik az NVIDIA-féle Resizable BAR implementáció
Új hozzászólás Aktív témák
-
plaschil
aktív tag
Ami a // után van, az ki van kommentezve. Még egy kérdés mik a lényegesebb különbségek a struct és az union között?
-
plaschil
aktív tag
Segítsetek légyszi ha tudtok!
Olyan progit kell írnom ami összehasonlítja két fájl tartalmát. vagy két adott fájlt, vagy egy adottat és egy begépeltet. na a két adott fájl rész már lefut. szépen ki is írja hogy hol nem egyezik a két fájl. de a második része nem jó valamiért. begépelem a szöveget, el kéne elvileg mentenie egy txt-be, és utána összehasonlítania egy másik adott txt-vel. de mikor entert ütök, hogy jelezzem befejeztem a fájl írását, nem tudom elkezdi -e összehasonlítani, mert segmentation fault (core dumped)-del kilép.itt a második része a proginak.case 2:
printf("Gepelje be a szoveget, majd usson egy entert!\n");
f2=fopen("haha.txt","w+");
scanf("%s",&f);
fprintf(f2,"%s",f);b=1000;
for(a=0;a<b;a++)
//while((e=getchar())!=EOF)
{c=getc(f1);
d=getc(f2);if(c!=d)
{
//printf("%c", c);
//printf("%c ", d);
break;
a++;
}}
//a++;
if(a!=b)
{
fprintf(stderr, "\n A ket szoveg ettől a karaktertol nem egyezik: %d", a);
getchar();
}
if(a=b)
{
getchar();}
fclose(f1);
fclose(f2);break;
break;
}
} -
plaschil
aktív tag
Sziasztok!
Van egy progim, és az a kikötés hogy az STDERR-re kéne kiíratni a hibaüzeneteket. (Nem STDIO-ra.) Hogy kell ezt megcsinálni? -
sghc_toma
senior tag
OK, kösz mindkettőtöknek.
-
sghc_toma
senior tag
számunkra fura dolgot találtunk tegnap programozás közben.. a kódban maradt egy olyan sor, hogy zárójelben egy pár érték, valahogy így: (4, "sdfg", 23).. A kód lefordult, a progi működött.. megnéztem objdump-pal ennek a két forrásnak megfelelő progit:
int main() {(1,2,3,4); printf("qwer"); return 0;}
, illetve
int main() {printf("qwer"); return 0;}
semmi különbség nincs az assembly kódok közt...
a kérdésem: ez mitől "érvényes" kód c-ben, c++-ban? -
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.
-
doc
nagyúr
$ jellel? na ilyet sem hallottam még
alapvetően az a probléma, hogy a sorvéget alapvetően háromféleképpen szokás kezelni
Linux alatt a sorvégeket a \n zárja le (10-es karakter)
OSX alatt ha jól tudom a \r (13-as)
DOS alatt meg valami elmebeteg okból kifolyólag mindkettő egyszerre (\r\n), de ezt a dos/windows-os C programok egy karakterre fordítják
viszont mikor Linux alatt olvasod be a file-t, azt látja hogy a sor legutolsó karaktere egy \r, majd utána jön csak a sorvége -
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
-
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
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
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.
-
ceginner
csendes tag
Köszönöm Szépen Zoli!
Meg fogom nézni hamarosan, sokat segítettél ezzel!
-
ceginner
csendes tag
Minden segítség jól jöhet! Lehet, hogy pont találok benne valami olyat, ami sokat segít.
Már vagy 7 verziót írtam, 5-öt töltöttem fel eddig, de 0 pontot kaptam rá. Annál csak jobb lehet. Akkor légyszi küldd már el... -
PazsitZ
addikt
-
ceginner
csendes tag
Sziasztok Sorstársak!
Elakadtam a 2. kötprogival és egy kis segítség kellene. Konkrétan a LÁDAPAKOLÁS lenne a téma. Konkrétabban: Egy gyárban egy nap csak azonos súlyú termékeket gyártanak és ezeket ládába pakolják, egy ládában max. 100 kg lehet. Egy nap max. 1000 db-ot készítenek egy-egy S súlyú termékből... Azt hogy melyik ládába pakoljunk a legkisebb négyzetek módszerével kellene megkeresni, de sehogy sem sön ki az adott kimenet.
Mit ronthattam el?
Bemenetben az első szám a napok száma, a második két szám pedig db és súly.
Már nem ez az első verzió, de már tisztára belezavarodtam. Nem tudom hogyan kellene megírni jól az algoritmust, hogy 100 db fölötti adatokra is jól működjön.Pl.: Bemenet:
1
347 6Kimenet:
0000010000010000010000010
0000100000100000000000100
0001000001000001000002000
0020000030000040000060000Az első sor első eleme, az egy kilós ládák száma - és így tovább egyészen százig...
Az általam írt kód:
#include <stdio.h>
#define M 1000
#define N 100
int Sulyok[M+1]={0};
int Darabok[N+1]={0};
int darab(int suly)
{
int j,s;
int r=1;
s = suly;
for(j=0;j<N;j++)
if (Sulyok[j] == s) r+= 1; //else r=N-1;
return r;
}
void pakol(int db,int s)
{
int K=0,a=0;
int i=0,j=0,k=1,l=0;
int opt=0;
int szumma=1000;
int NAGYSZAM = 10000;
int ossz;
int suly;
ossz = db*s;
suly = s;
Sulyok[0] = s; //az első elemet betesszük
while(i <db){
if ((s == 1) && (suly%100 != 0)) {Darabok[99] = db/10; Darabok[0] = 0;/*Darabok[100-Sulyok[k-1]]-=1;*/}
if (Sulyok[k-1] <= 100)
{
if (suly != 1) Sulyok[k] += suly;
// k+=1;
szumma = darab(Sulyok[k-1]+s)*darab(Sulyok[k-1]+s); //gyakorisag az uj suly berakasa utan
if (szumma <= NAGYSZAM)
{opt += 1;
NAGYSZAM = szumma;
k=i;
if(opt >= 1)
for(l=0;l<=k;l++)
{
if(Sulyok[l] > K) {K=Sulyok[l]; k=l;}
}
} else k+=1; //ha ezek a feltetelek nem teljesulnek uj lada kell
/ if (Sulyok[k] == (100-Sulyok[k])) {Darabok[100] += 1;}
Darabok[Sulyok[k]-1] += 1;
}
i += 1;
}
}
void kiir2(){
int i=0,j,k,l,m;
FILE* ki;
ki=fopen("ki.txt","w");
while(i<4){
for (j=0;j<N/4;j++){
if (i>0) k = (i*25)+j;
fprintf(ki,"%d ", Darabok[((i*25)+j)]); }
i+=1; fputc('\n',ki);}
fclose(ki);
}
int main()
{
int i;
int nap,suly,db;
FILE* in;
in=fopen("be.txt","r");
fscanf(in,"%d",&nap);
if (nap >=1 && nap<=10)
for (i=0;i<nap;i++){ fscanf(in,"%d %d",&db,&suly);
if (db >= 1 && db <= 1000)
if (suly >=1 && suly <=100) {
//feldolgozhatjuk az adatokat
pakol(db,suly);
}
}
kiir2();
fclose(in);
return 0;
}Minden segítséget és hozzászólást előre is köszönök!
-
Dead_slow
tag
válasz
[HUN]Zolee #155 üzenetére
Ok, úgy lesz. Örülök hogy segíthettél
-
doc
nagyúr
válasz
darnellsmith #170 üzenetére
most lettél leb@szva
ott a prog.hu, ott direkt van házikészítős topic... -
darnellsmith
senior tag
válasz
darnellsmith #168 üzenetére
sürgős lenne, pls HELP
-
Lortech
addikt
Házikkal legyetek szivesek máshova fáradni, ez nem az "itt a házim csináld má' meg" topik!
Ha elkezditek, látni valamit, hogy próbáljátok megoldani, biztos lesz segítség is. -
darnellsmith
senior tag
1. Ellenőrzötten bekér egy pozitiv egész számot. A számnak 100 és 200 közé kell esnie. Az elfogadott értéket nevezzük n-nek.
2. Ezután n darab pozitiv háromjegyű egész számot kell végtelenszámgenerátorral előállítania és közben képernyőre 4 pozicios mezőszélességgel kiiratnia.
3.a végén jelenitse meg hogy a generált számok közül hány darab volt páros és hány darab volt páratlan.
vki segitsen pls -
rOwLeY
őstag
Emberek, lenne vki estleg vmi fejében vállalna nekem beadandó házi megírást?!BME villany első félév!
-
Orb1337
tag
Halihó!
Valaki megtudná csinálni ezt a progit nekem:
Készítsen programot, amely szavakat kér be pont végjelig, s ezekből a szavakból összeállít egy mondatot úgy, hogy az egy külön stringként legyen letárolva. Ezután számolja meg a mondatban található kisbetűs rövid magánhangzókat.
A felévi jegyem múlik rajta. -
Jester01
veterán
válasz
[HUN]Zolee #161 üzenetére
Hát mert az elemeket nem foglaltad le egyáltalán.
-
[HUN]Zolee
őstag
Megint rakoncátlankodik az progim. Valamiert az ertekadásnál az i=0 , j=1 után hibával elszáll mintha nem lenne több memóriacím lefoglalva.
struct mezo{
int szin;
struct babuk *babu;
};
struct mezo*** init(int sor){
int i,j;
struct mezo ***t;
t=(struct mezo***)malloc(sor*sizeof(struct mezo**));
for (i=0;i<sor;i++) {
t[i]=(struct mezo**)malloc(sor*sizeof(struct mezo*));
}
for (i=0;i<sor;i++){
for (j=0;j<sor;j++) {
t[i][j]->szin=0;
t[i][j]->babu=NULL;
printf("i: %d j: %d\n",i,j);
}
};
return t;
}nem értem miért csinálja ezt velem.
-
-
.DLL
veterán
Előzmény (C++ topic):
DLL:
Üdv! Levelezőn kezdtem C-t tanulni és egy olyan kérdésem lenne hogy milyen függvénnyel lehet karaktert tesztelni, hogy az szám-e vagy betű-e (pl. ahova számot kér a progi ne lehessen kiakasztani betű beírásával.
getch(); esetén elvileg az ASCII kódtábla alapján lehet szűrni hogy csak a 0x30 és 0x39 közötti karaktereket (amik elvileg 0-9-ig a számok) engedje bevinni, de ha scanf( );-el kérek be adatot akkor hogyan lehet ezt megoldani?
Előre is köszönöm a segítséget!Jester01:
%[0-9]
De ez C nem C++
--------------------------------------------------------
Nos, ezt elvileg így gondoltad scanf("%[0-9]",&a); ? mert így elég fura dolgokat tesz az a-ba:int a;
main()
{
clrscr();
printf("szám beírása:");
scanf("%[0-9]",&a);
printf("eredmény: %d",a);
getch();
}bármilyen számot írok be egész más lesz belőle.
Bocs a noobságért tényleg nemrég kezdtem, és nincs is az hogy bemegyek hétfőn és megkérdezem a tanárt..
-
_Kewr_
csendes tag
Ha valaki tudna nekem mondani egy jó leírást az ncurses használatáról, azt megköszöném.
-
sekli
addikt
Helo,
Keresgeltem google-lal, de nem sikerult megtalalnom a nagy ekezetes betuk HEX ASCII kodjat....,
http://www.idevelopment.info/data/Programming/ascii_table/PROGRAMMING_ascii_table.shtml
ebben amik bennevannak a DevC++ -ban nem jok...
pl a kis 'é'-nek a kodja a DevC++-ban 0x82, ebben a listaban meg nem az van...ha valaki tudja, hogy hol vannak a jok, az ne tartsa magaban...
-
Dead_slow
tag
válasz
[HUN]Zolee #149 üzenetére
HE-HE.
Én is ugyanazt a feladatot kaptam beadandónak, nagyon sokat segítettél -
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.
-
[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?
-
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
-
amargo
addikt
válasz
[HUN]Zolee #146 üzenetére
cahar *p;
(*p).valami;
helyett elég a
p->valami; -
[HUN]Zolee
őstag
valaki meg tudná mondani nekem hogy a -> operátor mire jó pontosan?
-
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 -
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???
-
kicsitomi88
őstag
-
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
-
Nunder
őstag
válasz
kicsitomi88 #138 üzenetére
csak nem te is SZTE-s vagy?? mert az nem volna rossz
-
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.
-
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.
-
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");
} -
[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]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;
} -
_Kewr_
csendes tag
Nagyon szépen köszönöm a segítséget!
-
_Kewr_
csendes tag
Most már semmi hibaüzenet, csak ennyi:
kewr@kewr-desktop:~$ ./filenev
kewr@kewr-desktop:~$ -
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. -
_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
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);
} -
_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.
-
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);
} -
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!
-
Tv
senior tag
Köszönöm a válaszokat mindenkinek! Mostmár kezdem érteni a dolgot
-
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.
-
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 -
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 -
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
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
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?
-
_Kewr_
csendes tag
És ha nem használok semmit, akkor mit írjak be, ha pl valami.c-t szeretném lefordítani?
-
_Kewr_
csendes tag
Most épp Anjuta-t használok.
-
_Kewr_
csendes tag
Eléggé kezdő vagyok, úgyhogy elnézést az értetlenségem miatt, de ezt elmondanád mégegyszer?
-
_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 -
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
)
-
_Kewr_
csendes tag
Linux (ubuntu).
valami.c:2:22: error: ncurses.h: Nincs ilyen fájl vagy könyvtár
valami.c: In function ‘main’:
valami.c:10: error: ‘stdscr’ undeclared (first use in this function)
valami.c:10: error: (Each undeclared identifier is reported only once
valami.c:10: error: for each function it appears in.) -
_Kewr_
csendes tag
Nekem volna 1 aprócska ám annál butább kérdésem. Az ncurses-t valamiért nem tudom használni. Nincs ilyen állományt kapok. Kérem a segítséget, röhögést is eltűröm.:|
-
sekli
addikt
helo,
hogy lehet printf-fel " % " -ot kiirni...?
-
Steve-S
tag
Ha ezt megmondja nekem valaki hogy miért nem működik normálisan ez a programom, akkor megközönném! Fordításnál semmi hiba nincs. Átnéztem már 100x az egészet de nem tudom mi a hiba. A feladat hogy bekérek egy egész számot, és átváltja a megadott számrendszerbe (2-9). A feladatot ily módon kell megoldani ahogy megcsináltam, tehát ne írjátok át ha lehet, csak nem tudom hogy miért nem működik megfelelően. Eredménynek csak hülye összevissza karaketerket ad ki.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>char *valto(unsigned int szam, unsigned int szr)
{
char *eredmeny;
int n=floor(log(szam)/log(szr)+1);
int i=0;
eredmeny=(char *)malloc((n+1)*sizeof(char));while(szam>0)
{
eredmeny[n-i-1]=szam%szr;
szam/=szr;
i++;
}eredmeny[n]=0;
return eredmeny;
}int main(void)
{
unsigned int a,b;
char *kesz=NULL;printf("Adj meg egy egesz szamot: ");
scanf("%d",&a);
printf("Adj meg egy szamrendszert (2-9): ");
scanf("%d",&b);if(b<2 || b>9)
{
printf("\nNem jo szamrendszert adtal meg!\n");
exit(-1);
}kesz=valto(a,b);
if(kesz) puts(kesz);
if(kesz) free(kesz);return 0;
} -
kicsitomi88
őstag
NA jo de 5 es fel perc volt a nullarol. Csak az akartam leirni, hogy milyen elv alapjan adom ossze oket h o is lassa.
A feladatban nem volt szo sem ellenorzesrol sem semmirol.
valoban char c[21];
es azert a -1el szorzas mert nem volt lelki erom a 48-c-at atirni ha igy is mukodott es ket alapmuveletet elvegezni es ascii tablat bongeszni tovabb.
1.
#include <stdlib.h>
#include <stdio.h>main()
{
char c[21]; int i=0; int s=0;gets(c);
while ( c[i] != '\0' )
{
s += (c[i]-48);
i++;
}printf("%d ", s);
fflush(stdin);
getchar();}
-
Studiossrác
aktív tag
válasz
kicsitomi88 #88 üzenetére
Köszi, hogy megcsináltad ezt is
Amúgy meg 1általán nem baj. Nagyon örülök én ennek a hármasnak is, úgyhogy tényleg nagyon köszönöm a segítséged. -
Jester01
veterán
válasz
kicsitomi88 #88 üzenetére
Azért ez nem ötös... A 2. feladat nagyon szépen elszáll ha páratlan számjegyből álló számot adsz be. A gets használata pedig egyébként is veszélyes, mert nincs hossz ellenőrzés, tehát mindkét progi elszáll ha 19-nél több karaktert adsz be (tehát már a specifikáció szerinti 20ra is!), amiről még csak meg sem nézed, hogy számjegyek-e. Annak meg mi értelme, hogy a számjegyeket (48 - c) alakban adod össze és a végén szorzod -1-el?
-
kicsitomi88
őstag
Kesz van jeee, megcsinaltam
1.
#include <stdio.h>
#include <stdlib.h>main()
{
char c[20]; int i=0; int s=0;
gets(c);while ( c[i] != '\0' )
{
s += (48-c[i]);
i++;
}printf("%d ", -1*s);
fflush(stdin);
getchar();}
2.
#include <stdio.h>
#include <stdlib.h>main()
{
char c[20]; int i=0; int s=0;
gets(c);while ( c[i] != '\0' )
{
s += (48-c[i]);
i += 2;
}printf("%d ", -1*s);
fflush(stdin);
getchar();}
mod: 5 es fel perc, szegyellem magam
Az volt a baj h tok rossz iranyba indultam el tegnap este, bocs studiossrac, lehett volna 5os is
-
kicsitomi88
őstag
válasz
Studiossrác #86 üzenetére
Na eljen
felhergeltem magam az elso ket progin mert nem ment, most kaptam egy kis elmeleti segitseget most leprogramozom aztan kozzeteszem ha kesz.
-
Studiossrác
aktív tag
Köszönöm a tegnapi segítséget
Hármas lett a nagy zh-m
-
doc
nagyúr
válasz
kicsitomi88 #83 üzenetére
kezd felpörögni a totyikod
jön a vizsgaidőszak -
JuveGabor
csendes tag
Még mindig Dev C++
még csak ismerkedem a progival, meg a programozással, próbaképpen egy egyszerű kiírást csináltam printf-el, lefordítattam, lefutattam és semmi!
Alul jelzi h sikeres fordítás, de ennek semmi látható jele nincs :S pedig gondolom én vhol meg kell jelennie annak a szövegnek amit én kiirattam
-
Lortech
addikt
A hibaüzenet azért van, hogy ki tudj indulni belőle.
Ha be van includeolva a math.h, működnie kéne első ránézésre (annak a sornak). Miért log(2)? Miért nem log(b)? A ciklusban az első értékadás fordítva van. Ráadásul ha egy karaktertömbnek elemének értékül adsz egy int-et, akkor nem a megfelelő szám karaktere kerül bele, hanem a kódja.
szerk: while () után pontosvessző. -
JuveGabor
csendes tag
válasz
kicsitomi88 #79 üzenetére
Köszönöm, sikerült!
-
kicsitomi88
őstag
-
doc
nagyúr
Nemfordítja le mert valami kínja van.
ezt a pontos, precíz hibaüzenetet...JuveGabor:
magyar nyelvű C fordító? nem hiszem hogy létezne, meg értelme amúgy sem sok van...
ha hibás a program, megmondja melyik sorban van. és ha az angol hibaüziből nem jössz rá hogy mi a baj, az azért durva...
azt hogy érted hogy "csak egy pontosvesszőt ír a forrásba"?
a programot neked kell megírni -
JuveGabor
csendes tag
Hali!
Nem tudtok ajánlani valami magyar nyelvű C fordítót?
Tudom, hogy az angol is könnyen használható, de mégiscsak kényelmesebb lenneValamint más gondom is van:
eddig használtam Dev C ++-t, de a forráskódban mindössze egy pontosvesszőt volt hajlandó írni, nem többet, nem tudom ez vmi bug lehetett vagy fenetudja, volt vkinek hasonló gondja már?
-
Steve-S
tag
char *valto(unsigned int a, unsigned int b)
{
char *result;
int n=floor(log(a)/log(2)+1);
int i=0;
result=(char *)malloc((n+1)*sizeof(char));
do
{
a%b=result[n-i-1];
a/=b;
i++;
}
while(a!=0)
return result;
}Erről mit gondolsz? Nemfordítja le mert valami kínja van.
int n=floor(log(a)/log(2)+1);
Ez a sor elvileg azt csinálja hogy kiszámítja a tömb méretét (múlt órai feladatból van). -
Lortech
addikt
Nyilván nincs rá beépített függvény, ha lenne, nem ez lenne a feladatod.
Neked kell megírnod.Gondold végig (ha eddig nem tetted volna), hogyan áll össze egy szám tetszőleges számrendszerben általánosan, majd azt, hogyan lehet átváltani egy decimális számot másik számrendszerbe (pl binárisba). Nincs nehéz dolgod, mert eléggé le van egyszerűsítve a feladat.
A fv. kb 10 sor cicomázással együtt. A fő rész egy ciklus, benne két db értékadás. -
Steve-S
tag
Hi mindenkinek!
Egy kis segítség kéne! ANSI C-ben kellene egy olyan programot csinálnom, hogy egy előjel nélküli egész számot beolvastatok, és ki kell iratni a számot az adott számrendszerben. Ez 2-es számrendszertől 9-esig lehet. Van olyan függvény amivel ezt meg lehetne oldani?
Elkezdtem, eddig itt járok, már csak a függvény kéne bele, de azt nem tudom hogy kéne, eléggé láma vagyok még a C-hez. Pls segítsetek ezt estig meg kéne oldanom, kötelező feladat, de valahogy nem boldogulok vele!
#include <stdio.h>
#include <stdlib.h>int main(void)
{
unsigned int a,b;
printf("Adj meg egy egész számot: ");
scanf("%d",&a);
printf("Adj meg egy számrendszert (2-9): ");
scanf("%d",&b);if(b<2 || b>9)
{
printf("Nem jó számrendszert adtál meg!");
exit(-1);
}
} -
Lortech
addikt
válasz
kicsitomi88 #71 üzenetére
A néhány éves forráskódjaimban.
Annyit csinál, hogy átugorja a white-space-eket, ha vannak, és az első nem white-space-t teszi a c-be.
-
Lortech
addikt
válasz
kicsitomi88 #69 üzenetére
Megnéztem normális megoldást is: scanf("%1s", &c);
(Csak hogy ne az előző maradjon meg. ) -
Lortech
addikt
válasz
kicsitomi88 #67 üzenetére
Dehogynem. A 2. számot beviszed egy enterrel, a szám megy a változóba, a sorvége meg benne marad a pufferben, és a %c meg egyből behúzza.
Gányolás megoldás: scanf("%c%c", &c,&c);szerk: amúgy meg a scanf monnyon le.
-
kicsitomi88
őstag
Na most lett elegem de kurvara:
Szia
#include <stdio.h>
main()
{
int a,b;
char c;
printf("Irj nekem egy szamot:\n");
scanf("%d", &a);
printf("Most megegyet:\n");
scanf("%d",&b);
printf("Most egy karaktert:\n");
scanf("%c", &c);
printf("\nAz elso szam: %d",a);
printf("\nA masodik szam: %d es a karakter: %c", a ,c);
fflush(stdin);
getchar();
}havernal rebootol a gep nalam meg nem olvassa be a chart hanem ugrik a kiirasra
Nem hiszem h a puffer mert fflushal sem volt jo.
-
Studiossrác
aktív tag
kicsitomi88-nak hála a 3. és a 4. feladat már készen van. Ezúton is köszönöm a segítséged
Viszont még az 1 és a 2. feladat megoldása kéne nekem.
Feladatok:
1: írni kell 1 olyan függvényt, ami bekér(dos ablak) egy max 20 számjegyből álló számot. Ki kell iratni a képernyőre, a beírt 20 jegyű szám számjegyeinek az összegét
2: uez a bekérés, tehát bekérek egy max 20 számjegyű számot, és kiiratom a képernyőre minden páros indexű elem(2.,4.,6 számjegy....)összegét. -
Studiossrác
aktív tag
válasz
kicsitomi88 #64 üzenetére
Megpróbálom jobban leírni. Az egészet függvénnyel kell amúgy megoldani
1: bekérsz egy max 20 karakteres sztinget(tudod, felugrik a DOS ablak és gépeld be a számot)
A begépelt szám számjegyeinek összegét kiiratod a képernyőre
2: uaz a bekérés, csak itt minden páros indexű elem összegét iratod ki a képernyőre
3: bekérsz 5 db egész számot(tudod, felugrik a DOS ablak és gépeld be a számot). Kiiratom a képernyőre az 5-el oszthatók összegének a négyzetét.
4:bekérsz 2 db egész számot(tudod, felugrik a DOS ablak és gépeld be a számot). Ha a számok párosak kiiratom a képernyőre, hogy páros, ha nem, akkor, hogy nem páros.
Mod: igazad van, nem ma este kellene, de nem tudtam vele foglalkozni a hétvégén -
kicsitomi88
őstag
válasz
Studiossrác #63 üzenetére
Ezen is latszik h nem vagod annyira h magadtol javits majd vmit. Hol kerem be azt amivel visszaterek pl? Atadom v a fvben bekerem?
nem elotte ejszaka kell ezt.
-
Studiossrác
aktív tag
válasz
kicsitomi88 #62 üzenetére
Ne haragudj, hogy téged zavarlak de miért nem Pontos a feladatleírás?
1. bekérsz egy max 20 karakteres sztringet.
visszatérek a karakterek összegével
2. uúgy max 20 karakteres sztring
visszatérek minden páros indexű elem összegével
3. bekérek 5 db egész számot, megnézem az 5-el oszthatók összegét, és ennek a négyzetét veszem.
4: bekérek 2 darab egész számot.Ha a számok párosak visszatérek velük, ha nem, akkor kiírom, hogy nem párosak.
Ne haragudj, hogy téged zavarlak ezzel. Ez 1 pótzh lesz.Tanár ezt a feladatot adta múltkori zh-ra holnap ebből 1 szerepel minimum(de lehet több is). Ha megtudod légyszi a forrásfájlt küld el, ha nem, akkor ne haragudj, hogy zavartalak -
kicsitomi88
őstag
válasz
Studiossrác #61 üzenetére
Mivel tudom h irjatok a zht, elmondom neked h mivel nem vagy tisztaban a C nyelv szintaktikájával valamint lehetosegeivel, ZHn egy ;-őn vagy vmi kis hulyeseg miatt 0 pontod lesz. Így is, úgy is. Tapasztalatból beszélek.
Egyebkent meg char c[20];
scanf-fel olvasol %s-el
aztan forral \0ig osszeadodforral szinten de kettesevel ugrasz ( i += 2 )
bekered oket aztan ha szam % 5 == 0 akkor egy 0azott valtozoba hozzaadod a negyzetet.
ez meg if-fel if ( szam1 % 2 == 0 && szam2 % 2 == 0)
parosak
else nemNem tudjuk megírni helyetted mert nem pontos a feladat leírás. At kell adni vagy ott letrehozni stb.
-
Studiossrác
aktív tag
Hello mindenkinek.
Holnapra kéne nekem a következő C program. Állítólag pár perc alatt meglehet írni, de én egyszerűen nem tudok vele megbírkózni.Holnap zh lesz, ahhoz kéne. Nagyon fontos lenne, ha valaki megcsinálná nekem annak örörré hálás lennék.(annyit kérnék, hogyha valaki dolgozik vele az dobjon a fórumba 1 jelzést, hogy tudjam, hogy segít valaki)
A négy feladatot egybe kéne megcsinálni.
Feladatok:
1. Írni 1 függvényt, ami bekér egy max 20 karakteres stringet és visszatér a sztring karaktereinek összegével.
2. Max 20 karakter típúsú sztringet szintén bekér, visszatér minden páros indexű elem összegével.
3. Bekér 5 darab egész számot. Megnézi az öttel oszthatók öszegét, visszatér ennek a négyzetével.
5. Bekér 2 darab egész számot. Ha a számok párosak visszatér velük, ha nem akkor kiírja, hogy nem páros.
A c fájlt a vicecity3213@freemail.hu e-mail címre várnám. Előre is köszönöm -
sekli
addikt
helo,
kerdezek egy nagyon egyszerut gyorsan...
vannak struct-jaim, amiket egymas utan taroltam el a memoriaban, ezeket szeretnem egymas utan kiiratni mondjuk egy for ciklussal,hogy kell...?
mondjuk:
struct ember
{
char nev[20];
char szulnev[20];
int szulido;
float suly;
};
ember e1, e2, e3;
strcpy (e1.nev, "Gipsz Jakab");
strcpy (e1.szulnevnev, "Gipsz Jakab");
e1.szulido=1996;
e1.suly=32.8;
//es igy tovabb masodik es harmadik ember...koszi
-
doc
nagyúr
senki nem állította hogy nem kell tudni számolni a programozáshoz
az eredeti állítás az volt, hogy kemény matek ismeretek elengedhetetlenek a programozáshoz
ez az, ami hülyeség
binárisból decimálisba váltani nem kell nagy ész, csak általános iskolai alapmatek, vagy egy kicsi logika
gömbhöz meg megint nem kell sok matek, van rá millió API
persze ha valaki saját 3D engine-t csinál, az más tészta, de nem is erről, hanem az általános programozásról volt szó
én már nem kevés programot megírtam, de sok matek egyikhez sem kellett (pedig van olyan szerkesztőm, ami pl gráfot rajzol - igaz, külső program segítségével) -
RazoR_45
tag
válasz
Nantucket #49 üzenetére
Nem akarlak lehuzni de a progaramozás alapja mindig is a metk volt amikor még 1 és 0 létezettt szerinted higy emeleték 10-es számrendeszerbe mondjuk a 214-et vagy egyéb dolgokat és az algoritmushoz is elengedhetetlen a matek ugyhogy matek az kell a programozáshoz és némi fizika példul egy gömb vagy bármely más térbeli alak készitésekor
-
Nantucket
tag
válasz
kicsitomi88 #48 üzenetére
Ne érts félre én nem azt mondtam, hogy nem jó dolog ha vki vágja a matekot, de szerintem nem az kell ahhoz hogy jó programozó legyen vki. Szerintem a programozói állások kb fél százalékához, de inkább még kevesebbhez kell igazi matek tudás.
Az hogy úgy írtam a programjaimat, hogy nem kellet hozzá matek az nem azt jelenti, hogy nincs bennük egyáltalán, hanem azt hogy nem én írtam meg őket (valószínűleg nem is tudtam volna, de biztosan nem olyan minősgben, mint ahogy mások tették), én csak használtam mások könyvtárait. És itt most nem ilyen <1000 soros hello word-ökről beszélek.
Modellezés alatt az adott probléma modellezését, dekomponoálását értem, azaz hogy hogyan alakítod ki az osztályhierarchiádat, ha valaki erre igazán ráérez és olyan megondolt formában alakítja a program struktúráját, hogy kinézetre a dolog hasonlít mondjuk a java api-hoz vagy a dotnet base classhoz (és itt végtelen számú példát lehetne felhozni), és ha leültet bárkit elé, kezébe nyom egy doksit, akkor az gond nélkül átlátja hogy mi miért van, szerintem az az igazi programozó. -
kicsitomi88
őstag
válasz
Nantucket #47 üzenetére
En eppen azon gondolkodom, h fogom a kovetkezo felevben a kalkulust applikalni, de ennek ellenére a gondolkodásmód elsajátítása miatt kell a matek.
Milyen programokat írtál amihez nem kell matek de mégis lefedi a programfajták nagy részét? Gondolom nem vállalatírányítási rendszert dobtál össze.
Tevedes ne essek, sok hulyeseget tanul az ember egyetemen is, de megegyszer mondom a matek: elsajatitando gondolkodasmod.
Netrol meg nem lehet megtanulni programozni, esetleg kódolni ami két igen különböző dolog. Programozni elobb tanulsz meg matekon. Ja es persze a netrol megtanult dologbol is inkabb ganyolas lesz, mint kódolás.
Modellezes alatt mit ertesz?
Ha esetleg megosztanad azokat a programokat, ha penzbe kerulnek akkor meg, hogy egyaltalan mit csinal akkor lehet h valtozik a velemenyem.
-
Nantucket
tag
Hát ezzel tökéletesen egyetértek, matek nem nagyon fog kelleni a programozáshoz, én megírtam már 1-2 programot, de olyan problémával nem szembesültem még amihez hű de nagy matek tudás kéne, és még nem írta meg senki előttem. Szerintem most így elég nehéz lenne olyan témakört mondani amit még nem írt meg senki (és persze ingyé hozzáférhető), kellöen ügyesen. Szerintem programozni, csak netről lehet megtanulni, és nem arról szól a dolog, hogy mekkora koponya vagy, hanem, hogy mennyire tudsz modellezni (ez is inkább tapasztalat) és mennyire tudod felhasználni azt a rengeteg cuccot ami már létezik.
-
RazoR_45
tag
Nagyon király 1.rész ikor jön ki??
-
doc
nagyúr
szerintem meg pont netes cikkekből lehet a legjobban megtanulni programozni
a matek, főleg a "kemény" matek meg csak bizonyos feladatokhoz kell, pl. egy egyszerű felhasználói program megírásához felesleges, aki meg pl. OpenGL-ben akar programozni majd úgyis megtanulja amit muszáj -
Avalon
tag
Linux alatt (Ubuntu Gutsy) érdemes kipróbálni az Anjuta IDE-t, nekem bevált, habár code:
locks-t nem próbáltam még.
A cikkhez: Érdekes próbálkozás, és bár lehet csak a szakmai sovinizmus beszél belőlem, nem hiszem, hogy programozni meg lehet tanulni netes cikkekből. Egy kicsit komolyabb program elég kemény matekos alapképzettséget és algoritmiai ismereteket igényel, habár az ötlet mindenestere érdekes, és nem fogok bánkódni ha nem lesz igazam. ;)
-
Daneey
tag
Ajánlanék egy oldalt az első hsz.-hoz: cprogramming.com
-
kicsitomi88
őstag
Kész van a cikk
holnap reggel 6:30tol olvashato lesz. -
Gergello
addikt
válasz
kicsitomi88 #38 üzenetére
Mehet ki lazán. Szerintem jó ez így példa programokkal és egy-két utasítás leírásával.
-
kicsitomi88
őstag
Ha par C-ben picit jartasabb szaki megnezne, es gyors elmondana a velemenyet akkor mihamarabb kiraknam Logutra. Ez meg tulajdonkepp nem a sorozat, csak egy elozetese.
-
Gergello
addikt
Lenne egy kicsit összetetebb grafikai programkódom, amiben van egy hiba, lehet hogy valami triviális dolog , de már nem tudok rájönni mi .
A hibajelenség: tul. ferde hajítás, számolom az y értékeket, léptetem az x-et van parabola minden..., de van egy alakzat amit el kellene találni, nem kell, hogy a végpontja találja el, az is elég ha átmegy rajta. Ha csak x értekre vizsgálom a találatot akkor minden oké, de ha y-ra is (gyak ha átrepül fölötte az ne legyen érvényes) akkor nem számolja a találatokat. aki lefuttatja úgyis látni fogja.itt lenne: link
-
doc
nagyúr
válasz
kicsitomi88 #31 üzenetére
vagy Code:: Blocks
gcc-t (pontosabban a w32-es verzióját, a mingw32-t) tudsz használni mindkettőhöz -
Frenky87
aktív tag
üdv!
Agy kis segítségre lenne szükségem. A suliban (KVK) c-ben megy a programozás és nem ártana itthon is gyakorolgatni kicsit. Viszont 64bites vista alatt kellene futtatni a gcc-t. Megoldható ez valahogy?
Csak emiatt nem szeretném barátnőm gépét nyúzni (32bit, XP)
-
camino
tag
gotoxy-ba lehet tenni változót
-
kicsitomi88
őstag
Ha valakinek lenne ötlete az első hsz bővítéséhez, szóljon.
-
camino
tag
válasz
kicsitomi88 #24 üzenetére
jah.... most ki kell bírnom 23 óra 11 percet
na mindegy kezdem egy kis alvással.... Jó éjt!
-
camino
tag
válasz
kicsitomi88 #22 üzenetére
Köszönöm! Isten vagy
Többet ma már nem nyavajgok.....
-
camino
tag
még valami: hogy tudom a villogó kurzort letiltani? rég programoztam már, de úgy emlékszem, h ki lehet iktatni... csak nem emlékszem, hogy hogyan....
-
camino
tag
Bocs, ha láma kérdés:
fp=fopen("c:\\valami.txt","r+t");
a fájl kiterjesztése változik. hogy lehet a char változót betenni kiterjesztésnek???
-
-
-
FehérHolló
veterán
Nincs nekem semmi ellenvetésem, hogy létezzen külön C topic, de emlékeim szerint a C++ topicban minden értelmes C-s kérdésre is válaszoltak.
Ez a hely meg szerény véleményem szerint soha nem lesz egy prog.hu. Ide inkább hardware-es érdeklődésű emberek járnak. De ez egyáltalán nem baj.
-
Gergello
addikt
Ha már C:
grafikus mód alatt (dos), mivel tudom kiíratni változák tartalmát? szöveges módban printf, de itt az outtext és outtextxy-t nem lehet paraméterezni.
-
kicsitomi88
őstag
válasz
FehérHolló #5 üzenetére
Terminológiailag két különálló nyelvről van szó, sztem kétfelé kell szedni, nem véletlenül van Prog.hun is kétfelé szedve.
-
Lortech
addikt
válasz
FehérHolló #5 üzenetére
Amire reakcióként az illető moderátornak jeleztem is, hogy nem egészen jók azok a topikok, amiket linkelt (először csak a C++ és a VS C# topikokat linkelte, később az ajánlásom hatására a linuxos c topikot is beralta), mivel elég jelentősen eltérnek ezek a nyelvek gyakorlati szempontból, és sokszor feleslegesen keveredik a kettő (c/c++) és ez félreértésekre adhat okot. Felvetette válaszában, hogy moderátor kollégáival megbeszélik és majd idővel rendbe szedik a szoftverfejlesztés részt.
Szerintem igencsak fáférne már a ph-ra a szoftverfejlesztés rész rendberakása. Legalább minden nyelvnek vagy jól elkülönülő témakörnek egy külön topik, normális kezdőhozzászólással (mint pl ebben a topikban), nem olyanokkal, amik pl. egy házifeladat megoldásában kérnek segítséget, aztán úgy maradtak, és nagy topikokká váltak. -
doc
nagyúr
válasz
FehérHolló #5 üzenetére
mondjuk én azt a zárást sem érzem jogosnak
-az első totyik azért nem jó, mert az csak a Linux alatti c-programozassal foglalkozik (ami nagyon jo dolog, de van aki w32 ala (is) fejleszt)
-a második c++-os, meg a "gyors segítség" sem feltétlenül passzol egy általános c/c++-topicba
-a harmadik meg aztán fényévekre van a c/c++-tól... -
FehérHolló
veterán
Ajánlom figyelmetekbe ennek a topicnak a sorsát: [link]
Egyébként C és C++ szerintem is mehet egy füst alatt.
-
amargo
addikt
Én pártolom régebben is volt ilyen, csak elsüppedtek.
-
kicsitomi88
őstag
Majd a modiknak szólunk ha leírod olyan formában ahogy a hszben van, hogy bővítsék. Külön gondoltam a C++-t, valamint Delphit, Pascalt, Assemblyt, Javat stb... Csak meg kéne szerkeszteni igényesen az első hszeket.
Ja és lobbizni kéne, hogy kiemelt témák legyenek és ide küldjék máshonna az adott témában kérdezőket.
-
doc
nagyúr
válasz
kicsitomi88 #1 üzenetére
nem rossz ötlet, de akkor már bővítsük ki c++-szal a címet
IDE-ből meg van még bőven ügyes és ingyenes, pl. Code:: Blocks, Kdevelop,stb. -
kicsitomi88
őstag
Tisztelt fórumozók!
Hogy ne az eddig kiemelt Programozás fórum topikba menjenek ömlesztve a kérdések, ezért úgy gondoltam érdemesebb lenne adott nyelvenként témákat létrehozni. Tehát mostantól minden C nyelvvel kapcsolatos kérdés ide kerüljön, meglátjuk van-e rá igény.
[ Módosította: Kalandor ]
Ú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!
- Milyen videókártyát?
- Debrecen és környéke adok-veszek-beszélgetek
- Milyen billentyűzetet vegyek?
- EAFC 25
- Milyen okostelefont vegyek?
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Metal topik
- Sütés, főzés és konyhai praktikák
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- AMD vs. INTEL vs. NVIDIA
- További aktív témák...
- Új MSI KATANA 17 Gamer Tervező Laptop 17,3" -35% i7-13620H 10Mag 16/1TB RTX 4060 8GB FHD 144Hz
- Apple Iphone 13 128gb csillagfény színű OLCSÓN . Csere/beszámítás
- OnePlus Pad 2 + OnePlus Pad 2 billentyűzet + Extrák
- AKCIÓ!!! GAMER PC: Új i5-14400F +RTX 4060/5060/4070/5070 +Új 16-64GB DDR4! GAR/SZÁMLA! 50 FÉLE HÁZ!
- HP EliteBook 855 G8, 15,6" FHD, Ryzen5 PRO 5650U CPU, 16GB DDR4, 256GB SSD, WIN 11, ( olvasd végig )
- Update 06.24. Bomba árak 2025-ben is! Üzleti - Consumer laptopok DELL FUJITSU HP LENOVO
- AKCIÓ! Gigabyte AORUS 16X (2024) Gamer notebook - i7 14650HX 16GB RAM 1TB SSD RTX 4070 8GBWin11
- Samsung Galaxy S6 Lite (2022) , 4/64 GB ,Wi-fi
- AKCIÓ! PC Specialist Recoil VIII 17 notebook - i9 14900HX 16GB RAM 2TB SSD RTX 4060 8GB WIN11
- BESZÁMÍTÁS! Gigabyte B450 R7 5700X 32GB DDR4 512GB SSD RX 6700XT 12GB Rampage SHIVA be quiet! 650W
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest