- Karaktere biztos lesz az első Nothing fejhallgatónak
- Samsung Galaxy A56 - megbízható középszerűség
- One mobilszolgáltatások
- Milyen okostelefont vegyek?
- Magisk
- Google Pixel 9 Pro XL - hét szűk esztendő
- Realme GT Master Edition - mestermunka
- Ilyen lesz a Fairphone 6
- Keretmentesít a Galaxy S25 FE
- Nem lett arányos a fogyókúra
Ú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!
- HP core i5-ös fémházas Folio 9470m kifogástalan állapotban!! AkciÓÓ!
- A legolcsóbb!!! Dell Latitude 6. gen. core i5-ös notebook olcsón!!!! AkciÓÓ!
- Olcsó Laptop! Dell Latitude 7280. I5 7300U / 8GB DDR4 / 256GB SSD
- MSI Thin GF63 12VF 15.6" FHD IPS 5-12450H RTX 4060 16GB 512GB NVMe magyar vbill gar
- Apple iPhone 16 Pro Max - Desert Titanium - 256GB 1 ciklus 100% akku! 1 év garancia! Új készülék!
- Bomba ár! HP EliteBook 830 G5 - i5-8G I 8GB I 256GB SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- Telefon felvásárlás!! Samsung Galaxy A70/Samsung Galaxy A71/Samsung Galaxy A72
- Bomba ár! HP Elitebook 850 G3 - i7-6GEN I 16GB I 256GB SSD I RadeonI 15,6" FHD I Cam I W11 I Gari!
- Samsung Galaxy A41 64GB Kártyafüggetlen, 1Év Garanciával
- Beszámítás! Apple Mac mini 2020 M1 8GB 256GB SSD számítógép garanciával, hibátlan működéssel
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest