- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- hdanesz: Hyundai Ioniq 28 kWh 2018 2. felvonás
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Magga: PLEX: multimédia az egész lakásban
- Tomasz72: Ventilátor upgrade
- Elektromos rásegítésű kerékpárok
- Chosen: Canon 5D II - portrézás 2025-ben
- Szevam: „Rendszerleállás” – egy AI képzeletbeli halál utáni élménye
- bambano: Bambanő háza tája
Új hozzászólás Aktív témák
-
vanek
tag
válasz
WonderCSabo #2998 üzenetére
itt a példa
igen bemenet van
csak én nem tudom..
azért gondolom, hogy valami szélsőséges megoldás..
egyébként nem futtattam a programot minden eshetőségre ami eszembe jutott..mindenre jó volt..:\
-
vanek
tag
válasz
WonderCSabo #2996 üzenetére
bemenet nincs..
a kész progit feltöltöm egy oldalra, ahol egy tesztelő program 10 tesztet futtat le..
az eredményeknél, csak annyit látok, hogy pl.: 5 teszt, futási idő 004 sec, hibás eredmény..
de sajnos semmi ötletem sincs, hogy mi lehet az..
-
vanek
tag
válasz
WonderCSabo #2992 üzenetére
feltöltöttem a progit kijavítva..ugyan úgy 5 hibás eredmény volt..és ugyan ott voltak a hibás eredmények..:\
-
vanek
tag
válasz
WonderCSabo #2992 üzenetére
persze, hogy érdekel, így tanul az ember!
-
vanek
tag
válasz
WonderCSabo #2990 üzenetére
ha arra a javításra gondolsz, amit a c++ topikban írtál..akkor nem működik jól, mivel már az első próbálkozásnál találtam egy hibát..
a forrás sztring az ALMa volt a cél sztring az ALMA
és azt írta, hogy igen benne van és kiírta az ALMa-t..
-
vanek
tag
válasz
WonderCSabo #2988 üzenetére
igen tudom.. és nagyon szépen köszönöm! de amint írtam, nekem nem a programommal van a gond..hanem az eshetőségekkel..
-
WonderCSabo
félisten
Válaszoltam a C++ topikban, de itt folytassuk.
-
vanek
tag
Van egy programom..amely sztringet keres egy adott sztringben..
a problémám, hogy mikor beadom a programot a netes program tesztelőbe, akkor 5 pontra azt írja ki, hogy hibás eredmény..gondolom 5 példa hibás..de sajnos nem tudok rájönni, hogy milyen fajta példák lehetnek azok..
a programom..
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int vizsgal(char s1[], char d1[])
{
int i,j;
for(i=0; i<strlen(s1); i++)
{
if (s1[i]==d1[0])
{
for(j=1;j<strlen(d1);j++)
{
if ((s1[i+j]!=d1[j]) || ((i+j)>strlen(s1)-1)) break;
if (j==strlen(d1)-1) return i;
}
if (strlen(d1)==1) return i;
}
}
return -1;
}
int main()
{
FILE *f,*fk;
char s[256],d[256],e[261];
char ch;
int i,j,kimenet=0;
fk=fopen("ki.txt", "wt");
f=fopen("be.txt", "rt");
if(f==NULL)
{
exit(-1);
}
fgets(s,256,f);
fgets(d,256,f);
kimenet=vizsgal(s,d);
printf("%i",kimenet);
if (kimenet!=-1)
{
strcpy(e,"IGEN ");
for (i=0;i<kimenet;i++)
{
e[i+5]=s[i];
}
e[kimenet+5]='\n';
for (j=0;j<=kimenet+5;j++)
{
fputc(e[j],fk);
}
}else {
strcpy(e,"NEM");
for (j=0;j<3;j++)
{
fputc(e[j],fk);
}
e[3]='\n';
fputc(e[3],fk);
}
fclose(f);
fclose(fk);
return 0;
}köszi előre is
-
Darkzbane
tag
Olyan kérdésem lenne hogy adott C programozási feladat elkészítését (pénzért természetesen) vállalná e valaki?
-
Gyuri16
senior tag
tanulj meg debuggert hasznalni. ket printf az nem debuggolas.
mi tortenik ha .-.- a bemenet? nem NULL lesz az eredmeny, mert a fadban van ilyen ag a "." karakter miatt aminek a kodja ".-.-.-" tehat a vegen egy olyan betut fogsz kapni ami abban a structban volt. mivel olyan morze kod nincs, ezert valami veletlent kapsz. innen mar gondolom egyertelmu..
-
dany27
őstag
válasz
Jester01 #2982 üzenetére
Íme:
#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
#include<string.h>
#define ESC 27
#define ENTER 13
#define BS 8
typedef struct ag{
char betu;
struct ag *jobb,*bal;
} Fa;
Fa* uj()
{
Fa* elem=(Fa*)malloc(sizeof(Fa));
elem->bal=NULL;
elem->jobb=NULL;
return elem;
}
void insert(Fa* root, char betu, char *kod)
{
Fa *hely, *elozo;
int i=0;
hely=root;
while (kod[i]!='\0')
{
elozo=hely;
if (kod[i]=='.')
hely=hely->jobb;
else
hely=hely->bal;
if (hely==NULL)
{
hely=uj();
if (kod[i]=='.')
elozo->jobb=hely;
else
elozo->bal=hely;
}
i++;
}
hely->betu=betu;
}
void check(Fa *root,char kod[7])
{
Fa *hely;
int i=0;
hely=root;
while(kod[i]!='\0' && hely!=NULL)
{
if(kod[i]=='.')
hely=hely->jobb;
else
hely=hely->bal;
i++;
}
if(hely!=NULL)
printf("\n%c",hely->betu);
else
printf("\nA megadott morse kod helytelen!");
}
void fill(Fa* root)
{
insert(root, 'A', ".-");
insert(root, 'B', "-...");
insert(root, 'C', "-.-.");
insert(root, 'D', "-..");
insert(root, 'E', ".");
insert(root, 'F', "..-.");
insert(root, 'G', "--.");
insert(root, 'H', "....");
insert(root, 'I', "..");
insert(root, 'J', ".---");
insert(root, 'K', "-.-");
insert(root, 'L', ".-..");
insert(root, 'M', "--");
insert(root, 'N', "-.");
insert(root, 'O', "---");
insert(root, 'P', ".--.");
insert(root, 'Q', "--.-");
insert(root, 'R', ".-.");
insert(root, 'S', "...");
insert(root, 'T', "-");
insert(root, 'U', "..-");
insert(root, 'V', "...-");
insert(root, 'W', ".--");
insert(root, 'X', "-..-");
insert(root, 'Y', "-.--");
insert(root, 'Z', "--..");
insert(root, '0', "-----");
insert(root, '1', ".----");
insert(root, '2', "..---");
insert(root, '3', "...--");
insert(root, '4', "....-");
insert(root, '5', ".....");
insert(root, '6', "-....");
insert(root, '7', "--...");
insert(root, '8', "---..");
insert(root, '9', "----.");
insert(root, '.', ".-.-.-");
insert(root, ',', "--..--");
insert(root, ':', "---...");
insert(root, '?', "..--..");
insert(root, '-', "-....-");
insert(root, '/', "-..-.");
insert(root, '(', "-.--.-");
insert(root, '@', ".--.-.");
insert(root, '=', "-...-");
}
void clreol()
{
int i;
printf("\r");
for(i=1;i<80;i++)
{
printf(" ");
}
printf("\r");
}
void felszabadit(Fa *root)
{
if (root==NULL)
return;
felszabadit(root->jobb);
felszabadit(root->bal);
free(root);
}
int main()
{
Fa* root=uj();
char beolv[7];
int index=0;
int key=0;
fill(root);
printf("Morse kod ellenorzo! Adatbevitel megszakitalsa az ESC lenyomasaval!\n");
printf("Morse kod: ");
do
{
key=getch();
if(((key>=45) && (key<=46)) && (index<6))
{
beolv[index]=(char)key;
index++;
printf("%c",(char)key);
}
else if(key==BS && strlen(beolv)>0)
{
beolv[index-1]=(char)0;
index--;
clreol();
printf("Morse kod: %s",beolv);
}
}while((key!=ESC) && (key!=ENTER || index==0));
beolv[index]='\0';
if(key==ENTER)
check(root,beolv);
else
printf("Adatbevitel megszakitva");
felszabadit(root);
return 0;
}Ezzel próbáljátok ki:
.-. Ez elvileg R betűt ad ami helyes.
.-.- Ez G-t ad ami nem helyes mivel a G morse kódja --. és ha ezt beírom erre is G-t ad![ Módosította: #65675776 ]
-
dany27
őstag
válasz
Jester01 #2980 üzenetére
Elnézést!
Csak azt hidtem hogy valamit a check fgv-ben rontottam el, de aztán kiderült hogy nem és akkor már nem tudtam szerkeszteni a régebbi hozzászólásomat.
Raktam egy if-et oda ahol elhelyezi a betűt a fában,
azért hogy megbiznyosodjak róla hogy a fa jobb vagy bal oldalára rakja... De egy kicsit érdekes lett a végeredmény.
Nem mindegyik betűt tölti fel valamiért, mert sem a bal sem a jobb nem teljeseül....
Erre gondoltam debuggernak a kódba:
if (elozo->bal)
{
hely->betu=betu;
printf("\nBal: %c",betu);
}
else if(elozo->jobb)
{
hely->betu=betu;
printf("\nJobb: %c",betu);
}E szerint minden elem jó helyre kerül szval a feltöltéssel elvileg nem lehet gond...
-
dany27
őstag
válasz
Gyuri16 #2976 üzenetére
Így töltöm fel:
void beilleszt(Fa* gyoker, char betu, char *kod)
{
Fa *hely, *elozo;
int i=0;
hely=gyoker;
while (kod[i]!='\0')
{
elozo=hely;
if (kod[i]=='.')
hely=hely->jobb;
else
hely=hely->bal;
if (hely==NULL)
{
hely=uj();
if (kod[i]=='.')
elozo->jobb=hely;
else
elozo->bal=hely;
}
i++;
}
hely->betu=betu;
} -
dany27
őstag
Sziasztok!
Írtam C-ben egy morse kód ellenőrző progit bináris fát használva de egy érdekes anomáliába futottam....
Ha beadom az a kódot neki hogy .-. akkor kidobja hogy ez az R betű kódja... de ha beírom neki azt hogy .-.- akkor azt mondja hogy G pedig ilyen morse küd nem is létezik....
Sőt mi több a G az pont a fa másik oldalán van.... Már a legelelején pont ellentétes irányba kellene elindulni hogy G-t kapjunk... elméletileg a .-.--nak null pointert kéne hogy adjon mivel a .-. az R betű és utánna nincs már semmi sem...Hol csesztem el?
Ez a rész ellenőrzi hogy van e ilyen morse kód(megpróbálja a beadott kód szerint bejárni a fát):
void check(Fa *gyoker,char kod[7])
{
Fa *hely;
int i=0;
hely=gyoker;
while(kod[i]!='\0')
{
if(kod[i]=='.')
hely=hely->jobb;
else
hely=hely->bal;
i++;
}
if(hely!=NULL)
printf("\n%c",hely->betu);
else
printf("\nA megadott morse kod helytelen!");
}A fa jól van feltöltve az elemekkel!
-
moha21
veterán
válasz
WonderCSabo #2973 üzenetére
Köszi, működik!
közben rájöttem a Borland C-ben majd az össze függvényre van példa is.
DE az fprint-re már nem is emlékeztem, anno suliban kellett csinálni alacsony magasszintű, de alig maradt meg belőle valami. -
moha21
veterán
válasz
WonderCSabo #2971 üzenetére
Köszi! Argomentum az u.a. mint a sima print fv.?
-
moha21
veterán
Sziasztok! Kb. ~5-6 éve programoztam utoljára C-ben, szóval eléggé hiányos már a tudásom.
ascii karaktereket szeretnék fáljba írni ( arra emlékszem, hogy lehet fájlba írni, de már arra nem, hogy hogyan is )
BorlandC a fejlesztőkörnyezet még jó régen írtam rá ezt a programot.:
#include <stdio.h>
#include <conio.h>
#include <dos.h>
main()
{
window(1,1,80,25);
textbackground(0);
clrscr();
int a=1;
for(;;a++)
{
clrscr();
printf("\ntizes sz mrendszerben: %i\ntizenhatos sz mrendszerben: %X\nA karakter: %c",a,a,a);
getch();
}
}nem szép, de működik, szóval ezt kellene fájlba menteni. Nyilván meg tudnám egyedül is oldani, de hátha így gyorsabb lesz.
-
LumberJack
csendes tag
válasz
WonderCSabo #2967 üzenetére
Nálam nem ezek vannak, csak elég hülye neveket szoktam adni a változóknak (mérgemben meg vállalhatatlanokat), gondoltam átírom tisztességesre, mielőtt feldobom ide, csak figyelmetlen voltam
-
WonderCSabo
félisten
válasz
LumberJack #2965 üzenetére
Ez sztem le se fordul, mert a szamok valtozó sehol sem volt deklarálva. Egyébként miért az ifekkel szórakozol, miért nem csinálod a beolvasást/kiírást beágyazott ciklussal?
-
Jester01
veterán
válasz
LumberJack #2965 üzenetére
Például azért, mert az első if blokk x == 80 esetén kinullázza az x-et, amitől persze teljesülni fog az x < 80 feltétel és a második blokk is végrehajtódik. Esetleg simán else ágat kellene használni (vagy átírni kevésbé kacifántos megoldásra).
-
LumberJack
csendes tag
Az előző problémát sikerült már megoldanom, de most csak sikerült valami nevetségesen egyszerű dolgon elcsúsznom. A problémám a következő: szeretnék egy függvényt csinálni, ami file-ból behúzza az adatokat, majd egy kétdimenziós tömbben eltárolja azokat. A file csak space-ekkel elválasztott egészeket tartalmaz, pontosan 1760 db-ot (80x22). A következőt sikerült összehoznom, de valamiért kifagy, és egyszerűen képtelen vagyok rájönni, hogy miért.
int main()
{
int tomb[22][81];
int v, y = 0, x = 0, p;
FILE *szoveg;
szamok = fopen("adat.dat", "rb");
for (p = 0; p < 1760; p++) {
fscanf(szamok, "%d", &v);
if (x == 80);
{
x = 0;
y++;
tomb[y][x] = v;
}
if (x < 80) {
tomb[y][x] = v;
x++;
}
}
y = 0;
x = 0;
for (p = 0; p < 1760; p++) {
if (x == 80) {
x = 0;
y++;
printf("%d", tomb[y][x]);
}
if (x < 80) {
printf("%d", tomb[y][x]);
x++;
}
}
return 0;
}A második for ciklusnak csak ellenőrző szerepe van. Azzal iratom ki a tömb tartalmát.
-
LumberJack
csendes tag
Sziasztok! Nekiálltam írni egy programot, és szeretnék a konzolban színes képeket megjeleníteni karakterek segítségével. Nyilván elég limitált a képek minősége, de pont ilyen retro hangulatra törekszem. Az egyetlen gond azonban, hogy a megrajzolt képeket ANSI fileban menti a rajzprogram(PabloDraw). Ebből kéne nekem valahogy kibányászni a karakterek színeit, magukat a karaktereket stb, stb. Azt akarom kérdezni, hogy tudtok-e valami módszert, amivel a problémát viszonylag egyszerűen meg lehet oldani? Köszi előre is!
-
Jester01
veterán
válasz
Feribacsi555 #2961 üzenetére
A mínusz jel speciális guglinak, idézőjelbe kell az egészet tenni.
-
Feribacsi555
senior tag
válasz
Feribacsi555 #2960 üzenetére
Amúgy nekem ezt írja a google:
A keresett kifejezés (-1.#IND0) egyetlen dokumentumban sem található meg.
-
Jester01
veterán
válasz
Feribacsi555 #2958 üzenetére
Google (
) szerint:
Indeterminate.
Result cannot be represented in a floating point register.
Most likely the result of 0/0, sqrt(-1) or similar.Magyarul nullával osztottál, negatív számból gyököt vontál vagy hasonló - valós számokon - érvénytelen művelettel próbálkoztál.
-
Feribacsi555
senior tag
Sziasztok!
A feladatom az hogy egy adott függvényt egy adott intervallumon belül kiszámoljon. Meglehet adni, hogy mekkora értékenként számoljon. Az a gondom, hogy néha ezt írja ki számok helyett:
-1.#IND0
Ez mit jelent? -
szkorhetz
őstag
válasz
Sk8erPeter #2956 üzenetére
Én ezt nem tudom, két hónapja tanulom a c-t..
-
szkorhetz
őstag
válasz
Sk8erPeter #2945 üzenetére
Esküszöm, így csináltam..
-
-
dany27
őstag
sziasztok!
Adott egy láncolt lista. Hogyan tudom helyben megfordítani, azaz nem használok segédlistát hozzá??
Előre is köszi!
-
Sk8erPeter
nagyúr
válasz
WonderCSabo #2943 üzenetére
Ja, sorry, akkor félreértettem azt a mondatrészt, hogy "jelzett is a gcc"... nyilván nem a függvény hibás mivoltára mondtam, hogy fordítási hiba, amikor az rossz eredményt ad vissza, hanem az esetleges warningokra, errorra, amit kaphatott akkor, amikor inicializálatlan változója volt..
(#2944) szkorhetz : hát látom ez nem jött össze....
Pedig annyira nem nehéz...kijelölöd a programkódot, majd azután rákattintasz a Programkód gombra, ez a nagy mágia...
-
szkorhetz
őstag
válasz
Sk8erPeter #2929 üzenetére
#include<stdio.h>
#include <stdlib.h>
struct egybe {
int a;
char c[92];
char sz[92];
};
void feltoltc(egybe *, int sor);
void feltoltsz(egybe *, int sor);
void rendez(egybe *, int sor);
void rendezve();
void ujfilm();
int main()
{
int holsor = 0;
egybe tomb[92];
egybe sege[92];
int azon;
int menu;
bool vanilyen = false;
rendezve();
ujfilm();
while (menu != 5) {
printf("Fomenu:nKerem valasszon egyet a kovetkezo menupontok kozul!nn1: Uj adat felvetelen2: Modositasn3: Keresesn4: Listan5: Kilepesnn");
scanf("%d", &menu);
switch (menu) {
case 1:{
vanilyen = 0;
printf("Adja meg az azonositot: ");
scanf("%d", &azon);
if (!holsor) {
tomb[holsor].a = azon;
}
for (int f = 0; f < holsor; f++) {
if (tomb[f].a == azon) {
printf("Mar van ilyen azonosito!n");
vanilyen = true;
break;
} else {
tomb[holsor].a = azon;
}
}
if (vanilyen) {
break;
}
printf("Adja meg a a film cimet: ");
feltoltc(sege, holsor);
feltoltc(tomb, holsor);
printf("Adja meg a gyartasi evet: ");
feltoltsz(tomb, holsor);
holsor++;
printf("nnAz uj adat mentese sikeres!nnn");
break;
}
case 2:{
int modosit;
bool vane = 0;
printf("Adja meg az azonositot: ");
scanf("%d", &modosit);
for (int x = 0; x < holsor; ++x) {
if (tomb[x].a == modosit) {
printf("Adja meg a a film cimet: ");
feltoltc(sege, x);
feltoltc(tomb, x);
printf("Adja meg a gyartasi evet: ");
feltoltsz(tomb, x);
printf("nnModositas vegrehajtva!nnn");
vane = 1;
}
}
if (!vane) {
printf("nnNincs ilyen azonosito!nn");
}
break;
}
case 3:{
int keres;
bool talalt = 0;
printf("Adja meg az azonositot: ");
scanf("%d", &keres);
for (int x = 0; x < holsor; ++x) {
if (tomb[x].a == keres) {
printf("Azonosito: %dt A film cime: %st Gyartasi ev: %snn", tomb[x].a, tomb[x].c, tomb[x].sz);
talalt = 1;
}
}
if (!talalt) {
printf("nnNincs talalat!nn");
}
break;
}
case 4:{
rendez(tomb, holsor);
for (int j = 0; j < holsor; j++) {
printf("Azonosito: %dt A film cime: %st Gyartasi ev: %sn", tomb[j].a, tomb[j].c, tomb[j].sz);
}
break;
}
case 5:{
break;
}
default:{
printf("Hibas azonostito");
break;
}
};
}
}
void ujfilm()
{
}
void feltoltc(egybe t[], int sor)
{
char szov;
int j = 0;
while ((szov = getchar()) != 'n') {
t[sor].c[j] = szov;
j++;
}
t[sor].c[j] = '
[link] -
WonderCSabo
félisten
válasz
Sk8erPeter #2940 üzenetére
Ez nem fordítási hiba, még warning sem.
-
válasz
Sk8erPeter #2940 üzenetére
Ez csak warning volt, nem error, gondolom emiatt fogadta el, meg ettol meg most pont jol mukodott, szerencsemre.
Biro ha jol tudom csak azt nezi, hogy a kimenet egyezik-e az elore definialtal, itt legalabbis, kesobb gondolom komolyabbak lesznek az elvarasok, de ez meg csak az 1. szemeszter. -
Sk8erPeter
nagyúr
Ennek tükrében viszont elég érdekes, hogy "a Biro is megkajalta max pontszammal", ha full hibás, és még fordítási hibát is jelzett...
Nálunk egy BME-s programnál (Cporta) bármilyen fordítási hiba volt tapasztalható, nem fogadták el. (Lehet, hogy azóta enyhítették ott is.)
-
válasz
WonderCSabo #2938 üzenetére
Valoban, jelzett is a gcc, de akkor nem ertettem hirtelen mi a baja, most mar felfogtam, koszi.
-
Meghackeltem, a Biro is megkajalta max pontszammal, vegre.
Mivel nekem csak "int"-kent volt szuksegem a negyzetgyokre, igy a kovetkezo hack bevalt:int f_sqr(int szam){
return szam*szam;
}
int f_sqrt(int szam){
int i, hatvany;
for(i = 1; hatvany < szam ; i++){
hatvany = f_sqr(i);
}
return i - 1;
} -
válasz
Sk8erPeter #2934 üzenetére
"A kötelező programot a Bíró fogja kiértékelni. Feltöltés után a Bíró programot a gcc fordítóval
-static -O2 paraméterezéssel lefordítja, majd a programot 10 különböző tesztesetre futtatja."Szoval feltoltom a .c fajlom, de fix parameterekkel forditja(ugye a biro is egy program), emiatt ilyenkor csak ennyit ad vissza:
"Fordítási hiba!
További információk a compile.txt állományban olvashatók."
Ezert mikozben irom/tesztetelem en is mindig
"gcc -O2 -static -o progineve forras.c -Wall -pedantic"
kapcsolokkal forditom, hogy ne erjen meglepetes.Korcsii: 10-szer adhato be s kiprobaltam, lasd ezen hsz-em egy kicsit feljebb.
-
Sk8erPeter
nagyúr
Miért, ott kiszedik az -lm kapcsolót?
Ha az
#include <math.h>
sort nem hagytad ki, sajnos elvileg ekkor is kellene az -lm kapcsoló: [link].Nem úgy működik, hogy feltöltöd a .c fájlodat, azt meg ott lefordítják?
Elég idióta dolog lenne, ha ott kiszednék ezt a kapcsolót a hallgatókkal való kiszúrásdiból. Vagy kikötötték, hogy nem használhatsz math.h-s függvényeket, vagy mi?Az sqrt() nem olyan, amit tiltani szoktak.
"Nem, az ilyen *,& stb-re gondoltam"
Olvasd el ezt a fejezetet: [link].===
(#2935) Korcsii : "off: ui: cportán debugolni rulz" hell yeah!
-
válasz
WonderCSabo #2932 üzenetére
Persze, includeoltam, gugliban rakeresve kismillio helyen irjak ezt a problemat, a megoldas mindenhol az, hogy forditsuk a "-lm" kapcsoloval, amivel valoban mukodik, de igy nem adhatom be a bironak mert nem azzal fogja forditani.
Kosz a linket, ha mar tudom, hogy melyik fogalmat takarja a jeloles akkor utananezek a fogalomnak(pl. kozbe rajottem, hogy a "char *valami" egy pointer, megneztem mik a pointerek s igy mar vilagos(abb)), de addig nehez.
-
válasz
Sk8erPeter #2930 üzenetére
Nem, az ilyen *,& stb-re gondoltam.
Mondjuk most a legjobban az erdekelne, hogy hogyan lehet a matematikai fuggvenyeket hasznalni "-lm" kapcsolo nelkul forditaskor, mert a biro nem fogja hasznalni, en meg nem igazan tudok pl. egy sqrt()-t megirni, de meg csak neten se talalok sehol egy hasznalhato fuggvenyt.
-lm nelkul meg undefined reference to `sqrt' hibat dob, mondjuk a vicc az, hogy ha ugyanabban a sorban printf("%f\n", sqrt(16)) formaban hasznalom akkor fordul, de a valami = sqrt(16)-al mar nem s ez az egy akadalyoz meg abban, hogy kesz legyek a kot. progival. -
Sk8erPeter
nagyúr
válasz
szkorhetz #2928 üzenetére
Előbb nézzen ki normálisan a kódod.
Ajánlom ezt az oldalt:
http://indentcode.net/Ide meg a kódot normális kinézettel úgy illeszd be, hogy kijelölöd, majd megnyomod a Programkód gombot. Különben senki nem fogja ezt neked átnyálazni. Vagy rakd fel pastebinre, és nyomj rá a C-s szintaktika-kiemelésre.
-
szkorhetz
őstag
Sziasztok!
Megnéznétek ezt nekem? ha esetleg valami hiba van, akkor javítást is nagyon szívesen fogadok, sőt örülnék is minden apró kis segítségnek is
#include<stdio.h>
#include <stdlib.h>struct egybe{
int a;
char c[92];
char sz[92];
};void feltoltc(egybe*, int sor);
void feltoltsz(egybe*, int sor);
void rendez(egybe*, int sor);
void rendezve();
void ujfilm();int main(){
int holsor = 0;
egybe tomb[92];
egybe sege[92];int azon;
int menu;bool vanilyen = false;
rendezve();
ujfilm();while(menu != 5) {printf("Fomenu:\nKerem valasszon egyet a kovetkezo menupontok kozul!\n\n1: Uj adat felvetele\n2: Modositas\n3: Kereses\n4: Lista\n5: Kilepes\n\n");
scanf("%d", &menu);switch(menu){
case 1: {
vanilyen = 0;
printf("Adja meg az azonositot: ");
scanf("%d", &azon);
if(!holsor){tomb[holsor].a = azon;}
for(int f = 0; f < holsor; f++){
if (tomb[f].a == azon){printf("Mar van ilyen azonosito!\n"); vanilyen = true; break;}
else {tomb[holsor].a = azon;}}if (vanilyen){break;}
printf("Adja meg a a film cimet: ");
feltoltc(sege,holsor);
feltoltc(tomb,holsor);printf("Adja meg a gyartasi evet: ");
feltoltsz(tomb,holsor);holsor++;
printf("\n\nAz uj adat mentese sikeres!\n\n\n");
break;
}
case 2: {
int modosit;
bool vane = 0;
printf("Adja meg az azonositot: ");
scanf("%d", &modosit);
for(int x = 0; x < holsor; ++x){
if (tomb[x].a == modosit){printf("Adja meg a a film cimet: ");
feltoltc(sege,x);
feltoltc(tomb,x);
printf("Adja meg a gyartasi evet: ");
feltoltsz(tomb,x);
printf("\n\nModositas vegrehajtva!\n\n\n");
vane = 1;}}
if(!vane){printf("\n\nNincs ilyen azonosito!\n\n");}
break;}
case 3: {
int keres;
bool talalt = 0;
printf("Adja meg az azonositot: ");
scanf("%d", &keres);
for(int x = 0; x < holsor; ++x){
if (tomb[x].a == keres){printf("Azonosito: %d\t A film cime: %s\t Gyartasi ev: %s\n\n", tomb[x].a, tomb[x].c, tomb[x].sz);talalt = 1;}}
if (!talalt){printf("\n\nNincs talalat!\n\n");}
break;}
case 4: {
rendez(tomb, holsor);
for (int j = 0; j < holsor; j++){printf("Azonosito: %d\t A film cime: %s\t Gyartasi ev: %s\n", tomb[j].a, tomb[j].c, tomb[j].sz);}
break;}
case 5: {break;}
default: {printf("Hibas azonostito"); break;}
};
}
}
void ujfilm()
{}
void feltoltc(egybe t[], int sor){
char szov;
int j=0;
while((szov = getchar()) != '\n'){t[sor].c[j] = szov; j++;}
t[sor].c[j] = '\0';
};void feltoltsz(egybe t[], int sor){
char szov2;
int k = 0;
while((szov2 = getchar()) != '\n'){t[sor].sz[k] = szov2; k++;}
t[sor].sz[k] = '\0';
};
void rendezve(){ujfilm();
}void rendez(egybe t[], int sor){
egybe seg[92];
int z = 0;for(int i = 0; i < sor; i++){
z++;
for(int j = z; j < sor; j++){
if(t.a > t[j].a){
seg(i).a = t(i).a;
t(i).a = t[j].a;
t[j].a = seg(i).a;for(int k = 0; k < 92; ++k){
seg(i).c[k] = t(i).c[k];
t(i).c[k] = t[j].c[k];
t[j].c[k] = seg(i).c[k];seg(i).sz[k] = t(i).sz[k];
t(i).sz[k] = t[j].sz[k];
t[j].sz[k] = seg(i).sz[k];}
}
}
}
}; -
Ez biztos hulye kerdes lesz, de van valahol egy osszefoglalo arrol, hogy mik a C-ben hasznalt "modosito" karakterek es melyik mire valo a kulonbozo szituaciokban?
Gondolok itt olyanokra, hogy:char *p
FILE be*
fscanf(stream, "%d%*[^\n]", &valtozo)
for(p=str;*p&&*p!=10;p++); *p=0;Ezek csak ilyen hirtelen kiragadott peldak, tudom, hogy magukban nincs sok ertelmuk, de remelem ertitek mire gondolok.
Mikor doksit keresgetek nem nagyon latom ezek jeloleset, csak altalanos leirast pl. a char tipusrol.
Peldakodokat nezegetve is mindig az a bajom, hogy nem vagom ezek mit csinalnak, ugy meg nehez megerteni.
Ha tudnatok ehhez egy jo linket ajanlani azt megkoszonnem. -
Sk8erPeter
nagyúr
Pont azt mondja a hibaüzenet (elég beszédes), hogy már definiálva van...
--> [link]és ha az alábbi módon próbálod?
GtkEntry *entry;
const gchar *test;
entry = GTK_ENTRY(szerzo);
test = gtk_entry_get_text(entry);(még nem használtam, csak az alapján gondolom, hogy így jó, ami a doksiban van, nem garantálom, de sanszos)
Szerk.: de épp így csinálják itt is: [link] (ebből a kódból gondolom amúgy is tudnál mintát venni) -
-
Jester01
veterán
Szépen elbaktatsz a megfelelő headerbe és megnézed:
G_CONST_RETURN gchar* gtk_entry_get_text (GtkEntry *entry);Vagy nyilván a dokumentációban.
-
dany27
őstag
Sziasztok!
GTK segítségével készítek egy alkalmazást.
Egy olyan kérdésem lenne hogy a szöveg beviteli mezőből kinyert szöveget milyen adat típusba tudom belepakolni?Mert ezért reklamál:
char test[100];test=gtk_entry_get_text(GTK_ENTRY(szerzo));
előre is köszi!
-
Jester01
veterán
válasz
chabeee #2916 üzenetére
Rengeteg módon. Például csinálsz egy struct-ot amiben benne van a magyar és az angol szó. Ezután qsort hívással, a megfelelő összehasonlító függvény megadásával, berendezed:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct entry
{
const char* eng;
const char* hun;
};
static int compare_entries(const void* a, const void* b)
{
const struct entry* e1 = a;
const struct entry* e2 = b;
return strcmp(e1->eng, e2->eng);
}
int main()
{
struct entry words[] = {
{ "dog", "kutya" },
{ "donkey", "szamar" },
{ "content", "tartalom" },
{ "apple", "alma" },
{ "good", "jo" },
{ "diamond", "gyemant" }};
const int count = sizeof words / sizeof words[0];
int i;
qsort(words, count, sizeof words[0], compare_entries);
for(i = 0; i < count; ++i)
{
printf("%s %s\n", words[i].eng, words[i].hun);
}
return 0;
} -
chabeee
aktív tag
hali!
dog kutya
donkey szamar
content tartalom
apple alma
good jo
diamond gyemantEzeket a szópárokat szeretném abc sorrendbe rendezni angol szavak alapján, milyen módon lehetne ezt véghez vinni?
-
chabeee
aktív tag
válasz
WonderCSabo #2914 üzenetére
igen ennel a feladatsornal jo
-
-
Rickazoid
addikt
válasz
chabeee #2908 üzenetére
Nálam először -1 hibakódot dobott a Code::Blocks, aztán rájöttem, hogy nincs bemenet.txt fájl. Erre nem írsz egy ellenőrzést, hogy ilyenkor se hibával lépjen ki? Ha jól gondolom ez iskolai feladat, oda nem árt ilyesmit beleírni, hátha beleköt a tanár (persze lehet nem, te ismered jobban). De egyébként is jobb (főleg később), ha az ember úgy írja a programjait, hogy hibánál (már amelyiket előre meg lehet jósolni) figyelmeztessen rá, "szóljon", hogy mi a gond.
-
TheRolf
csendes tag
Sziasztok! C-ben meg lehet olyat oldani, hogy bekér N és M-t, majd egy NxM-es mátrix elemeit is, de soronként, tehát ne kelljen NxM darab entert nyomni, csak annyit, ahány sor van; magyarul a scanf(" ") belsejében meg tudom-e valamilyen módon adni, hogy hány %d-t kérjen be?
Köszi előre is!
Ú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!
- Kormányok / autós szimulátorok topikja
- Kedden érkezik a Galaxy S25 Edge
- sziku69: Fűzzük össze a szavakat :)
- Samsung Galaxy A54 - türelemjáték
- Luck Dragon: Asszociációs játék. :)
- Autós topik
- AI tervezheti az Apple chipeket
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- OLED TV topic
- Mielőbb díjat rakatnának a görögök az olcsó csomagokra az EU-ban
- További aktív témák...
- AKCIÓ! Sapphire Nitro+ RX 6800 XT 16GB videokártya garanciával hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 4060 Ti 8GB GAMER PC termékbeszámítással
- DELL PowerEdge R730xd 12LFF rack szerver - 2xE5-2680v3,64GB RAM,4x1GbE,H330 RAID v ZFS
- Országosan a legjobb BANKMENTES részletfizetési konstrukció! Lenovo ThinkPad L16 Gen 1 Prémium
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest