- Milyen notebookot vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Fejhallgató erősítő és DAC topik
- Nem keres több megrendelőt az Intel 18A node-ra az Intel
- AMD vs. INTEL vs. NVIDIA
- Kormányok / autós szimulátorok topikja
- DUNE médialejátszók topicja
- Feketehalálra váltja a kékhalált a Microsoft
- Steam Deck
- ZIDOO médialejátszók
Új hozzászólás Aktív témák
-
icespeak
csendes tag
Helló!
A segítségeteket szeretném kérni az alábbi programban. Az lenne a feladat, hogy egy origóból induló vektorral eltoljam a megadott köröket. Megadjuk a vektor végpontját a körök középpontját és a sugaraikat. Csak valamiért nem megy.[B]main.cpp[/B]
#include <iostream>
#include <vector>
#include "read.h"
#include "pont.h"
#include "kor.h"
#include "vektor.h"
#include <string>
using namespace std;
int main()
{
double d,e,r,x,y,u,k;
cout<<"Adja meg a vektort\n";
cout<<"d= "; cin>>d;
cout<<"e= "; cin>>e;
int n=ReadInt("\nKorok szama: ", "Termeszetes szamot varok!");
vector<Kor> t(n);
for(int i=0; i<n;++i)
{
cout<<"Az"<<i+1<<"-dik kor koordinatai:\n";
x=ReadReal("\t x: ", "Valos szamot varok!");
y=ReadReal("\t y: ", "Valos szamot varok!");
Pont c;
c.Beallit(x,y);
r=ReadRealP("A kor sugara: ","Nem negativ valos szamot varok!");
c.Eltol(u,k,d,e);
c.Kiir(u, k);
}
return 0;
}
[B]kor.h[/B]
#ifndef KOR_H_INCLUDED
#define KOR_H_INCLUDED
#include "pont.h"
class Kor{
private:
Pont c;
double r;
public:
};
#endif // KOR_H_INCLUDED
[B]pont.h[/B]
#ifndef PONT_H_INCLUDED
#define PONT_H_INCLUDED
#include "vektor.h"
class Pont{
private:
double x,y;
public:
Pont() {x=y=0.0;}
void Beallit (double a, double b) {x=a; y=b;}
void Eltol(double u, double k, double &a, double &b);
void Kiir(double u, double k);
};
#endif // PONT_H_INCLUDED
[B]vektor.h[/B]
#ifndef VEKTOR_H_INCLUDED
#define VEKTOR_H_INCLUDED
class Vector2D{
private:
double d,e;
public:
Vector2D(): d(0.0), e(0.0) {}
Vector2D(double &a, double &b): d(a), e(b) {}
};
#endif // VEKTOR_H_INCLUDED
[B]pont.cpp[/B]
#include <iostream>
#include "pont.h"
#include "vektor.h"
using namespace std;
void Pont::Eltol(double u, double k, double &a, double &b)
{
u=x+a;
k=y+b;
}
void Pont::Kiir(double u, double k)
{
cout <<"u: "<<u<<endl;
cout <<"k: "<<k<<endl;
} -
icespeak
csendes tag
Köszi a segítséget. A probléma azonban az hogy két hibával nem tudok mit kezdeni.
Az egyik a main-ben 41-es sor error: at this point in file ez így érthetetlen számomra.
A másik a headerben 11-es sor error: too many arguments to function `bool ReadFromFile(const std::string&). -
icespeak
csendes tag
Hellótok C++-ban a header fájlnál van problémám a függvényekkel
#include "read.h"
#include "ellenoriz.h"
#include <iostream>
#include <vector>
#include <sstream>
#include <fstream>
using namespace std;
int main(int argc, char *argv[])
{
vector<vector<int> > t;
char ch;
do{
// Adatok beolvasása
vector<vector<int> > t;
bool file_ok = true;
// Adatbevitel módja
int v;
if(argc>1) v = 1;
else{
cout << "Az adatbeolvasás módja:"<< endl
<< " SZÖVEGES FÁJL(1)"<< endl
<< " BILLENTYŰZET (2)"<< endl;
v = Read12("Válasszon: ","Csak 1 vagy 2 közül választhat!");
}
// Beolvasás
string fname;
switch(v)
{
case 1 :
if(argc<=1){
cout << "Adja meg a szöveges fájl nevét: ";
cin >> fname;
}
else fname = argv[1];
file_ok = ReadFromFile(fname, t);
break;
case 2 :
cout << "Adja meg az értékeket!";
ReadFromKeyboard(t);
break;
}
// Kiíratás
if(file_ok)
{
if(minden(t)) cout << "Minden sorban van legalabb egy primszam"<< endl;
else cout << "Nincs minden sorban primszam"<< endl;
cout << endl << "Futtassam újra? (I/N) "; cin >> ch;
}
}while(ch!='n' && ch!='N');
return 0;
}
read.cpp tartalma
#include "read.h"
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
int Read12(const string &msg, const string &errormsg)
{
int n;
bool hiba = true;
do{
cout << msg;
string str;
cin >> str;
n = atoi(str.c_str());
hiba = (n==0 && str!="0") || n<1 || n>2;
if(hiba) cout << errormsg << endl;
}while(hiba);
return n;
}
void ReadFromKeyboard(vector<vector<int> > &t)
{
int n=ReadNat("kerek egy pozitiv egesz szamot( hany soros a matrix):\t","nem pozitiv egesz szamot adtal meg!");
int m=ReadNat("kerek egy pozitiv egesz szamot( hany oszlopa van a matrixnak):\t","nem pozitiv egesz szamot adtal meg!");
t.resize(n);
for (int i=0;i<n;i++)
{
t[i].resize(m);
for (int j=0;j<m;j++)
{
cout <<"t["<<i+1<<"]["<<j+1<<"]: ";
t[i][j]=ReadInt("","nem szamot adtal meg!");
}
}
}
bool ReadFromFile(const string &fname)
{
int n,m,ertek;
int t[n][m];
ifstream x(fname.c_str());
if(x.fail()){
cout << "Hibás fájlnév!"<< endl;
return false;
}
while(!x.eof()){
for (int i=0;i<n;i++)
{
for (int j=0;j<m;j++)
{
x >> ertek;
t[i][j]=ertek;
}
}
}
return true;
}
bool good(int k) {
if (k>0)
{
return true;
}
else
{
return false;
}
}
int ReadInt(string msg, string errormsg, bool cond(int) )
{
int n;
bool hiba;
do{
cout << msg;
string str;
cin >> str;
n = atoi(str.c_str());
hiba = n==0 && str!="0" || !cond(n);
if(hiba) cout<< errormsg<< endl;
}while(hiba);
return n;
}
int ReadNat(string msg, string errormsg, bool cond(int) )
{
int n;
bool hiba;
do{
cout << msg;
string str;
cin >> str;
n = atoi(str.c_str());
hiba = n==0 && str!="0" || n<0 || !cond(n);
if(hiba) cout<< errormsg<< endl;
}while(hiba);
return n;
}
read.h tartalma
#ifndef _READ_
#define _READ_
#include <string>
bool good(int k);
int Read12(const string &msg, const string &errormsg);
void ReadFromKeyboard(vector<vector<int> > &t);
bool ReadFromFile(const string &fname);
int ReadInt(std::string msg, std::string errormsg, bool cond(int) = good);
int ReadNat(std::string msg, std::string errormsg, bool cond(int) = good);
#endif -
icespeak
csendes tag
Hi mindenki. Szerintetek mi lehet az alábbi kóddal a probléma?
/*
10. A Föld felszínének egy vonala mentén egyenlő távolságonként megmértük a terep tengerszint
feletti magasságát, és a mért értékeket egy vektorban tároljuk. Hány darab hegycsúcs van a
mérési sorozatban?
*/
#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
int Megszamol(const vector<int> t, int &c);
bool ReadFromFile(const string &fname, vector<int> &t);
void ReadFromKeyboard(vector<int> &t);
int Read12(const string &msg, const string &errormsg);
int main(int argc, char *argv[])
{
char ch;
do{
// Adatok beolvasása
vector<int> t;
bool file_ok = true;
// Adatbevitel módja
int v;
if(argc>1) v = 1;
else{
cout << "Az adatbeolvasás módja:"<< endl
<< " SZÖVEGES FÁJL(1)"<< endl
<< " BILLENTYŰZET (2)"<< endl;
v = Read12("Válasszon: ","Csak 1 vagy 2 közül választhat!");
}
// Beolvasás fájlból
string fname;
switch(v)
{
case 1 :
if(argc<=1){
cout << "Adja meg a szöveges fájl nevét: ";
cin >> fname;
}
else fname = argv[1];
file_ok = ReadFromFile(fname, t);
if(!file_ok && argc>1) {
char ch; cin >> ch;
exit(1);
}
break;
case 2 :
cout << "Adjon meg mérési értékeket! Kilépés: quit \n";
ReadFromKeyboard(t);
break;
}
// Kiíratás
if(file_ok)
{
if(Megszamol(c)) cout << "Hegycsúcsok száma:" << c << endl;
else cout << "Nincs hegycsúcs"<< endl;
cout << endl << "Futtassam újra? (I/N) "; cin >> ch;
}
}while(ch!='n' && ch!='N');
return 0;
}
//Feladat: 1-es vagy 2-es beolvasása
//Tevékenység: Billentyűzetről kizárólag két szám, az 1-es vagy a 2-es valamelyikét fogadja el
// más adatot nem
//Bemenő adat: string msg - a beolvasás előtt megjelenítendő üzenet
// string error - hibás adat beírásakor megjelenítendő üzenet
//Kimenő adat: int v - 1-es vagy 2-es szám (visszatérési értékként)
int Read12(const string &msg, const string &errormsg)
{
int n;
bool hiba = true;
do{
cout << msg;
string str;
cin >> str;
n = atoi(str.c_str());
hiba = (n==0 && str!="0") || n<1 || n>2;
if(hiba) cout << errormsg << endl;
}while(hiba);
return n;
}
//Feladat: Integereket tartalmazó tömb (vector) feltöltése billentyűzetről
//Tevékenység: Billentyűzetről olvas be egymás után integereket és helyezi el őket egy vektorban
// addig, amíg a "quit" szót nem írjuk.
//Bemenő adat: -
//Kimenő adat: vector<int> t
void ReadFromKeyboard(vector<int> &t)
{
int meres;
cin >> meres;
while(meres!="quit"){
t.push_back(meres);
cin >> meres;
if (meres < 0){
meres = 0;
}
}
}
//Feladat: Integereket tartalmazó vektor feltöltése szöveges állományból
//Tevékenység: Megnyitja a megadott szöveges állományt (sikertelen kísérlet esetén hibát jelez)
// majd a fájlból egymás után beolvassa az összes elválasztójelekkel határolt számot
// és elhelyezi azokat egy vektor-ban
//Bemenő adat: string fname - szöveges állomány neve
//Kimenő adat: vector <int> t
// bool ok - sikerült-e az állomány megnyitása (visszatérési értékként)
bool ReadFromFile(const string &fname, vector<int> &t)
{
ifstream x(fname.c_str());
if(x.fail()){
cout << "Hibás fájlnév!"<< endl;
return false;
}
int meres;
x >> meres;
while(!x.eof()){
t.push_back(meres);
x >> meres;
if (meres<0){
meres = 0;
}
}
return true;
}
int Megszamol(const vector<int> t, int &c){
int c=0;
for(int i=0; i<(int)t.size(); i++){
if(i<i+1 || i+1>i+2){
c=c+1;
}
}
return c;
} -
icespeak
csendes tag
Hogyan lehet elérni egy for ciklusnál, hogy az elemeket hetesével összeadja majd kiírja egymás után ezeket majd képezze ezeknek a hetesével összeadottaknak a különbségeit és azt is kiírja?
-
icespeak
csendes tag
válasz
Jester01 #416 üzenetére
Köszi a választ.
Most az érdekelne, hogy ugyanebben a feladatban hogy tudnám megoldani hogy hetente legyenek a megadott összegek tehát első hét nap összege az 1. hét a második hét nap összege a 2. hét stb. és még ezt bonyolítva azzal, hogy a hetek közötti különbséget meg kell adni tehát 1. és 2. hét különbsége és a többi. Bármilyen ötletet szívesen fogadok. -
icespeak
csendes tag
Hello mindenki, a következő programban érdekelne, hogy mit csinál a void kölcsönkérésben mert nem igazán tudom értelmezni.
#include <iostream>using namespace std;
const int maxN=100;
void beolvasas(int &N,int P[],int &X);
void kolcsonkeres(const int N,const int P[],const int X,bool &Van,int &Nap);
void kiiras(const int N,const int P[],const int X,const bool Van, const int Nap );int main()
{ int N,X,Nap; //N napig jártunk lóversenyre, X pénzünk van kezdetben, Nap-on kell kölcsönkérni
int P[maxN]; // naponként nyereségek, vagy veszteségek
bool Van; //Van olyan nap, amikor kölcsön kell kérni
cout<<"Loversenyezes.Mikor kell eloszor kolcsonkerni?"<<endl<<endl;
beolvasas(N,P,X);
kolcsonkeres(N,P,X,Van,Nap);
kiiras(N,P,X,Van,Nap);
return 0;
}
void beolvasas(int &N,int P[],int &X){
do{
cout<<"Hany napig loversenyezunk? (0.."<<maxN<<")";
cin>>N;
}while (!((N>=0)&&(N<=maxN))); //napok szama csak nem negativ lehet
cout<<"Mennyi volt az indulo osszeg? "; //az előfeltétel nem írja elő, hogy csak pozitív adatot használhatunk
cin>>X;for (int i=0;i<N;++i){
cout<<i<<". napi nyereseg vagy veszteseg osszege FT-ban ";
cin>>P[i];
}
}
void kolcsonkeres(const int N,const int P[],const int X,bool &Van,int &Nap){
int S=0;
int i=0;
while ((i<N)&&((S+P[i])>=0)){
S+=P[i];
++i;
}
Van=(i<N);
if (Van){
Nap=i;
}}
void kiiras(const int N,const int P[],const int X,const bool Van, const int Nap ){
cout<<X<<" FT-unk volt kezdetben."<<endl;
cout<<"A verseny napjainak nyeresege es vesztesege..."<<endl;
for (int i=0;i<N;++i){
cout<<P[i]<<", ";
}
if (Van){
cout<<endl<<" Az elso nap, amikor kolcson kellett kerni a(z) " <<Nap<<"."<<endl;
}
else {
cout<<endl<<" Nem volt olyan nap, amikor kolcson kellett kerni..."<<endl;
}}
-
icespeak
csendes tag
Hellótok!
Segítséget szeretnék kérni egy program megírásához C++-ban. A lényeg hogy N napon át naponta feljegyeztük, hogy mennyit nyertünk vagy vesztettünk és ki kell számolni, hogy hetente mennyit változott a pénzünk. Ezen a feladaton keresztül szeretnék pár dolgot megtanulni a C++-ról szóval ha van tippetek szívesen fogadom.
Új hozzászólás Aktív témák
Hirdetés
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Megjelent a Poco F7, eurós ára is van már
- Pécs és környéke adok-veszek-beszélgetek
- Autós topik
- Milyen notebookot vegyek?
- Motoros topic
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Xbox Series X|S
- További aktív témák...
- Asus Zenbook flip13 2in1 touch screen
- Dell Latitude 5450 Intel Core Ultra 5 135U 4nm 32GB DDR5 érintőképernyős laptop Dell gari 2027.09.hó
- PlayStation 4/5 kontroller analóg cseréje HALL TMR érzékelősre, 1 év garancia!!! Nincs többé drift!!
- PlayStation 5/4 kontroller analóg cseréje HALL TMR érzékelősre, 1 év garancia!!! Nincs többé drift!!
- XBOX ONE/Series kontroller analóg cseréje HALL TMR érzékelősre, 1 év garancia!!! Nincs többé drift!!
- IPhone 15 128GB Zöld ÚJ! 12 Hó Jótállás!
- Bomba Ár! Dell Latitude 3190 - Intel N4120 I 4GB I 128GB SSD I 11,6" HD I Cam I W11 I Garancia!
- BANKMENTES részletfizetés Noblechairs HERO RL valódi bőr Gamer Szék
- AKCIÓ! ASUS ROG Zephyrus GA403UV Gamer notebook - R9 8945HS 16GB RAM 1TB SSD RTX 4060 8GB WIN11
- Prémium PC házak akár 20-40% kedvezménnyel eladók garanciával, számlával!
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged