- Milyen videókártyát?
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- AMD Navi Radeon™ RX 9xxx sorozat
- Bambu Lab 3D nyomtatók
- Fujifilm X
- BIOS topic
- HiFi műszaki szemmel - sztereó hangrendszerek
- Milyen processzort vegyek?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Apple MacBook
Új hozzászólás Aktív témák
-
Tuostein
csendes tag
Sziasztok!
Van egy beadandóm és valamiért nem akar lefutni, hibát nem dob ki, csak simán kiakad! CodeBlocks-ban írom... tudom van jobb is... a debuggal arra jutottam hogy megakad a keres fgv-ben az if-es sorban. legalábbis oda rakta a sárga nyilat a debug..
A feladat: "Egy N résztvevőjű kutyaszépségversenyen M különböző szempont szerint pontoznak minden kutyát, s az eredményt a KUTYA(N,M) mátrix tartalmazza. Minden szempont alapján maximum MAX(I) pont adható (nem negatív egész szám). Az összetett versenyből automatikusan kiesik az a kutya, amely valamelyik kategóriában nem éri el a kategóriánként megadott alsó ponthatárt (MIN(I)). Készítsen C++ programot, amely megadja azt a kategóriát, ahol a legkevesebb kieső volt!"
És a kód:
#include <iostream>
using namespace std;
void beolvas(int&, int&, int*, int*, int**);
void keres(int&, int&, int*, int*, int**);
void kiir(int&, int&, int*);
int main()
{
int n,m;
cout << "Kutyaszepsegverseny" << endl << endl;
int *min, *max, *k;
int** kutya;
beolvas(n,m,max,min,kutya);//ellenőrzött beolvasás
k = new int[m];
keres(n,m,k,min,kutya);//legkevesebb kieső keresése
kiir(n,m,k);//az összes legkevesebb kieső kiírása
return 0;
}
void beolvas(int &n, int &m, int* max, int* min, int** kutya){
bool rossz=true;
string temp;
do {
cout << "Hany kutya szerepel (1-...): ";
cin >> n;
if (cin.fail()) {
cout << "Nem szamot adott meg!" << endl << "Adjon meg egy pozitiv egesz szamot!" << endl;
rossz=true;
}else {
rossz= (n<1);
if (rossz) {
cout << "Helytelen erteket adott meg!" << endl << "Adjon meg egy pozitiv egesz szamot!" << endl;
}
}
cin.clear(); getline (cin,temp,'\n');
}while (rossz);//kutyák számának (n) ellenőrzött beolvasása
do {
cout << endl <<"Hany szempontot pontoznak (1-...): ";
cin >> m;
if (cin.fail()) {
cout << "Nem szamot adott meg!" << endl << "Adjon meg egy pozitiv egesz szamot!" << endl;
rossz=true;
}else {
rossz= (m<1);
if (rossz) {
cout << "Helytelen erteket adott meg!" << endl << "Adjon meg egy pozitiv egesz szamot!" << endl;
}
}
cin.clear(); getline (cin,temp,'\n');
cout << endl;
}while (rossz);//szempontok számának (m) ellenőrzött beolvasása
max = new int[m];
for (int i=1; i<=m; i++){
do{
cout << i << ". szempont maximum ponthatara (2-...): "; cin >> max[i-1];
if (cin.fail()) {
cout << "Nem szamot adott meg!" << endl << "Adjon meg egy kettonel nagyobb egesz szamot!" << endl;
rossz=true;
}else {
rossz= (max[i-1]<2);
if (rossz) {
cout << "Helytelen erteket adott meg!" << endl << "Adjon meg egy kettonel nagyobb egesz szamot!" << endl;
}
}
cin.clear(); getline (cin,temp,'\n');
}while (rossz);
}//szempontok maximum ponthatára
min = new int[m];
for (int i=1; i<=m; i++){
do{
cout << i << ". szempont minimum ponthatara (0-" << max[i-1]-1 << "): "; cin >> min[i-1];
if (cin.fail()) {
cout << "Nem szamot adott meg!" << endl << "Adjon meg egy nem negativ szamot (0-" << max[i-1]-1 << ")!" << endl;
rossz=true;
}else {
rossz= ((min[i-1]<0) || (min[i-1]>=max[i-1]));
if (rossz) {
cout << "Helytelen erteket adott meg!" << endl << "Adjon meg egy nem negativ szamot (0-" << max[i-1]-1 << ")!" << endl;
}
}
cin.clear(); getline (cin,temp,'\n');
}while (rossz);
}//szempontok minimum ponthatára
kutya = new int*[n];
for (int i=1; i<=n; i++){
kutya[i-1] = new int[m];
}
for (int i=1; i<=n; i++){
for (int j=1; j<=m; j++){
do{
cout << i << ". kutya " << j << ". szempontra kapott pontja (maximum: " << max[j-1] << "): "; cin >> kutya[i-1][j-1];
if (cin.fail()) {
cout << "Nem szamot adott meg!" << endl << "Adjon meg egy nem negativ szamot (0-" << max[j-1] << ")!" << endl;
rossz=true;
}else {
rossz= ((kutya[i-1][j-1]<0) || (kutya[i-1][j-1]>max[j-1]));
if (rossz) {
cout << "Helytelen erteket adott meg!" << endl << "Adjon meg egy nem negativ szamot (0-" << max[j-1] << ")!" << endl;
}
}
cin.clear(); getline (cin,temp,'\n');
}while (rossz);
}
}
}
void keres(int &n, int &m, int* k, int* min, int** kutya){
for (int j=1; j<=m; j++){
k[j-1]=0;
for (int i=1; i<=n; i++){
if (kutya[i-1][j-1]<=min[j-1]) {
k[j-1]=k[j-1]+1;
}
}
}
}
void kiir(int &n, int &m, int* k){
int v=n;
for (int i=1; i<=m; i++){
if (k[i-1]<v) {
v=k[i-1];
}
}
if (v==0) {
for (int i=1; i<=m; i++){
if (k[i-1]==v) {
cout << i <<". szempont szerint nem volt kieső kutya!" << endl;
}
}
}else {
for (int i=1; i<=m; i++){
if (k[i-1]==v) {
cout << i <<". szempont szerint volt a legkevesebb kieső kutya!" << endl;
}
}
}
}Nagyon megköszönném a segítségeteket, mert már semmi ötletem sincs hogy miért nem megy!
üdv: Péter
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen videókártyát?
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Óra topik
- AMD Navi Radeon™ RX 9xxx sorozat
- Bambu Lab 3D nyomtatók
- Hálózati / IP kamera
- Xbox Classic / Xbox 360
- Samsung Galaxy S22 Ultra - na, kinél van toll?
- Milyen autót vegyek?
- exHWSW - Értünk mindenhez IS
- További aktív témák...
- Lenovo ThinkPad T14 3 Gen 16/256GB SSD, Újszerű, 1 Év Garanciával
- Xiaomi 15 Ultra 512GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Odyssey OLED G8! 32"/4k/240hz/0,03ms/10BIT/Freesync-G-sync/HDMI 2.1/Smart Monitor
- Új 512GB WD SN5000S Gen4 x4/ Steam Deck ready/ garancia/ ingyen fox
- i7 8700/ RX6500/ 32GB DDR4/ 512GB m.2/ garancia/ ingyen foxpost
- ÁRGARANCIA!Épített KomPhone i3 10105F 8/16/32GB RAM RX 6500 XT 4GB GAMER PC termékbeszámítással
- Realme 8i 64GB / Normál állapotban / 12 hónap jótállással
- Bomba ár! Dell Latitude 7320 - i5-11GEN I 8GB I 256SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
- Samsung Galaxy S22 Ultra , 8/128 GB , Kártyafüggetlen
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest