Aktív témák
-
bdav
őstag
van rá bármi esély hogy visualstudio .net alatt ha ékezetes karaktert akarok beolvasni fájlból, akkor az az is maradjon, vagy muszáj egyesével átállítgatni őket? (btw ha a forrából írok ki ékezetest azse lesz jó. ááá)
-
hjk
csendes tag
Sziasztok!
Van egy elég hosszú C program, amit szeretnék átkonvertálni Pascalba.
Van valami, ami ezt megcsinálja, vagy csak kézzel lehet?
És 1 plusz kérdés: itt nincs olyan lehetőség, hogy a felhasználónév E-mail címére újra elküldi a jelszót? Mert nem emlékszem mi volt az...
Köszi előre is!
umbroman@freemail.hu -
stromannn
csendes tag
Hali!
C++ -t tanulnék hozzáértőtől. Cél : 3d.
lovasss1<kukac>enternet<pont>hu
-
#53172992
törölt tag
Off:Hát van már vagy 5 c++ topik , ahelyett, hogy ide írnának

-
#53172992
törölt tag
Jujjdeó megy

Örök hála neked
Viktor -
#53172992
törölt tag
Ja oké vesze akkor &1

Viktor -
BaLinux
tag
válasz
#53172992
#89
üzenetére
14 éves korban épp ideje van már C-t kezdeni.
Kicsit belédköthetek, hogy akkor mért a C++ topicban landolt e kérdés? ![;]](//cdn.rios.hu/dl/s/v1.gif)
A bináris ÉS műveletet (&) úgy látom ismered nagyjából.
Ha van egy számunk, kettesben, és annak az n. bitjét akarod kimaszkolni (a biteket a legkisebb helyiértéktől számozzuk, 0-tól kezdődően) úgy, hogy az eredmény 1 legyen ha volt bit és 0 ha nem:
(szam >> n) & 1
Amit te írtál, az nyilván helytelen, mert 0xFF-fel, azaz binárisban 11111111-vel maszkoltad, így 0-255 között tizesben mindenféle szám kijöhetett... -
#53172992
törölt tag
#include <stdio.h>
void main ()
{
unsigned int a1,a2,a3,a4,a5,a6,a7,a8,szam;
a1=a2=a3=a4=a5=a6=a7=a8=0;
szam = 255;
a8 = szam& 0x00FF;
a7=szam>> 1 & 0x00FF;
a6= szam>> 2 & 0x00FF;
a5=szam>> 3 & 0x00FF;
a4=szam>> 4 & 0x00FF;
a3 =szam>> 5 & 0x00FF;
a2 = szam>> 6 & 0x00FF;
a1 = szam>> 7 & 0x00FF;
printf(''%d %d %d %d %d %d %d %d '',a1,a2,a3,a4,a5,a6,a7,a8);
}
Bocs, egy kicsit kezdő vagyok (ciklusokat nem ismerem annyira meg a tömböket
)
Elvileg ennek folyamatosan maszkolnia kéne és a végén 2-es -ben kiirnia a szamot(csak 1 byte-on csinaltam meg)És 1 nél nagyobb szamokat is kiir
14(most leszek 15) vok szval csak óvatosan 2 hete c-zek elég kezdő vagyok(ezt én írtam)
ebbe kéne ezt belerakni:
#include <stdio.h>
void maszk()
{
int ax;
int maszk;
int maszktype;
printf(''Kerem az ax erteket!'');
scanf(''%X'',&ax);
printf(''Kerem a maszkot decimalisan!'');
scanf(''%X'',&maszk);
printf(''Milyen maszkolást akarsz?(1=Bitenkenti es,2=bitenkenti vagy,3 = bitenkenti kizaro vagy\n'');
scanf(''%d'',&maszktype);
printf(''ax= %X = %d \nmaszk:%X(hexadecimalis), azaz decimalisan %d\n'',ax,ax,maszk,maszk);
switch (maszktype)
{
case 1:
ax=ax & maszk;
printf(''bittorleses maszkolas eredmenye :ax = %X = %d\n'',ax,ax);
break;
case 2:
ax=ax | maszk;
printf(''bittorleses maszkolas eredmenye :ax = %X = %d\n'',ax,ax);
break;
case 3:
ax=ax ^ maszk;
printf(''bittorleses maszkolas eredmenye :ax = %X = %d\n'',ax,ax);
break;
default:
{
printf(''Hátte HÜLYE vagy\n'');
}
}
}
Kossz előre is!
Vucktor
Mod:0x00FF: asszem 254 amivel maszkolom, hogy csak az uccsó bit maradjon.
[Szerkesztve] -
flugi
tag
válasz
#53172992
#87
üzenetére
én mindig angol kiosztással dolgozom. Valószínűleg az a probléma, hogy az alt-w egy olyan gyorsbillentyű, amit lefoglalt magának az IDE. Érdemes körülnézni hogy lehet-e átdefiniálni a gyorsbillentyűket, és kitörölni a kérdéses sort.
(Dev-C++ és a pontosvessző magyar billentyűvel - ugyanez a helyzet) -
#53172992
törölt tag
Még egy dolog.
a | jelet nem birom beírni a fordítóban (visual c++ 6.0) wordból másolgatom ki
hogy lehetne ezen segíteni?
Vuck -
#53172992
törölt tag
megvan

& hiányzott -
#53172992
törölt tag
#include <stdio.h>
void main ()
{
int ax;
int maszk;
printf(''Kerem az ax erteket!'');
scanf(''%d'',&ax);
printf(''Kerem a maszkot decimalisan!'');
scanf(''%d'',maszk);
printf(''ax= %X = %d \nmaszk:%X(hexadecimalis), azaz decimalisan %d\n'',ax,ax,maszk,maszk);
ax=ax & maszk;
printf(''bittorleses maszkolas eredmenye :ax = %X = %d\n'',ax,ax);
}
Ez azt írja ki ,hogy hibát észlelt, bekéri az eredményt aztán hibajelentés küldése
Miért?
Help!
Viktor -
GodHeart
senior tag
nah belinkelem ide is.
most kezdtem a c++-t szoval nemkell nevetni!
Bővebben: link
erről lenne szó! :\ pls segítsetek -
GodHeart
senior tag
igen adminjogom van, és helyem is van.. jó sok! /mellesleg én is először erre gondoltam, de eddig semmi más progi nem panaszkodott, szal ezt elvetem/
a cd is hibátlan mivel eleve beszedetve használom!
foggalmam sincs, hogy mi lehet a hiba!!!
[Szerkesztve] -
GodHeart
senior tag
nemkapcsolódik tejesen ide a hozzászólásom, de valaholfelkell tennem!
nemtudom feltelepíteni a borlan c++ 6 -os programot! a telepítés végén, valami baja van a regisztrációs adatbázissal, és valami olyat ír ki, hogy nemtud bele írni. Ilyen kor 3 választásom van: ''retry'' ''ignore'' ''abort'', de valahogy egyik sem visz előbbre... valakinek valami 5lete!? pls!!
-
Miracle
senior tag
Hello.
a BC 3.x meg a 4.x meg a c++ szabvany megjelenese elotti dolgok, ezert a kovetkezo tippeket adnam:
ezt:
#include <iostream>
#include <string>
#include <fstream>
#include <set>
csereld ki erre:
#include <iostream.h>
#include <string.h>
#include <fstream.h>
#include <set.h>
es ha nem mukodik, akkor probald meg elhagyni a using namespace std; sort, mert az is elkepzelheto, h meg nem tettek a std libet a std nevterbe
ha ezek nem mukodnek, akkor a standard fuggvenyek meg nem ugy mukodnek, ahogy kellene nekik, es nem tudok segiteni sajnos, mert nincs BC++ 3.x em. -
pite_r1
csendes tag
Elsirom megint a bajom Miracle-nek szol ez elsosorban bar eddig is sokat segitett... :
Kene egy progi C++ ban megirva ami:
-beolvas egy txt-fajlt(ami NOTEPAD-ban van megirva)
-eszleli es atalakitja az ékezetes betuket simava (á--->a)
-beturendbe rendezi a sorokat
-egy uj txt fajlt hoz letre es elmenti ebbe a rendezett sorokat (ekezetek nelkul ugye)
Ez a progi fusson Turbo C++ 3.0-ban asszem ez a helyes neve...Amit adtal valamiert nem megy mi lehet a hiba segits legyszves!!!!
EZER HALA
(ha megvan email: pokyg@freemail.hu) (MSN cim is!!!!)
[Szerkesztve] -
Miracle
senior tag
Bővebben: link
sok sikert!
[Szerkesztve] -
Aidan85
aktív tag
Üdv mindenkinek, van egy kis problémám, remélem tud valaki segíteni. Egy algoritmust keresek, de nem találom sehol. Suilba kellene, most tanulunk C++ -ban programozni.
Szóval, az algoritmus neve:
Rendezés kupaccal (fás megvalósítás)
Ha valaki tudna segíteni, kérem!!! -
BaLinux
tag
Itt van néhány link, ahol referenciát találsz az STL-hez. Én mcedit-ben írom a progit amikor olyanom van, ami nem egy dev-c++, tehát ne várjál csodát semmitől, nem ismerek olyan editort ahol jól működne minden esetben a completion meg minden feature.
Bővebben: link
Bővebben: link
Az egyiknek az iostream, a másiknak a többi az erőssége, sajna nem ismerek normális/tekjeskörű dokumentációt...
Amúgy elhiszem, hogy megfelel a kétdim. tömb, viszont abban a pillanatban hogy kicsit módosul 1 paraméter (nem uolyan hosszúak a stringek, stb), felakasztod magad ezzel a megoldással, és évekig fogsz debuggolni. Én már megtanultam
Ez itt nem is a futási hatékonyságról szól (általában a világ nem arról szól manapság), hanem a fejlesztési hatékonyságról, ami a tömb esetén megkérdőjelezhető amikor már 2 órája segfaultolgat a program, míg a vector/string megoldásnál kevéssé valószínű ilyen probléma, és jobban lokalizálható. Csak mondom.
-
Spyx
tag
Az alapokal egyébként tisztában vagyok.
tudom hogyan lehet létrehozni két dimenziós tömböket.
Csak ezekkel a rohadt karaktertömbökkel nem boldogulok túl jól.
Ha int-ről volna szó nem is kérdeztem volna.
(Már látom hogy ha statikus változórol van szó nincs különbség. Csak nekem a dinamikussal voltak problémáim)
Ja és kényelmesebb volt ide benyogni a problémámat mint a neten keresgélni mindenféle c++ tutorialban. Tudtam hogy itt úgy is vannak segítőkész emberek.
De azért köszi a segítséget. -
Spyx
tag
Kössz az iránymutatást. Tudtam eddig is hogy van ez a template library csak nem nagyon tudtam hogy mire való. majd kicsit jobban átbújom ha lesz rendes fejlesztőkörnyezetem. Most Dev-cpp-t használok és ez nem az igazi .
Egyébként nekem most a jelenlegi problémámhoz ez a két dimenziós tömb tökéletesen megfelel. nem a hatékonyságra mentem rá. -
-
pite_r1
csendes tag
Hali van egy kis gondom mi a sz*rt jelent az hogy : Function should return a value . vagy valami ilyesmi ezt irja ki a C++??? mi ez???
-
Azért írtam, mert nem lehet úgy programozni, hogy még az alapokkal sem vagy tisztában. Először mindenképpen érdemes elolvasni egy könyvet, hogy mit is tud az a nyelv, meg mi merre hogyan. Anélkül nem tudsz semmit csinálni. Nem cseszegetni akartalak, hanem értelme nincs ''programozni'' így.
Nem tudom, mennyire tudsz angolul, de angolul nagyon sok leírás van a nyelvről. Keress rá.
A programozzunk C nyelven könyv meg rengeteg könyvesboltban kapható, az ára sem túl húzós.
Remélem nem vettem el a kedvedet, de egy fórumon keresztül szerintem nem lehet megtanulni egy nyelvet sem. -
Spyx
tag
Valaki meg tuná mondani hogyan lehet két dimenziós tömböket kezelni C++-ban
Konkrétan egy karaktersorozatokat tároló tömböt szeretnék. ( 500 db 100kar hosszú szöveget kéne letárolni.)
Stringes megoldás is jöhet. A sebesség nem számít -
pite_r1
csendes tag
Ertem...kar
-
pite_r1
csendes tag
Miracle kosz a programhoz a megoldast ebben a rajzolosban is tudnal esetleg segiteni ?
-
Miracle
senior tag
válasz
silentBob
#54
üzenetére
1: NEM KELL TOBB HELYEN FELTENNI A KERDEST, ES VEGKEPP NEM KELL MINDEN HULYESEGNEK TOPICOT NYITNI, MERT ROHADT IDEGESITO!!!!
itt van 1 trinaris fa postorder bejarassal, szep kiiro es beolvas operatorokkal, a step fuggvenyt kell atirni h inorder legyen, csak ki kell cserelni 6 sor sorrendjet, de ha mar tudsz topicot nyitni nyilvan ez is menni fog.
//---------------------------------------------------------------------------
// Tree
//---------------------------------------------------------------------------
#ifndef TREE_H
#define TREE_H
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <map>
#include <set>
template<class eT1>
struct tree_element
{
tree_element()
{
p_dat = new eT1();
p_left = 0;
p_mid = 0;
p_right = 0;
p_parent = 0;
}
tree_element(const eT1& t1,
tree_element* l,
tree_element* m,
tree_element* r,
tree_element* p)
{
p_dat = new eT1(t1);
p_left = l;
p_mid = m;
p_right = r;
p_parent = p;
}
~tree_element()
{
 .|. p_dat;
 .|. p_left;
 .|. p_right;
 .|. p_mid;
}
tree_element<eT1> *p_left, *p_mid, *p_right, *p_parent;
eT1* p_dat;
};
template<class cT1> class c_tree
{
public:
c_tree() :cap(0) {p_top = p_act = new tree_element<cT1>();}
~c_tree() {delete p_top;}
void reset() {p_act = p_top;}
void empty() {delete p_top; p_top = p_act = new tree_element<cT1>();}
/********** FELADAT MEGOLDÁSA ****************************************/
/**/void step(); //postorder
/**/cT1* get_first_repeating();//ez a feladat
/***************************************************************************/
bool read_tree(std :: istream& is, std :: ostream& os = std :: cout);
void print_tree(std :: ostream& os);
//Teszteléshez használt függvények
void set_act(cT1& const t1) {*p_actual -> p_dat = t1;}
int get_capacity() {return cap;}
tree_element<cT1>* get_top() {return p_top;}
tree_element<cT1>* get_act() {return p_act;}
cT1* get_data_adr() {return p_act -> p_dat;}
cT1 get_data() {return *get_data_adr();}
private:
void read_branch(tree_element<cT1> * p_a, int c, std :: istream& is, std :: ostream& os);
void print_branch(tree_element<cT1> *p_a, int c, std :: ostream& os, bool other_one = false);
tree_element<cT1> *p_top;
tree_element<cT1> *p_act;
int cap;
std :: map<int, bool> blocked_columns;
};
template<class fT1>
std::istream& operator>> (std::istream& is, c_tree<fT1>& t);
template<class fT1>
std::istream& operator>> (std::istream& is, c_tree<fT1>& t)
{
t.read_tree(is);
return is;
}
template<class fT1>
std:
stream& operator<< (std:
stream& os, c_tree<fT1>& t);
template<class fT1>
std:
stream& operator<< (std:
stream& os, c_tree<fT1>& t)
{
t.print_tree(os);
return os;
}
template <class fT1>
void c_tree<fT1> :: read_branch(tree_element<fT1> * p_a, int c, std :: istream& is, std :: ostream& os)
{
fT1 temp;
std :: string str_temp;
std :: istringstream isstr;
tree_element<fT1> *null_pointer = 0;
for(int i = 1 ; i < c ; ++i) os << ' ' << ((blocked_columns) ? ' ' : char(179)) << ' ' ;
os << ' ' << char(195) << char(196) << char(196) << char(194) << char(196);
is >> str_temp;
if (str_temp != ''x'')
{
blocked_columns[c]=false;
isstr.str(str_temp);
isstr >> temp;
p_a -> p_left = new tree_element<fT1>(temp, null_pointer, null_pointer, null_pointer, p_a);
read_branch(p_a -> p_left, c+1, is, os);
++cap;
}
str_temp = '''';
isstr.clear();
for(int i = 1 ; i < c ; ++i) os << ' ' << ((blocked_columns) ? ' ' : char(179)) << ' ' ;
os << ' ' << char(195) << char(196) << char(196) << char(194) << char(196);
is >> str_temp;
if (str_temp != ''x'')
{
isstr.str(str_temp);
isstr >> temp;
p_a -> p_mid = new tree_element<fT1>(temp, null_pointer, null_pointer, null_pointer, p_a);
read_branch(p_a -> p_mid, c+1, is, os);
++cap;
}
str_temp = '''';
isstr.clear();
for(int i = 1 ; i < c ; ++i) os << ' ' << ((blocked_columns) ? ' ' : char(179)) << ' ' ;
os << ' ' << char(192) << char(196) << char(196) << char(194) << char(196);
is >> str_temp;
if (str_temp != ''x'')
{
blocked_columns[c]=true;
isstr.str(str_temp);
isstr >> temp;
p_a -> p_right = new tree_element<fT1>(temp, null_pointer, null_pointer, null_pointer, p_a);
read_branch(p_a -> p_right, c+1, is, os);
++cap;
}
}
template <class fT1>
bool c_tree<fT1> :: read_tree(std :: istream& is, std :: ostream& os)
{
for(int i = 0; i < 3000; ++i) blocked_columns = true;
fT1 temp;
os << ''Kerem az adatokat\n'';
os << char(196) << char(194) << char(196);
is >> temp;
p_top -> p_dat = new fT1(temp);
read_branch(p_top,1, is, os);
return true;
}
template <class fT1>
void c_tree<fT1> :: print_branch(tree_element<fT1> *p_a, int c, std :: ostream& os, bool other_one)
{
for(int i = 1 ; i < c; ++i) os << ' ' << ((blocked_columns) ? ' ' : char(179)) << ' ';
os << ' ' << char (other_one ? 195 : 192) << char(196) << char(196) << char(( p_a->p_left != 0 || p_a -> p_right != 0) ? 194 : 196)<< char(196) << *p_a -> p_dat << endl;
if (p_a -> p_mid != 0)
{
if(p_a -> p_left != 0 && p_a -> p_right != 0)
{
blocked_columns[c+1] = false;
print_branch(p_a -> p_left, c+1, os, true);
print_branch(p_a -> p_mid, c+1, os, true);
blocked_columns[c+1] = true;
print_branch(p_a -> p_right, c+1, os, false);
}
if(p_a -> p_left != 0 && p_a -> p_right == 0)
{
blocked_columns[c+1] = false;
print_branch(p_a -> p_left, c+1, os, true);
blocked_columns[c+1] = true;
print_branch(p_a -> p_mid, c+1, os, false);
}
if(p_a -> p_left == 0 && p_a -> p_right != 0)
{
blocked_columns[c+1] = false;
print_branch(p_a -> p_mid, c+1, os, true);
blocked_columns[c+1] = true;
print_branch(p_a -> p_right, c+1, os, false);
}
}
else //(p_a -> p_left == 0 && p_a -> p_right == 0)
{
if(p_a -> p_left != 0 && p_a -> p_right != 0)
{
blocked_columns[c+1] = false;
print_branch(p_a -> p_left, c+1, os, true);
blocked_columns[c+1] = true;
print_branch(p_a -> p_right, c+1, os, false);
}
if(p_a -> p_left != 0 && p_a -> p_right == 0)
{
blocked_columns[c+1] = true;
print_branch(p_a -> p_left, c+1, os, false);
}
if(p_a -> p_left == 0 && p_a -> p_right != 0)
{
blocked_columns[c+1] = true;
print_branch(p_a -> p_right, c+1, os, false);
}
}
}
template <class fT1>
void c_tree<fT1> :: print_tree(std :: ostream& os)
{
for(int i = 0; i < 3000; ++i) blocked_columns =true;
print_branch(p_top, 1, os, false);
}
template <class fT1>
void c_tree<fT1> :: step()
{
if (p_act == p_top)
{
while(p_act -> p_left || p_act -> p_mid || p_act -> p_right )
{
if(p_act -> p_left)
{
p_act = p_act -> p_left;
continue;
}
if(p_act -> p_mid)
{
p_act = p_act -> p_mid;
continue;
}
if(p_act -> p_right)
{
p_act = p_act -> p_right;
continue;
}
}
}
else //(p_act != p_top)
{
if (p_act == p_act -> p_parent -> p_left)
p_act = ((p_act -> p_parent -> p_mid) ? (p_act -> p_parent -> p_mid) : ((p_act -> p_parent -> p_right) ? p_act -> p_parent -> p_right : p_act -> p_parent));
else if (p_act == p_act -> p_parent -> p_mid)
p_act = (p_act -> p_parent -> p_right ? p_act -> p_parent -> p_right : p_act -> p_parent);
else if (p_act == p_act -> p_parent -> p_right)
p_act = p_act -> p_parent;
}
}
template <class fT1>
fT1* c_tree<fT1> :: get_first_repeating()
{
std :: set<fT1> once_found;
typedef std :: set<fT1>::const_iterator SCI;
SCI temp = once_found.end();
reset();
step();
while(p_act != p_top)
{
temp = once_found.find(*get_data_adr());
if (temp == once_found.end())
once_found.insert(*get_data_adr());
else
return get_data_adr();
step();
}
return 0;
}
#endif // Unit1_H -
silentBob
csendes tag
Sziasztok.
Nekem is lenne egy kérdésem. Van egy feladat amiben ha tdnátok segíteni akkor nagyon örülnék:
generálni kell egy fát. fa csúcsai a köv 3 mutatót tartalmazzák:bal-gyermek,jobb-
testvér,szülő.ezek segítségével bármely csúcs azonosítható a csúcs szülője és minden gyermeke.
inorder bejárás:a fa kulcsait rendezett sorrendben írhassuk ki.a fa gyökerében lévő kulcsot a baloldali részfájában lévő értékek után és a jobboldali részfájában lévő értékek elött -azok között írjuk ki.
a preorder bejárás a gyökér kulcsát a részfáinak kulcsai elött,míg a
posztorder bejárás esetén azok után írjuk ki.
a köv algoritmust találtam hozzá
INORDER-FA-BEJÁRÁS(x)
if xNEM= NIL
then inorder-fa-bejárás(bal[x])
print kulcs[x]
inorder fa bejárás(jobb[x])
na ez csak egy algoritmus ezt kéne vhogy kibővíteni vagy átírni ha lehet, de ha tudtok valami mást akkor kérlek írjaátok le azt. Jah és mindezt c-be .
aztán meg mátrixként kell kiíratni.
Elöre is mindenkinek thx -
pite_r1
csendes tag
Hello...Kosz a segitseget de van egy kis bibi meg ...A tanar kitalalta ha ezt megirtam irjak meg egy grafikus programot is..Ami ugy nez ki hogy :
-a hatter kek(eg)
-a talaj zold szinu
-a talajon van egy jeghegy ( feher)
-a jeghegy tetejen egy piros lobogo (piros)
-a jeghegy bal oldalan egy fa (fekete torzs zold lomb)
-a jeghegy jobb oldalan zudul le egy lavina(feher es egyszeru kor alak)
-a jobb felso sarokban napocska (sarga)
A lenyeg hogy azzal a 16 szinu kepernyokezelessel kene es a leheto legegyszerubben megoldani...a zaszlo lobogjon a lavina gorduljon le ...ennyi
Fontos lenne szerda este 20.00-ig !! le kell adnom ....Ha valaki megcsinalja megkoszonom .. -
Miracle
senior tag
#include <iostream>
#include <string>
#include <fstream>
#include <set>
using namespace std;
string& conv(string&);
int main()
{
cout << ''Kerem a beolvasando file nevet:'';
string f, temp;
cin >> f;
ifstream ifs(f.c_str());
set<string> sorok;
while(ifs)
{
getline(ifs, temp);
sorok.insert(conv(temp));
}
cout << ''kerem a kiirando file nevet: '';
cin >> f;
ofstream ofs(f.c_str());
for(set<string>::iterator si = sorok.begin(); si != sorok.end(); ++si)
ofs << *si << '\n';
return 0;
}
string& conv (string& s)
{
for(int i = 0; i < s.size(); ++i)
switch(int(s))
{
case 130:
s = 'e';
break;
case 141:
case 161:
s = 'i';
break;
case 144:
s = 'E';
break;
case 148:
case 149:
case 162:
s = 'o';
break;
case 151:
case 163:
s = 'u';
break;
case 153:
s = 'O';
break;
case 154:
s = 'U';
break;
case 160:
s = 'a';
break;
//ha kihagytam volna ASCII kodokat, ide ertelem szeruen be lehet szurni
}
return s;
} -
pite_r1
csendes tag
Hali Nagyon fontos lenne nekem egy program C++ ban megirva ami:
-beolvas egy txt-fajlt(ami NOTEPAD-ban van megirva)
-eszleli es atalakitja az ékezetes betuket simava (á--->a)
-beturendbe rendezi a sorokat
-egy uj txt fajlt hoz letre es elmenti ebbe a rendezett sorokat (ekezetek nelkul ugye)
Fontos lenne ez a progi minel elobb es keresem az hogy minel egyszerubben megirva legyen es ha lehet kommentekkel soronkent mi micsinal ....ezen mulik a fosuli felevem es nem ertek a programozashoz ...Elore is kosz aki tud segiteni !
(ha megvan email: pokyg@freemail.hu) (MSN cim is!!!!) -
Khraath
csendes tag
Teljesen igaz, hogy a C++-ban ne használjuk a .h kiterjesztésü c-s headereket. Igaz, hogy a c++ lefordítja a c-s forráskódokat, de ez nem jelenti azt, hogy célszerü kevergetni a két nyelvet. Ha valamit c++-ben írunk, az legyen c++, ha c-ben legyen c.
Sok esetben a c++ program a keveredés miatt sokkal lassab, rosszabb lesz, már a c-sről nem is beszélve.
Szóval a lényeg az, hogy kerüljük c++-ben a c-s konvenciókat. -
Miracle
senior tag
minden fordito mukodik parancssoros modban, tehat eleg beszerezned egy forditot, es tetszoleges text-editorral irt c++ kodot le tudsz vele forditani.(akar gcc is)
persze vannak fejlesztokornyezetek is(a teljesseg igenye nelkul):
DevC++ ez egy igen alap, egyszeru, de tobbe kevesbe mukodo ingyenes kornyezet
Visualc++ 6 ez elegge c++ orientalt, de fizetos
visual studio .NET itt mar nem a c++ all kozeppontban, kezdonek nem ajanlom
borland c++ builder 6 delphi-szeru(VCL, CLX alapu) c++ fejlesztokornyezet c++-hoz, nagyon egyszeru hasznalni, es eleg alap c++ tudassal is tudsz vele grafikus feluletu programokat fejleszteni, van ingyenes, personal edition valtozata, letoltheto a borland.com -rol regisztracio utan
borland cBuilderX teljesen Javaban irott fejlesztoi kornyezet tobb platform ala(windows, linux, solaris alatt is mukodik) es tobb forditoval is, kivallo eszkoz multiplatform alkalmazasok fejlesztesehez, es szinten nagyon egyszeru hasznalni(istenkiraly debuggerrel), es letoltheto a borland.comrol.
[Szerkesztve] -
ReJim
őstag
lécci segítsetek.
az lenne a kérdésem, hogy hogyan kell elkezdeni a c nyelvet...
mármint mivel kell írni, fordítgatni a forrásokat..
linux alatt tudom hogy kell forgatni forrásból, de nem értek többet hozzá...
szóval esetleg valaki elmagyarázni, mijen porgi kell hozzá??? visual c++?
és esetleg valami magyar tutorial, vagy egyéb oktató leckéket tud valaki linkelni??
előre is thx... -
VladimirR
nagyúr
van egy olyan erzesem, hogy 16 bites forditot hasznalok ('92-es borland c++ 3.1), a tobbinek meg majd utananezek, koszonom
meg annyit, hogy ezt as 80*25-os tombot, amit irtan, hogyan iratnam ki? teljesen szabvany modszerrel (printf, cout....) es csak azon lenne a hangsuly, hogy hogyan tarolom a kepernyon megjelenitendo cuccot? -
Miracle
senior tag
válasz
VladimirR
#38
üzenetére
Hello.
te egy komoly problemaval kerultel szembe, es ez nem mas, mint a windows lelkivilaga(semmifele pejorativ felhang, nincs jobb megoldas)
te azt latod, hogy konzol. aminek van win32 API interface. a konzol csak ilyen APIju szoffereket futtat. amikor te egy DOSos programot futtatsz, akkor egy beepitett picike VM reteg kerul a szoftver rendszerhivasai, es a WIN32 API koze(nem csak a konzol-megjelenitessel, mindennel kapcsolatban) es ekkor ez a VM szepen rendszeresen forditja a fent emlitett memoriateruletre erkezett valtoztatasokat(nem emlexem a cimre) szabvanos, win32 eljarasokra. de ez a VM csak akkor indul, ha 16bites, DOSos alkalmazast futtatsz a gepeden. tehat
vagy keritesz egy regi 16bites forditot(ez gany megoldas)
vagy megkeresed a win32 idevago fuggvenyeit (ez a legjobb)
vagy irsz kepernyfrissito eljarast, ami bar eleg lassu lesz, de mukodik majd rendesen egy adott konzolmeretre(erdemes 1 darab 80*25 meretu char*ban tarolni az egesz kepernyot, es ezt kiiratni futasonkent)
vagy jobban beleasod magad a cin-cout rendszerbe, mint en tettem, es megtalalod a pozicionalo fuggvenyt
vagy megnezed, hatha a compiler-specifikus C/C++ STD library tamogat ilyesmit.
szerintem. -
VladimirR
nagyúr
ez a memoriaterulet felelos a karakteres megjelenitesert (dos alatt mukodik hibatlanul es nekem eddig win-es dos ablakban is rendben volt)
tehat ha azt mondom, hogy: t[1][1][1]:='a'; akkor a bal felso sarokba (az 1, 1 koordinatakra) kirajzol egy a betut, ha meg azt mondom, hogy t[1][1][2]:=2; akkor atvaltja a szinet zoldre (asszem zoldre)
ez kellene nekem c++ alatt (eletjatekhoz, mert imho igy sokkal jobb lenne ujrarajzolni a kepernyot) -
VladimirR
nagyúr
hi
hogyan tudom c++-ban megmondani, hogy egy valtozo melyik memoriacimen jojjon letre?
egeszen pontosan arra lenne szuksegem, hogy egy 25*80*2-es tomb a $b800:00 cimen legyen
pascalban ez igy nez ki: t:array[1..25,1..80,1..2] of char absolute $b800:00; es azeret kene, mert igy ennek a tombnek a segitsegevel tudnam irni a kepernyot
remelem eryteni, amit prbalok kerdezni
koszi a segitseget
[Szerkesztve] -
VladimirR
nagyúr
csak a tisztanlatas kedveert:
if (roka[i-1]==0) nyul[i]+=nyul[i-1]+(a*nyul[i-1]);
if (nyul[i-1]==0) roka[i]+=roka[i-1]-(b*roka[i-1]);
nyul[i]+=nyul[i-1]+(a*nyul[i-1])-(c*nyul[i-1]*roka[i-1])
igy nez ki eredetileg? (PH! motor kiszedi a [i] reszeket es doltte teszi a szoveget) -
Lajtorja
aktív tag
Ebbe a három sorba ugyan mi lehet a szintaksz error?
(láma vagyok)
if (roka[i-1]==0) nyul+=nyul[i-1]+(a*nyul[i-1]);
if (nyul[i-1]==0) roka+=roka[i-1]-(b*roka[i-1]);
nyul+=nyul[i-1]+(a*nyul[i-1])-(c*nyul[i-1]*roka[i-1])
köff! -
8472
aktív tag
Köszi, hogy válaszoltál.
Dev-C++ -t használok, nem találtam olyan beállításokat sehol sem, amiket írtál. Ja, amúgy rákerestem a winmm kulcsszóra, és nem talált egy ilyen fájlt sem a meghajtón. Ez most azt jelenti, hogy ha meglenne az a beállítás amit írtál, akkor sem tudnám megcsinálni?
-
clayman
aktív tag
A PlaySound egy külső könyvtárban található függvényre hivatkozik, és a compiler optionsnél nem linkelted hozzá a programodhoz.
A megoldás egszerűen annyi, hogy (pl MSVC++-al)
Project menu > Project properties > (All Configurations) > Input > Additional Dependencies : ott írd hozzá hogy ''winmm.lib'' és linkeld újra. Kész ;)
Mellesleg ez le volt írva a .cpp fileban
-
Spyx
tag
Tud valaki olyan címet ahonnan Visual Studio C++-t lehet letölteni??
-
yksz
aktív tag
?Nem tudna valaki nakem küldeni egy primitív progi-t? Ultrakező vagyok. Csak ezért. Előre is kösz!
-
8472
aktív tag
Hali.
Leszedtem egy kódot innen:
http://www.gametutorials.com/download/DevC++/C++/PlaySound_Cpp_DEVC.zip
ami wav fájlt játszana le, de a fordításnál ezt írja ki a dev-c++:
[Linker error] undefined reference to `PlaySoundA@12'
Ez pontosan mit jelent és hogy tudom kijavítani? Kezdő vagyok, lécci segítsetek. -
Szalma
őstag
(Bővebben: link, ha még nem találtad volna meg a megoldást...)
Szeretettel:
Szalma -
Batman
őstag
up

-
Batman
őstag
up
-
Batman
őstag
up
-
Batman
őstag
devc++-ban ,hogyan vonok gyököt?
-
b14
senior tag
Hihi!
pont ezt csinalatam meg legutobb!
#include <stdio.h>
#include <conio.h>
main ()
{
int end, l, szam, i, m;
clrscr();
printf(''Kezdes: '');
scanf(''%d'',&szam);
printf(''Veg: '');
scanf(''%d'',&end);
m=szam;
for (szam=m;szam<end+1; szam++)
{
clrscr();
printf(''Most %d\n'',szam);
l=0;
i=szam;
while (i>0)
{
if (szam % i == 0 )
{
printf (''Ez az %d \n'',szam / i );
l++;
}
i--;
}
printf(''\nVolt: %d'',l);
getch();
}
getch();
return 0;
} -
Miracle
senior tag
és próbáld meg ezt az lnko-t:
int lnko( int a, int b)
{
a = (a<0) ? -a : a; //nem kell szarozni a negatív számokkal
b = (b<0) ? -b : b;
while(a != b)
{
if (a < b) b -= a;
else a -= b;
}
return a;
} -
Miracle
senior tag
''Szemantikailag még nem néztem.
Ja és remélem az az <iostream> az elején, <iostream.h> -t akar jelenteni. ''
a legújabb kódoláűsi konvencióknak, és a c++ szabvány legújabb(amúgy már 5+ éves) változának megfelelően az
#include <iostream>
formátum használandó a standard könyvtár esetében, a .h kiterjesztésű változat kompatibilitási okokból támogatott, de sok helyen, pl. visual studio 7 nem egészen ugyan úgy működik. ha a kedvenc fordítód nem fogadja el a .h kiterjesztés nélküli std-lib includeokat akkor ideje frissíteni, mert már tényleg baromi régi lehet, sorry. nomeg asszem a .h kiterjesztésű változatokban még nincs az egész std névtérbe pakolva, bár erre nem mernék megesküdni, a VS6ba is belefért a 15 éve eltörölt for-változó-definíció-scope-bővítés ''feature'', sok ''nem túlképzett'' programozó életét megnehezítve ezzel. -
angelka
csendes tag
Hát sajna így is 0-át ír!
-
Amúgy ez nagy számokra böhöm lassú, persze pár milláig simán elfut így is.
Ha bazi gyorsan akarod, akkor a főprogram részt ki kell cserélni erre:
// ha n a kisebb, akkor kicseréljük a 2 számot
if (n < m) {d = n; n = m; m = d;}
while (m)
{
d = m;
m = n % m;
n = d;
}
cout << ''LNKO = '' << n << endl;
Ez a híresneves euklídeszi algoritmus.
[Szerkesztve] -
angelka
csendes tag
Na jó így már kiírja az eredményt, de nem jól!
Pl.: n=25 és m=15 -re d=0-át ír! -
Niquis
aktív tag
Első látásra: while ((d>0) &&!(d/n && d/m));
nem jó, while után az első utasítást (avagy blokkot) hajtja csak végre. Nálad ez egy üres utasítás (;). Ezt így kell kiküszöbölni:
while ((d>0) &&!(d/n && d/m)) d--;
Szemantikailag még nem néztem.
Ja és remélem az az <iostream> az elején, <iostream.h> -t akar jelenteni.
[Szerkesztve] -
angelka
csendes tag
na most így néz ki
:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n, m, d ;
cout << '' legnagyobb kozos oszto szamitasa !'' << endl;
cout << endl << '' kerem az elso szamot: '' ;
cin >> n;
cout << endl << '' kerem a masodik szamot: '' ;
cin >> m;
// főprogram d=lnko(n,m)
d = min(n,m);
while ((d>0) &&!(d/n && d/m));
d--;
// Az eredmény kiírása
cout << '' a legnagyobb kozos oszto: '' << d << endl;
char ch; cin >> ch;
return 0;
}
De most meg nem írja ki az eredményt!Bekéri a két számot , aztán leáll!?? -
angelka
csendes tag
na most így néz ki
:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n, m, d ;
cout << '' legnagyobb kozos oszto szamitasa !'' << endl;
cout << endl << '' kerem az elso szamot: '' ;
cin >> n;
cout << endl << '' kerem a masodik szamot: '' ;
cin >> m;
// főprogram d=lnko(n,m)
d = min(n,m);
while ((d>0) &&!(d/n && d/m));
d--;
// Az eredmény kiírása
cout << '' a legnagyobb kozos oszto: '' << d << endl;
char ch; cin >> ch;
return 0;
}
De most meg nem írja ki az eredményt!Bekéri a két számot , aztán leáll!?? -
angelka
csendes tag
na most így néz ki
:
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
int n, m, d ;
cout << '' legnagyobb kozos oszto szamitasa !'' << endl;
cout << endl << '' kerem az elso szamot: '' ;
cin >> n;
cout << endl << '' kerem a masodik szamot: '' ;
cin >> m;
// főprogram d=lnko(n,m)
d = min(n,m);
while ((d>0) &&!(d/n && d/m));
d--;
// Az eredmény kiírása
cout << '' a legnagyobb kozos oszto: '' << d << endl;
char ch; cin >> ch;
return 0;
}
De most meg nem írja ki az eredményt!Bekéri a két számot , aztán leáll!?? -
Miracle
senior tag
hát első ránézésre csak ennyi:
(d = d--);
ezt cseréld ki erre :
d--;
azért mert a d-- kifejezés először visszaadja d értékét majd csökkenti d értékét, és ekkor az operator= hajtódik végre, az eredeti d jobbértékkel, azaz nem a csökkentettel.
amúgy a fenti kifejezés nem determinisztikus, lehet, hogy van olyan fordító, amin működik, de mindenképpen hibás kód.
[Szerkesztve] -
angelka
csendes tag
Hello!
Ebben a progiban mi a baja a fordítónak a while!(d/n && d/m); résszel?
#include <iostream>
#include <stdlib.h>
#include <stdlib.h>
using namespace std;
int main()
{
int n, m, d ;
cout << '' legnagyobb kozos oszto szamitasa !'' << endl;
cout << endl << '' kerem az elso szamot: '' ;
cin >> n;
cout << endl << '' kerem a masodik szamot: '' ;
cin >> m;
// főprogram d=lnko(n,m)
d = min(n,m);
while !(d/n && d/m)
{
(d = d--);
}
// Az eredmény kiírása
cout << '' a legnagyobb kozos oszto = '' << d << endl;
return 0;
}
Aktív témák
- Autós topik
- Építő/felújító topik
- Szélsebes portok az MSI legfrissebb, MAG szériás alaplapján
- Xiaomi 17 Ultra - jó az optikája
- World of Warships
- Nagyon kellemetlen áremeléssel készül az Intel
- Vezeték nélküli fülhallgatók
- Call of Duty: Black Ops 7
- A kisebb független stúdiók álma lehet a DLSS 5
- A tajvani chipgyártóknak is beteszi a kaput a Hormuzi-szoros lezárása
- További aktív témák...
- Samsung Galax Watch 8
- 15.gen! Intel Core ULTRA 9 285K (24mag!) +32GB DDR5 kit +ASROCK Z890 PRO-A! GAR/SZÁMLA (Te nevedre)!
- X13 Gen4 13.3" FHD+ IPS érintő i5-1335U 16GB 256GB NVMe magyarított (lézerezett) bill IR kam gar
- Eladó Xiaomi Redmi Buds 8 Lite!
- 337 Eladó keveset használt Xerox Versalink B7030 a képek szerinti állapotban új tonerrel
- Asus VC239 23 Full HD Monitor 6 hó garancia Házhozszállítás
- White GAMER PC! Ultra 265 / RTX 5070 Ti / 32GB 6000MHz / 1TB NVMe / B660 / 850w Gold! BeszámítOK
- 152 - Lenovo LOQ (15IRH8) - Intel Core i5-12450H, RTX 4060 (ELKELT)
- PCIe 5.0/4.0/3.0 Riser kábelek 90-os hajlított csatlakozóval (220mm/300mm)
- AKCIÓ! Asus Prime H610M i5 12400F 16GB DDR5 500GB SSD RTX 3060 12GB Rampage SHIVA A-Data 650W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


Most látom hogy kicsit lesüllyedt kedvenc c++ topicunk, és mindenki mindenféle más c++ topicot nyitogat. Amúgy szívesen.

![;]](http://cdn.rios.hu/dl/s/v1.gif)

stream& operator<< (std:




