- Apple notebookok
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- AMD vs. INTEL vs. NVIDIA
- Hivatalosan is elkészült az NVIDIA App
- Azonnali alaplapos kérdések órája
- Vezetékes FEJhallgatók
- Milyen egeret válasszak?
- 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
Új hozzászólás Aktív témák
-
szkorhetz
őstag
válasz Sk8erPeter #2945 üzenetére
Esküszöm, így csináltam..
-
szkorhetz
őstag
válasz Sk8erPeter #2956 üzenetére
Én ezt nem tudom, két hónapja tanulom a c-t..
-
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? -
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.
Jester
-
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 #2961 üzenetére
A mínusz jel speciális guglinak, idézőjelbe kell az egészet tenni.
Jester
-
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!
-
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.
[ Szerkesztve ]
-
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).
Jester
-
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?
-
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
-
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.
Nem az az igazi férfi aki minden nőt meghódít, hanem aki ismeri a nagyfeszültségű földkábelek szigetelésének technikáját.
-
moha21
veterán
válasz WonderCSabo #2971 üzenetére
Köszi! Argomentum az u.a. mint a sima print fv.?
Nem az az igazi férfi aki minden nőt meghódít, hanem aki ismeri a nagyfeszültségű földkábelek szigetelésének technikáját.
-
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.Nem az az igazi férfi aki minden nőt meghódít, hanem aki ismeri a nagyfeszültségű földkábelek szigetelésének technikáját.
-
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!
-
-
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
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 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 ]
-
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..
Nem vagyok egoista, csak uborkagyalu!
-
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?
-
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
-
WonderCSabo
félisten
Válaszoltam a C++ topikban, de itt folytassuk.
-
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..
[ Szerkesztve ]
-
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 #2992 üzenetére
persze, hogy érdekel, így tanul az ember!
-
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 #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..
[ Szerkesztve ]
-
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..:\
Ú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!
- Apple notebookok
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Ingyen kellene, de tegnapra
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- BestBuy topik
- Samsung Galaxy A54 - türelemjáték
- Honor 200 Pro - mobilportré
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Mibe tegyem a megtakarításaimat?
- AMD vs. INTEL vs. NVIDIA
- További aktív témák...
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest