לא מחשב נכון מטריצה בC++-בית קולנוע - עמוד 2 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

לא מחשב נכון מטריצה בC++-בית קולנוע


MrAlex

Recommended Posts

אז בוא תסביר מה עשית ב-main שלך.

לא השתמשתי בפונקצייה בונה

הגדרתי משתנה

הוצאתי פלט

הכנסתי קלט

הגדרתי אובייקט מסוג CINEMA

PEOPLE.NUBERPEOPLE -להשמיט שורה היא לא מחדשת דבר

יש פנייה והפעלת הפונקצייה INIT של האובייקט PEOPLE

יש פנייה והפעלת הפונקצייה GETEMPTYSPOT

איפוס חוצץ

משם זה ברור אני מקווה 0=

קישור לתוכן
שתף באתרים אחרים

אני יודע מה כתבת. אני לא מבין למה התכוונת.

א. אתה מפעיל את init. את זה הקונסטרקטור אמור לעשות.

ב. getEmptySpot - מה היא עושה?

ג. איפוס חוצץ???

א.לא חייבו אותי לעשות CONSTRUCTOR

ב.מחליפה את ה0 ל1

ג.כן זה אני מודה שלא ממש הבנתי

אולי טיפה יש את זה בשאלות של FAQ לשם שלחו אותי

מה שהבנתי שזה מאפס חוצץ בזיכרון שהוא מלא (buffer)אני צריך אותו כי החוצץ מלא ממה שהמשתמש כותב.

קישור לתוכן
שתף באתרים אחרים

א. לא חייבים - יש constructor ברירת מחדל. אבל חשוב להבין מה זה אומר כשלא כותבים אחד והאם אתה צריך אחד.

ב. מחליף איפה? מה התוכנית צריכה לעשות?

ג. כשאתה משתמש ב-cout ולא ב-printf, הבאפר מתנקה לבד כשאתה כותב endl.

קישור לתוכן
שתף באתרים אחרים

א. לא חייבים - יש constructor ברירת מחדל. אבל חשוב להבין מה זה אומר כשלא כותבים אחד והאם אתה צריך אחד.

ב. מחליף איפה? מה התוכנית צריכה לעשות?

ג. כשאתה משתמש ב-cout ולא ב-printf, הבאפר מתנקה לבד כשאתה כותב endl.

א.תסביר אןלי אני יודע למה אתה מתכוון 0=

ב.התוכנית צריכה לקבל מספר אנשים

ולמצוא להם מקום

0-מקום פנוי

1-מקום תפוס

נגיד והאולם כרגע כך:

0 0 0

0 0 0

0 0 0

וביקשו 2 מקומות

אז הוא צרךי להפוך לזה

1 1 0

0 0 0

0 0 0

חובה שהם ישבו רצוף

ולא אחד פה אחד שם....

ג.חידשת לי הולך ליבדוק מה זה :P

קישור לתוכן
שתף באתרים אחרים

שים לב שאתה לא בכיוון בכלל.

בגלל השעה המאוחרת אני אתן לך פיתרון כללי שכתבתי. תנסה להבין טוב טוב מה הולך שם ותראה איך אתה מתאים אותו כך שיעבוד טוב על פי

הדרישות שלך.

מחר אני עושה לך על זה מבחן ;)

הנה מחלקה שמיצגת אולם קולנוע:



#include <iostream>


using namespace std;


#define ROWS 4
#define COLS 4


class Cinema{


private:
int seats[ROWS][COLS];
int freeSeats;


public:
Cinema();
void print();
int getEmptySpaces();
bool addPeople(int numOfPeople);
};


Cinema::Cinema()
{
freeSeats = ROWS * COLS;
for (int i=0; i<ROWS;i++)
{
for (int j=0; j<COLS; j++)
{
seats[i][j] = 0;
}
}
}


void Cinema::print()
{
for (int i=0; i<ROWS;i++)
{
for (int j=0; j<COLS; j++)
{
cout << seats[i][j] << " ";
}
cout << endl;
}
}


int Cinema::getEmptySpaces()
{
return freeSeats;
}


bool Cinema::addPeople(int numOfPeople)
{
if (numOfPeople > freeSeats)
{
return false;
}
int count = 0;
for (int i=0; i<ROWS;i++)
{
for (int j=0; j<COLS; j++)
{
if (seats[i][j] == 0)
{
seats[i][j]++;
count++;
if (count == numOfPeople)
{
return true;
}
}
}
cout << endl;
}
return false; //unreachable code
}

קישור לתוכן
שתף באתרים אחרים

שים לב שאתה לא בכיוון בכלל.

בגלל השעה המאוחרת אני אתן לך פיתרון כללי שכתבתי. תנסה להבין טוב טוב מה הולך שם ותראה איך אתה מתאים אותו כך שיעבוד טוב על פי

הדרישות שלך.

מחר אני עושה לך על זה מבחן ;)

הנה מחלקה שמיצגת אולם קולנוע:



#include <iostream>


using namespace std;


#define ROWS 4
#define COLS 4


class Cinema{


private:
int seats[ROWS][COLS];
int freeSeats;


public:
Cinema();
void print();
int getEmptySpaces();
bool addPeople(int numOfPeople);
};


Cinema::Cinema()
{
freeSeats = ROWS * COLS;
for (int i=0; i<ROWS;i++)
{
for (int j=0; j<COLS; j++)
{
seats[i][j] = 0;
}
}
}


void Cinema::print()
{
for (int i=0; i<ROWS;i++)
{
for (int j=0; j<COLS; j++)
{
cout << seats[i][j] << " ";
}
cout << endl;
}
}


int Cinema::getEmptySpaces()
{
return freeSeats;
}


bool Cinema::addPeople(int numOfPeople)
{
if (numOfPeople > freeSeats)
{
return false;
}
int count = 0;
for (int i=0; i<ROWS;i++)
{
for (int j=0; j<COLS; j++)
{
if (seats[i][j] == 0)
{
seats[i][j]++;
count++;
if (count == numOfPeople)
{
return true;
}
}
}
cout << endl;
}
return false; //unreachable code
}

כן המורה!

קישור לתוכן
שתף באתרים אחרים

סליחה על ההקפצה אבל אני חייב לעשות את זה ><":

אני ממש מודה לכל מי שעזר לי פה

ממש עזרתם לי

אני מאוד מודה לכם

אחרי כמה ימים הבנתי את הטעות שלי ><"

תוכנית ממש פשוטה ועשיתי לעצמי יותר מדי בעיות xD

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...