252
C programozás help
-
DarvasKristóf #172 Nincs programkódhoz való formázási lehetőség, ami nem törli a soreleji szóközöket? -
DarvasKristóf #171 Nem tudom aktuális-e még a kérdés két hét múlva, mindenesetre írok egy kódot, abból remélem meg lehet érteni, hogy működik:
#include <stdio.h>
typedef unsigned int UINT;
UINT binary1(UINT value) {
UINT result = 0 , bit = 1;
while (bit < value) {
if (value & bit != 0)
++result;
bit <<= 1;
}
return result;
}
void select(int a , int b) {
printf("%d\n" , binary1(a) <= binary1(b) ? a : b);
} -
GXR #170 Sziasztok!
Egy nagyon egyszerű feladathoz kellene a megoldás, remélem tudtok segíteni, bitműveletekről van szó. Egyszerűen nemtudom, hogy az egyes bit indexeken lévő számokat hogy lehet összeadni! Köszönöm a segítséget!
A feladat így szól:
1.) Írj olyan eljárást, ami két paraméterül kapott unsigned int típusú szám közül a képernyőre írja azt, amelyiknek bináris alakjában kevesebb egyes szerepel. Ha azonos az egyesek száma, akkor az elsőt adja vissza. -
petinho26 #169 Helló Segítséget szeretnék kérni egy feladat megoldása érdekelne: 1, Kétszínezés irányítziasztokatlan gráfban. Ezt onnan ismered fel, hogy a feladatod neve ketszin.x ahol x egy 1 és 20 közötti egész szám. Itt a megoldás egyrészt vagy a "kétszínezhető" vagy a "nem kétszínezhető" válaszból áll, másrészt az első esetben az 1-es csúccsal azonos színű csúcsok közül a 20-nál kisebb sorszámúak felsorolása, a második esetben pedig egy legfeljebb 15 hosszú páratlan kör csúcsainak kiíratása ciklikus sorrendben.
Ehhez van egy bemeneti file. Ami egy gráf éllistával megadva.
Valaki tud segíteni?
Előre is köszönettel!
-
#168 "Valaki tudna nekem linkelni egy Turbo C ha jól emlékszem a 2-es verziót"
Hivatalosan erről az oldalról érhető el ingyenes regisztráció után.
"Én fejlesztéshez Linux használatát ajánlom. Az alá pedig az Eclipse-t. "
Jó dolog a Linux (azt használok géppel töltött időm 98%-ában), csak átmigrálni egy teljesen más operációs-rendszer családra - mert a C megtanulásához DOS-os környezetben készült eszközt használnak - kissé túlzás.
Meg kell szokni az új oprendszert, a tanórákon megszokottól más Integrált Fejlesztő Környezetet - és bár az ANSI C Linux alatt is ANSI C - de akadhatnak érdekes meglepetések. -
cmsworld #167 Én fejlesztéshez Linux használatát ajánlom. Az alá pedig az Eclipse-t. -
#166 Valaki tudna nekem linkelni egy Turbo C ha jól emlékszem a 2-es verziót, ami lehetőleg fut win7-n. Most tanulok programozást és jól jönne ha tudnám gyakorolni is. -
Hecker666 #165 Sziasztok! Van egy C++-os feladatom, osztálydeklaráció, és adatokkal valóegyéb feladat. Egy része:
for(i=0;i<3;i++)
if(izzok[i].Getteljesitmeny()>40.0)
db++;
printf("\n%d db 40 Wattnál erősebb izzó van.",db);
Itt az lenne a feladat, hogy a 40 wattnál nagyobb teljesítményű izzók megszámlálása, de program mindig 0 db-ot ír ki és nem tudom megcsinálni, hogy jó legyen, a segítségeteket kérném, hogy kéne megcsinálni ezt a részt? Az osztálydeklaráció része:
void Setteljesitmeny(double teljesitmenybe)
{teljesitmeny=teljesitmenybe;}
double Getteljesitmeny()
{return teljesitmeny;} -
#164 Hello!
Tudna nekem valaki segígeti egy picit példaprogram megírásában ami C++ Builder-ben tudja kezelni az FTP komponenst ?
Előre is kösz! -
playgirl4173 #163 Még annyit hozzáfűznék az előzőhöz, hogy még csak 3 hónapja tanulunk programozást, és nem sok mindent tanítottak eddig, szóval elég kezdetleges a tudásom...:((( -
playgirl4173 #162 Sziasztok!!!
Beadandó házi feladatot kaptunk programozásból, és sajnos 3 feladatot nem tudok megoldani :-(((
Ebben szeretném kérni a segítségeteket!!! Nagyon hálás lennék!!!
Írom a feladatokat!!!
1. A vb hangja
„KO-RE-A, KO-RE-A” – kiabálta 54 000 boldog futballszurkoló, miután csapatuk a hazai rendezésű világbajnokságon bejutott az elődöntőbe. Izgatottságuk dacára azonban a koreai emberek természetüknél fogva nagyon szervezettek. Például hatalmas, hajókürthöz hasonló hangú trombitákkal szurkoltak a pályán játszó csapatuknak. A szurkolók egy állandó zajszintet szeretnének fenntartani a meccs teljes ideje alatt.
A trombiták sűrített levegővel működnek, azonban ha 2 másodpercig folyamatosan fújják őket, elromlanak. Ezért amikor a trombita hangot ad, minden rendben van, de a trombitahangok szüneteiben a szurkolóknak a „KO-RE-A” kiáltást kell harsogniuk.
A mérkőzés előtt egy szurkolócsoport összegyűl és eldönti a kiáltás mintáját. A minta 0-k és 1-esek sorozata, amelyet a következőképpen értelmezünk: ha a minta 1-es, akkor a trombita kerül megfújásra, ha pedig 0, akkor a „KO-RE-A” kiáltás következik. Annak érdekében, hogy a trombiták nehogy elromoljanak, a minta nem tartalmazhat két egymást követő 1-est.
Ebben a feladatban tehát egy adott, pozitív egész n-re meg kell határozni az ilyen hosszúságú kiáltási mintákat, vagyis azon n bites sorozatok darabszámát, amelyek nem tartalmaznak egymás melletti 1-eseket. Például n = 3 esetén a megoldás 5 (a 000, a 001, a 010, az 100 és az 101 sorozatok elfogadhatóak, míg a 011, az 110 és az 111 nem).
Input
Az első sor a tesztesetek számát tartalmazza. Az első sort követő sorok mindegyike egy-egy tesztesetet ír le. Minden teszteset egy olyan sor, amely egyetlen, 51-nél kisebb egész számot tartalmaz.
Output
Minden teszteset kimenete egy olyan sorral kezdődik, amely a „Scenario #i:” szöveget tartalmazza, ahol i a teszteset sorszáma. A tesztesetek sorszámozása 1-től indul. Ezt követően egy újabb sorba kell kiírni az egymás melletti 1-eseket nem tartalmazó n bites sorozatok darabszámát. Minden teszteset kiírását egy üres sorral kell lezárni.
Példa input
2
3
1
Példa output
Scenario #1:
5
Scenario #2:
2
2. Számjegyprobléma
A Kütyüboltban minden áru olcsóbb lett, ki kell tehát cserélni az ártáblákat. Az új táblákat a Számjegypiacról lehet beszerezni: vásárolhatunk számjegyeket 0-tól 9-ig, és ezekből állíthatjuk össze az új táblákat. A feladatod, hogy írj egy programot, amely kiszámítja, hogy hány darab szükséges az egyes számjegyekből.
Input
A bemenet tesztesetek blokkjaiból áll. Minden teszteset egy n egész számot tartalmazó sorral kezdődik (1≤n≤1000), amely az elkészítendő táblák darabszámát adja meg. Minden tábla egyetlen árat tartalmaz, amely egy 1 és 1000000 közé eső egész szám. A következő n sorban egy-egy szám található: ezek a táblákon szereplő árakat adják meg.
A bemenetet egy olyan blokk zárja, amelyben n=0.
Output
Minden tesztesetre 10, egymástól egy-egy szóközzel elválasztott egész számot kell a kimenetre írni. Ezek a számok azt adják meg, hogy hány darabra van szükség az egyes számjegyekből: az első szám a megvásárolandó 0-k száma, az utolsó a szükséges 9-esek száma.
Példa input
2
101
250
1
99999
0
Példa output
2 2 1 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 5
3. Bangla számok
A bangla számok kiejtésekor vagy szöveges formában történő felírásakor a „kuti” (1000000), „lakh” (100000), „hajar” (1000) és „shata” (100) szavakat használják. A feladatod egy olyan program készítése, amely egy adott számot szöveggé alakít e szavak felhasználásával.
Input
A bemenet több tesztesetet tartalmazhat. Minden teszteset egy nemnegatív számot fog tartalmazni, amelynek értéke nem nagyobb 999 999 999 999 999-nél.
Output
A bemenet minden egyes sorához ki kell írnod a kimenetre a teszteset sorszámát négy helyiértéken jobbra igazítva, majd a szövegessé alakított számot a példa outputban megadott formában.
Példa input
23764
45897458973958
Példa output
1. 23 hajar 7 shata 64
2. 45 lakh 89 hajar 7 shata 45 kuti 89 lakh 73 hajar 9 shata 58
Már az is nagy segítség lenne, ha a 3 közül valamelyiket megoldaná valaki, tényleg nagyon fontos, beleszámít a vizsgajegybe!!!
Előre is köszönöm, aki segít!!!
"N -
#161 köszi :)
akkor jól gondolom, hogy végülis két részre bonthatók a paraméterei:
%lg és %*[^\n] -re. -
#160 A %lg egy double értékű lebegőpontos számot vár - ebből a g (ezt konverziós karakternek nevezik) határozza meg a lebegőpontos számot (kis betűjű exponenciális jelöléssel vagy anélkül) az l (méretmódosító előtag) a dupla méretet.
Bővebben erről a printf dokumentációjában, illetve a Wikipédiában.
Az utána következő dologra meg jót gondoltál - reguláris-kifejezés-szerű.
Ha a [^\n]-et kicseréled [^a]-ra, akkor mindaddig fog bemenetet feldolgozni, ameddig a betűt nem észlel.
Tehát az 123a456-ból csak az 123-at dolgozza fel. -
#159 igen :D
én valójában arra, vagyok kíváncsi, hogy ez a %* a típus után mit jelenthet. a [^\n]-re már rájöttem, hogy arra kér, hogy bármit beírhatok (elvileg) ami nem sortörés. -
ba32107 #158 Pontosan nem értem, de lényegében az osszeg nevű változóba beolvassa, amit beírsz -
#157 hello, ezt meg tudná valaki modani, hogy mi? :D
scanf("%lg%*[^\n]", &Osszeg); getchar(); -
denal #156 A fIsExist () rossz nem letezo valtzot kap; itt a javitott:
http://pastebin.com/f1ed1f891
attol meg ugyanugy nem megy -
denal #155 Sziasztok
Azt szeretném megvalósítani hogy beolvasok (egy fileból) egy listát, amit később ellenőrzök, hogy a listában lévő fileok létezne-e egyáltalán, stb., majd feldolgozom őket.
A listába írást a vector template-tel oldottam meg, de valamiért nem tudom átalakítani és átadni a feldolgozás során, és az egész kifagy a francba.
Kód: http://pastebin.com/d188c9645
Tudtok segíteni, hogyan oldjam meg? -
#154 SZiasztok,
Segítséget szeretnék kérni valakitől, aki segítene nekem megérteni a mutatókat és jól eltudná magyarázni. :$
Nagyon megköszönném. Aki esetleg tudna segíteni (szerintem msn-en egyszerűbb lenne) küldje el privátban az msn címét és felveszem. :)
Előre is köszönöm szépen!
Üdv
TeckDeck -
#153 Pedig tényleg nem nehéz feladat. -
attila124 #152 sziasztok!Segítséget szeretnék kérni.Holnapra olyan ptrogramot kell készítenem pointer segítségével ,ami feltölt egy karakter tömböt pontokkal,majd bekér néhány karaktert amig entert nem nyomok és azt elmenti a tömbe .Ezt a tömböt pedig át kell másolni egy másik tömbe és ezt kell kiiratni.A pontok feltöltéséig eljutottam ,de amikor karaktert kell bekérni csak minden második karaktert ment el.Tudnátok segíteni ,hogy mi nem stimmel a kódban?
char elso[15];
char *p_elso;
char masodik[15];
char *p_masodik;
char karakter;
int i,size;
long nc;
void get_clear()
{
p_elso=elso;
i=0;
for(i=0;i<15;i++)
{
*p_elso='.';
p_elso++;
}
}
void parameterbe(){
printf("Adja meg a karaktereket és a program atmasolja egy masik tömbe: ") ;
p_elso=elso;
p_masodik=masodik;
i=0;
for(i=0 ;getchar()!=EOF){
scanf("%c",p_elso) ;
p_elso++;
}
}
int main(){
get_clear();
parameterbe();
printf("\n%s",elso);
return 0;
}
-
#151 Üdv!
Nagyon szeretném, ha valaki segítene ezen feladatok megoldásában, esetleg megoldaná valaki, valami kiíndulási pontot, vagy honlap linket adna, mert holnap elvileg ilyenből írok, és nemigazán vágom... Tudom még nagyon az eleje, de minden kezdet nehéz.
Köszönöm!
-
Jhonny013 #150 Sziasztok
Szeretném megkérdezni, hogy milyen függvénnyel érhetem el azt, hogy megnyitok egy fájlt amiben felsorolás szerűen vannak adatok pontosvesszővel elválasztva és ezeket majd egy láncolt listába szeretném betenni. Tehát a lényeg, hogy az, hogy ezeket az elemeket külön külön kitudjam olvasni a fájlból és tömbben v változóban tárolni. Köszönöm a segítséget előre is. -
Eastone01 #149 sziasztok!
visual C# kéne segitség mert én egyáltalán nem értek hozzá aki tud irjon mert sürgös!
Előre is köszönöm! -
Barracus #148 SZiasztok! SZeretnék egy kis segítséget kérni! Van egy forráskódom rendesen meg is csinálja amit szeretnék csak annyi a probléma hogy nem egy 0 /nulla/-ra lép ki hanem 2 nullát kér. hogyan lehetne ezt kiküszöbölni? A válaszokat előre is köszönöm.
#include <stdio.h>
#include <stdlib.h>
int main(){
int agy,foglalt,tav;
char c[60];
while(scanf("%i ",&agy) && agy!=0)
{
char c,vlista[26]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
foglalt=0;tav=0;
while ((c=getchar())!='\n'){
c=c-'A';
if (vlista[c]){
foglalt--;
}else if (foglalt>=agy)
tav++;
else {
foglalt++;
vlista[c]=1;}
}
printf("%d\n",tav/2);
}
return 0;
}
devc++t használok.. -
ba32107 #147 Ezt a hsz-t nem egészen így akartam leírni, de gondolom érthető -
ba32107 #146 A DevC-ben alapból hozzá van rendelve valami másLink -
#145 Most kezdtem eltanulni a C program nyelvet. A Dev C++ használom.
De van egy kis gondom nem tudom a sor végére beírni a ; jelet.
A AltGr+; nem reagál. Mi lehet a hiba? Eseteleg más billentyűkombinációt próbáljak, de melyiket? -
Epimetheus #144 Bocsi conio.h... #include<conio.h>; és clrscr();... -
Epimetheus #143 Sziasztok
nemigen vagyok otthon C-ben, de ha turboc-t használsz -nekünk a suliban ezt találták ki- akkor a coni.h fejfájl bekapcsolásával elérhetővé válik a clrscr() függvény mi törli a képernyőt. Hogy hogyan lehetne kurzort pozicionálni kiíráaskor...(ha ez volt a kérdés) arról sajnos nincs fogalmam...
Üdv -
DirtyPio #142 Ok, mevna a hiba... helytelen a zarojelezes. -
DirtyPio #141 Sziasztok, volna egy kis problemam a kovetkezo programmal, a vektorokat amikor feltolto (reading fuggveny) minden egyes vektorerteknek -47 -t ad a program... En nem jottem ra hogy hol hibaztam. A program lenyege amugy, ket hosszu(80szamjegy) szamot kivan osszeadni. A szamok ketvektorba szamjegyenkent vannak tarolva es egy harmadikba lesz az eredmegy :
//program 5.6 (lab)
#define MAX 81
#include <stdio.h>
#include <stdlib.h>
int reading(int x[],int max)
{
int i=0,k,c;
while ((c=getchar()!=EOF)&&(i<max))
{
x[i]=c-'0';
i++;
}
i--;
return i;
}
int add(int a, int b, int r)
{
int s;
s=(a+b+r)%10;
return s;
}
int reminder(int a, int b, int r)
{
int s;
s=(a+b+r)/10;
return s;
}
int main(void)
{
int i,j,k,r;
int x[MAX],y[MAX],z[MAX];
for (k=0;k<80;k++)
{
x[k]=0;
y[k]=0;
}
i=reading(x,MAX);
j=reading(y,MAX);
printf("%i %i\n",i,j);
r=0;
for (k=0; (k<=i) && (k<=j); k++)
{
z[k]=add(x[k],y[k],r);
r=reminder (x[k],y[k],r);
}
if (i<j) for (i=k; i<=j; i++)
{
z[i]=add(0,y[i],r);
r=reminder(0,y[i],r);
}
else
for (j=k; j<=i; j++)
{
z[j]=add(0,x[j],r);
r=reminder (0,x[j],r);
}
z[k++]=r;
for (i=0;i<(k+1);i++)
printf("%i \n",z[i]);
system("pause");
return(0);
}
-
ba32107 #140 Szabványos ANSI C-ben nincsenek ilyen parancsok -
Rubert #139 Hi!
C nyelvben tanulok programozni, és a végleges program használatához kellene néhány parancs, amivel áttekinthetőbb lesz a kezelése.
A trubopascalban régen tudtam 2 olyan parancsot amire most -ha van ilyen- szükségem lenne. Az egyik a 'clrsrn' amivel a dos ablakot üressé alakítottam, a másik a -hajól emlékszem- "goto(x,y)" amivel a kiírandó változónak, vagy szövegnek a pozícióját tudtam megadni két koordinátával , az adott ablakban.
C nyelvben mik ezek a parancsok, és általános felhasználási alakjuk?
A segítséget előre is köszönöm -
#138 De ha már ilyen feladatot adtak fel, akkor vagy ismerned kéne a tömböket és az alapvető fájlműveleteket; vagy elegendő alaptudással kell rendelkezned ahhoz, hogy ezeket elsajátítsd! Milyen egyetem ez? Milyen szak? Mit oktattak? Hanyad évesként?
Nem két hét hanem 2-4 óra alatt megírható egy ilyen program (annak aki ebben tapasztalt, vagy tanulta). -
Razor88 #137 Hat sztem siman megirhato annak aki ert hozza... en meg csak a printf-et es a scanf-ot ismerem es ennyi... Ugyhogy nekem mondhatsz ilyen tömbös cuccokat... :( Na mindegy köszönöm azert h probalsz segiteni... :( -
#136 De hol akadtál el?
Nem tudsz állományt megnyitni (fopen)?
Nem tudsz beolvasni (fscanf, fread)?
Nem tudsz szöveget kiíratni (printf)?
Nem tudsz tömböt deklarálni (float tomb[100] - ez egy 100 elemű lebegőpontos értékű tömböt hoz létre)?
Mert ez így elég lusta hozzáállás (2 hét alatt simán megírható). Ráadásul hogy egyetemen vagy.
-
Razor88 #135 de sajna nemtudom :´-( es szorit a hataridő es szeretnék bentmaradni... 2 hete ami wolt azt megcsinaltam siman de ezt????? :( -
#134 hát nemtom biztos most vagy első éves... info emelten meg nyáronnézegettem, pont ilyen feladatok voltak... szóval illene ezt neked megtsinálni -
Razor88 #133 Hello! Nagy segítséget szeretnék kérni walakitől... :-/ Nyitottam egy fórumot, de azt írták oda h ebbe a fórumba írjak mert itt tudnak nekem biztos segíteni... Szóval egyetemre járok és vizsgamunkára C-programot kell leadnom amit nem tudok megírni... :( És már csak szűk 2 hetem wan... walaki lécccci... Köszi szépen akárki is lesz az... FONTOS naon :(
Ez kene:
A program bemenetéül szolgálnak a kvízmüsor eredményei, amelyek el vannak mentve egy külső txt fájlban, melynek neve “dataf.txt“. A program az összes eredmény beolvasása után a „dataf.txt“ fájlból kiírja a képernyőre az eredmények számát(hogy hányan értek el eredményt), kiírja a legnagyobb pontszámot, a legalacsonyabb pontszámot és az átlagpontszámot.
A program elkészítéséhez fontos tudnunk, hogy az összes eredmény pozitív tizedes szám 0.0-tól 100.0-ig. Az átlagpontszám valós(real) szám, amit 2 tizedesjeggyel írunk ki a képernyőre.
Hozzunk létre egy „dataf.txt“ fájlt a programunk tesztelésére.
Definíció
átlag = (az összes adott érték száma) / (adott eredmények száma)
Tesztelés
A program feladata:
• Letesztelni, hogy a fájl létezik e és erröl információt adni a képernyőn
• Működni kell a létező üres fájlban pár helyközzel(szóközzel) is
• Egy eredmény esetén is működni kell
• Müködni kell legkevesebb 20 különböző eredménnyel is
• A negatív előjeles eredményeket ki kell hagynia és ezt ki kell írnni a képernyőre
Példa(képernyőn jelenik meg):
A „dataf.txt„ fájlban 20 eredmény wolt
A legkisebb érték 12.00, a legmagasabb 94.50
AZ összes érték átlaga a fájlban 78.43