- Fire/SOUL/CD: INGYENES Clone és Backup-Restore alkalmazások tesztje [2024]
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- gerner1
- hdanesz: Hyundai Ioniq 28kWh - Első benyomások - második felvonás
- bambano: Bambanő háza tája
- Viber: ingyen telefonálás a mobilodon
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
Új hozzászólás Aktív témák
-
Peter Kiss
őstag
válasz
WonderCSabo #3566 üzenetére
Meg azt is mondta, hogy feltehetné pastebin-re, mert így látatlanban...
-
eriktoth
tag
válasz
WonderCSabo #3554 üzenetére
Picit átírtam hátha így érthetőbb:
for(i=0; i<256; i++){
if (CharCounter[i] >= UCHAR_MAX ) {
CharCounterOverflow[i]=1;
} else {
CharCounterOverflow[i]=0;
}
if (CharCounterOverflow[i]==1) {
printf("%d '%c' : NNN\n",i,i);
break;
}
}Ez előtt a rész előtt meg van egy while ciklus ami karaktereket kér be, és megszámolja mi hányszor szerepelt.
És az a gond, hogy hiába csordulok túl, előröl kezdi a számolást a típusok pedig így vannak deklarálva:
int i;
unsigned char CharCounter[256];
char CharCounterOverflow[256]; -
eriktoth
tag
válasz
WonderCSabo #3540 üzenetére
vagy is nem az i valtozo int es a tombom a CharCounter az unsigned char
-
PumpkinSeed
addikt
válasz
WonderCSabo #3509 üzenetére
A dupla if-et én is láttam és ki is javítottam, csak lányos zavaromba nem írtam le.
-
sztanozs
veterán
válasz
WonderCSabo #3509 üzenetére
dupla
(nem is akarok mentségeket keresni) -
válasz
WonderCSabo #3333 üzenetére
ez azt hiszem akkor PHP -ban helyt állna! (abban gondolkoztam, sorry!)
-
WonderCSabo
félisten
válasz
WonderCSabo #3287 üzenetére
Ja megvan, a format stringben lehet megadni, pl.:
fscanf(file, "%10s", str)
-
ArchElf
addikt
válasz
WonderCSabo #3287 üzenetére
Úgy érti, hogy az előre definiált string hossznál is nagyobbat beolvas, ha akkora van a bemeneten (így túlcsordulhat a változó).
AE
-
WonderCSabo
félisten
válasz
WonderCSabo #3282 üzenetére
Áh, most vettem észre, hogy véletlenül elcsesztem az egyenlőtlenséget:...
tömb mérete > string hossza
-
it_service
csendes tag
válasz
WonderCSabo #3280 üzenetére
#include <stdlib.h>
#include <string.h>
#include <stdio.h>int main()
{FILE* file = fopen("beolvas.txt", "r");
char num[200];
int szamlalo = 0;while(fscanf(file, "%s", &num) != EOF)
{
szamlalo ++;
if (szamlalo == 99)
printf("%s" num[szamlalo]);
}
fclose(file);system("PAUSE");
}ennyit sikerült ki logikáznom belőle, szerintem így ésszerű hiszen belerakja a 200 sort a tömbbe és ha az indexére hivatkozok ki kellene írnia mi van az adott indexen.
-
it_service
csendes tag
válasz
WonderCSabo #3271 üzenetére
köszi szépen, működik a program.
-
it_service
csendes tag
válasz
WonderCSabo #3271 üzenetére
ok köszi ki is próbálom az este
-
válasz
WonderCSabo #3262 üzenetére
Heló!
A rand() % 100 - 0 és 99 "intervallum" tényleg elírtam bocsi! A második esetében pedig csak a végtelenül leegyszerűsíteni akartam a dolgot!
Kicsit félreérthetőre sikeredett.
mobal,
-
ArchElf
addikt
válasz
WonderCSabo #3231 üzenetére
Melyik részét, a deklarálást?
Így?
int i = 0;
for (; i < strlen(p); i++)AE
-
Karma
félisten
válasz
WonderCSabo #3187 üzenetére
Konkrétan POSIX környezet kéne hozzá, így ha a Windows fontos, akkor vagy Cygwin alá kéne vinni a "fejlesztést", vagy ilyesmivel is lehet kísérletezni.
Én csak az előbbit tapasztaltam ki eddig munka közben.
-
Emoci
csendes tag
válasz
WonderCSabo #3178 üzenetére
Igen ez igy van csak en mindezt tanultam mar de par eve nem hasznaltam egyaltalan ez ahogy eszreveszem eleg sokat felejtettem
-
Emoci
csendes tag
válasz
WonderCSabo #3176 üzenetére
Ertem mar
koszonom nagyon szepen
-
NSiS
tag
válasz
WonderCSabo #3165 üzenetére
Köszönöm, így már működik, ezek szerint a mátrixos rész sem volt számomra egyértelmű.
-
NSiS
tag
válasz
WonderCSabo #3163 üzenetére
De tanultam, csak egy pillanatra megzavart az hogy "balról szorzom", azóta persze rájöttem hogy ez csak annyit tesz, hogyha mondjuk van egy A meg egy B mátrixom azokat úgy írom fel hogy B*A.
Na de a lényeg, h nem a mátrixok miatt nem tudom megoldani, hanem C beli hiányosságok vannak, ebben a félévben tanultam először programozást, ezelőtt szakközépben sem és nemis infó karos vagyok, úgyhogy várhatóan ezután sem lesz (a mintatanterv szerint legalábbis). MPLAB-ot használunk, PIC programozás lenne elvileg.
A feladat pedig: "Készítsen függvényt, amely adott változótípuson végez műveletet, valamint a megfelelő változótípussal tér vissza." Az adatok típusa valós az én esetemben.
Az A mátrixot szoroznám balról a B-vel. Printf-et nem szoktunk írni, van egy watch ablak a programban az jelzi az értékeket ha léptetem soronként.Az eddig elkészült programom, ami természetesen nem fut le (
):
#include <p24fj128ga010.h>
float main(){
float fMatrixA[2][3] = {{1.5,2.5,3.5},{1.2,2.2,3.2}};
float fMatrixB[3][2] = {{4.5,4.2},{5.5,5.2,},{6.5,6.2}};
float fMatrixBA[3][3];
float i, j, k, r1=2, r2=3, c1=3, c2=2;
if (c1 == r2){
for (i=0; i<r1; i++){
for (j=0; j<c2; j++){
fMatrixBA[j]=0;
for (k=0; k<r1;k++)
{
fMatrixBA(i)[j] += fMatrixA(i)[k]*fMatrixB[k][j];
}
}
}
}
return 0;
}És itt megállt a tudomány részemről... pl. azt írja hogy hogy "return type of 'main' is not 'int'" és ezen kívül van még hiba rendesen. De azt se értem, hogy a return-nak integer-nek kellene lennie minden esetben? Mert a feladatkiírás alapján valós értékűként kellene visszatérnie.
-
artiny
őstag
válasz
WonderCSabo #3045 üzenetére
köszi a válaszokat
esetleg erre:
pl. irj egy fol progit ami bekér egy számot,ha páros,akkor irja ki a felét a számnak ,ha nem akkor irja ki a haromszorosát es adjon hozzá egyet. Csak akkor áll le a progi ha valamelyik érték 1 -s lessz. pl. 3 számra ezt fogja kiirni 3, 10, 5, 16,
8, 4, 2, 1. Gondolod hogy valaha is megáll a program futása.#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
int a,d,egy = 1;
scanf("%d",&a);
do{
d=a%2;
if (d == 0)
{
printf("\n%d ",d=a/2);
}
else{
printf("\n%d ",d=a*3+1);
}
}while(d != '1');
return 0;
}
Erre jutottam,de valmi gond van vele -
Jester01
veterán
válasz
WonderCSabo #3043 üzenetére
Azok közül csak a gets vár entert, a többinél csak azért látszik úgy, mert az alatta lévő réteg eleve soronként pufferel. Ennek kikapcsolása vagy megkerülése sajnos platformfüggő.
-
artiny
őstag
válasz
WonderCSabo #3041 üzenetére
koszi szepen
getchar,gets,scanf ezeken kozzul melyik a jo megoldas ilyes fajta feladatoknal?
-
Jester01
veterán
válasz
WonderCSabo #3038 üzenetére
Főleg, hogy ennek olyan szaga van, hogy valakivel megíratta a tanár meg lebuktatta...
-
artiny
őstag
válasz
WonderCSabo #3030 üzenetére
igen sajnos nem sikerult...
ezert most neki allok minden fele ebooknak ami van C bol es elolvasom oket ..majd gyakorlasnak szeretnek egy feladatgyujtemenyt hogy ha nem megy a porgram akkor legalabb lassam,hogy kellet volna...
-
vanek
tag
válasz
WonderCSabo #3008 üzenetére
közben letelt a határidő..
de van más problémám is..
szóval a feladatom a lineáris diofantoszi egyenlet..
próbálkoztam a megírásával..de nem sokáig jutottam..a legnagyobb közös többszörös még ment..de utána már problémám volt...be kell vallani, hogy nem könnyű program..
szerencsémre, vagy nem..de véletlen rátaláltam a kész programra..igaz, nem volt nehéz, mivel csak be kellett írnom..nah de a lényeg, hogy ,tanulva a hibámból megnéztem a példában szereplő példákat és mindegyik a helyes eredményt adja vissza..
#include <stdio.h>
#include <stdlib.h>
#define HAMIS 0
#define IGAZ 1
int lnko(int x, int y) {
int maradek;
int temp;
if (y > x) {
temp = y;
y = x;
x = temp;
}
maradek = y;
while (y != 0) {
if ((x % y) == 0) {
break;
}
maradek = x % y;
x = y;
y = maradek;
}
return maradek;
}
void euklidesziAlg(int av, int bv, int* x0, int* y0) {
int i;
int szorzo[100];
int darab = 0;
int maradek;
int temp;
int avSeged;
int bvSeged;
int x0Seged;
int y0Seged;
int voltCsere = HAMIS;
avSeged = av;
bvSeged = bv;
if (bv > av) {
temp = bvSeged;
bvSeged = avSeged;
avSeged = temp;
voltCsere = IGAZ;
}
if (bvSeged != 1) {
do {
szorzo[darab] = avSeged / bvSeged;
maradek = avSeged % bvSeged;
avSeged = bvSeged;
bvSeged = maradek;
darab++;
} while (maradek != 1);
maradek = 0;
x0Seged = 1;
for (i = darab-1; i >= 0; i--) {
y0Seged = maradek + x0Seged * szorzo[i];
if (i > 0) {
maradek = x0Seged;
x0Seged = y0Seged;
}
}
} else {
x0Seged = 1;
y0Seged = 1 - avSeged;
}
if (voltCsere) {
temp = y0Seged;
y0Seged = x0Seged;
x0Seged = temp;
}
if (-av*x0Seged + bv*y0Seged == 1) {
x0Seged *= -1;
} else if (av*x0Seged - bv*y0Seged == 1) {
y0Seged *= -1;
} else if (-av*x0Seged - bv*y0Seged == 1) {
x0Seged *= -1;
y0Seged *= -1;
}
*x0 = x0Seged;
*y0 = -y0Seged;
}
int main() {
FILE *f, *fk;
int a;
int b;
int c;
int d;
int av;
int bv;
int cv;
int x0;
int y0;
int x;
int y;
int teszt;
f=fopen("be.txt", "r");
fk=fopen("ki.txt", "w");
if(f==NULL)
{
exit (-1);
}
teszt=fscanf(f, "%d %d %d", &a, &b, &c);
if(teszt!=3)
{
fprintf(fk, "0\n");
}
else
{
d = lnko(a, b);
av = a / d;
bv = b / d;
cv = c / d;
if (c % d == 0) {
euklidesziAlg(av, bv, &x0, &y0);
x = x0 * cv;
y = y0 * cv;
while (x < 0 || y < 0) {
x += bv;
y += av;
}
while (x-bv >= 0 && y-av >= 0) {
x -= bv;
y -= av;
}
fprintf(fk,"%d %d\n\n", x, y);
}
else {
fprintf(fk, "0\n");
}
fclose(f);
fclose(fk);
return 0;
getchar();
}
}de ha feltöltöm a bíróra..nincs helyes eredmény..
lehet, hogy a nagy zűrzavarban félrenéztem valamit..
tudom, hogy így csak nekem lesz nehezebb a vizsga..de hátha tanulok belőle..
köszi előre is!
-
Jester01
veterán
válasz
WonderCSabo #3006 üzenetére
Tévedés:
A bemenet két sorból áll. Mindkét sorban egy-egy szóközt nem tartalmazó, legalább egy de maximum 255 karakter hosszú sztring található, melyeket rögtön sorvégejel követ.
Mind a két sor végén kellene \n legyen. És akkor már nem működik.
-
Jester01
veterán
válasz
WonderCSabo #3003 üzenetére
Nekem nem. Hol vágja le a sorvég jelet amit az fgets beolvas?
(gdb)
40 fgets(s,256,f);
(gdb)
41 fgets(d,256,f);
(gdb)
43 kimenet=vizsgal(s,d);
(gdb) x/s s
0x7fffffffe5d0: "abrakadabra\n"
(gdb) x/s d
0x7fffffffe4d0: "rak\n"A vizsgal függvénynek meg kutya kötelessége az egész stringet nézni a lezáró 0-ig, vagyis a \n-t is. Így pedig csak a sor végén fog egyezni.
255-nél hosszabbra nem is kell működnie, de ez már 255-re sem működik, amire még kellene. A tesztelő meg lehet, hogy gonosz módon ki is próbálja azt.
-
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..
-
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.?
-
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
-
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...
-
válasz
WonderCSabo #2938 üzenetére
Valoban, jelzett is a gcc, de akkor nem ertettem hirtelen mi a baja, most mar felfogtam, koszi.
-
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.
-
chabeee
aktív tag
válasz
WonderCSabo #2914 üzenetére
igen ennel a feladatsornal jo
-
válasz
WonderCSabo #2876 üzenetére
Ja igen, a string.h es a math.h headerek nem hasznalhatoak, elvileg csak az stdio.h es az stdlib.h, bocs, ezt elfelejtettem leirni.
Korcsii: Itt int-e konvertalja majd a char-t s azert lehet hasznalni a "<=" muveletet, igaz?
Nekem meg eleg fura, hogy szinte minden visszavezetheto es kezelheto int-kent. -
Jester01
veterán
válasz
WonderCSabo #2866 üzenetére
Méginkább nyilván egyikre sincs szükség mert az előző tagból simán adódik a következő. Azt hiszem kingabo is erre célzott.
-
chabeee
aktív tag
válasz
WonderCSabo #2843 üzenetére
jaj, köszönöm!
-
chabeee
aktív tag
válasz
WonderCSabo #2840 üzenetére
próbáltam már, ezt írja:
../main.c:115:15: error: lvalue required as left operand of assignment
../main.c:115:42: warning: value computed is not used [-Wunused-value]
make: *** [main.o] Error 1
for(i=n1 && j=0; i<counter && j<n2; i++ && j++) { -
TheRolf
csendes tag
válasz
WonderCSabo #2824 üzenetére
A build messages-be eddig is írta hogy "x errors, x warnings", szóval az oké.
Más: hogy lehet bekérni két egyjegyű számot így: "x y" és azt eltárolni két int formájában (n = x, m = y)? Már mindent kipróbáltam, a legjobb eredmény, hogy az első számot eltárolja, de a második helyére y-on kívül több számjegy kerül.
#include <stdio.h>
int main(){
int i,n,m;
char kar[4];
char en,em;
fgets(kar,4,stdin);
en = kar[0];
em = kar[2];
printf("%c %c\n",en,em);
n = atoi(&en);
m = atoi(&em);
printf("%d\n",n);
printf("%d",m);
return 0;
}az első printf is értelmes dolgokat ad ki, de utána az atoi-nál elromlik valami, és plussz számok jönnek be...
-
eriktoth
tag
válasz
WonderCSabo #2810 üzenetére
Köszönöm ! De lenne olyan probléme, hogy 1 függvénybe, több műveletet végez el, és például van az első ami végzi a beolvasást, utána meg a második ami maga a számításokat és a kiirast, ezt hogyan tudnám ugy meghívni main-ba, hogy fusson, és ne csak ha az egész példát main-ba teszem, sajnálom, de kezdő vagyok és nekem ez elég magas :S
-
Karma
félisten
válasz
WonderCSabo #2631 üzenetére
Egyébként a fordító (és a rendszer) szempontjából a karakterek is csak számok.
-
Gyuri16
senior tag
válasz
WonderCSabo #2631 üzenetére
mivel '\0'==0 ezert ez mindegy, bar nem tudom, hogy melyik megoldas a "legszebb".
lasd: [link] -
Jester01
veterán
válasz
WonderCSabo #2628 üzenetére
Az is jó. Sőt, a while(str[i]) is elég, de azért a nullát szeretem kiírni.
-
Tecsa
aktív tag
válasz
WonderCSabo #2585 üzenetére
Közben megoldottam. Köszönöm a türelmetek.
-
Tecsa
aktív tag
válasz
WonderCSabo #2581 üzenetére
Erre gondoltam csak nem sikerült össze hozni, de akkor még nekifutok.
-
j0k3r!
őstag
válasz
WonderCSabo #2577 üzenetére
valo igaz
(#2575) _ATi_1: en igy oldottam meg:
if(pid == 0)
{
while(j < m)
{
if(msgrcv(id, &u, sizeof(u.msg), (i + 1), 0777) == sizeof(u.msg))
{
u.mtype = (i + 2);
u.msg[0] = (u.msg[0] / u.msg[1]);
printf("%d\n", u.msg[0]);
msgsnd(id, &u, sizeof(u.msg), 0777);
++j;
}
}
}persze a j-t meg forkolas elott hoztam letre 0 kezdeti ertekkel.
-
j0k3r!
őstag
válasz
WonderCSabo #2568 üzenetére
ezt nem is neztem, pedig ebben a felevben eleg sokszor hasznaltam irasban, mivel kellett az RSA-hoz : )
de ha mar itt tartunk: google a baratunk -
Sk8erPeter
nagyúr
válasz
WonderCSabo #2422 üzenetére
ja, bár igazából nem tiszta, mi olyan nehéz rajta, amikor még közöm nem volt a programozáshoz, akkor is próbálgattam ezeket a gombokat, mire valók, 5 perc szerkesztési idő azért elég sok mindenre, meg még van külön próbálkozásokra szánt topic 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!
- Xbox Series X|S
- Spórolós topik
- BestBuy topik
- Azonnali notebookos kérdések órája
- CASIO órák kedvelők topicja!
- World of Tanks - MMO
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Android alkalmazások - szoftver kibeszélő topik
- HiFi műszaki szemmel - sztereó hangrendszerek
- Gyúrósok ide!
- További aktív témák...
- i5-13600KF, RX 9070, DDR5 32GB, 1 TB M.2, Fractal North TG és sok garancia
- Logitech Combo Touch iPad Pro 11" (1., 2. a 3. gen), szürke - UK billentyűzet ipad tok billentyűzet
- újszerű iPad Pro 11" (3. generációs) (2021) M1 chip Wi-Fi 128GB silver ezüst Apple
- szinte új iPhone 16 Pro Max 256GB desert titanium sivatagi titán független Apple 3 év garancia
- újszerű iPhone 16 Pro 256GB white titanium fehér titán iStyle független Apple 3 év garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- LG 65C3 - 65" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox!
- AKCÓÓÓ!!! Panasonic CF-XZ6 AIO all-in-one laptop tablet 2k touch i5-7300u speciális ütésálló
- Telefon felváráslás!! Xiaomi Redmi Note 11, Xiaomi Redmi Note 11 Pro, Xiaomi 11 Lite
- Szerezd be most az érzékelhető különbséget! Akár 0% THM-re
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest