ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° языкС Π‘++

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ ΠšΡƒΠΏΠΈΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ Π£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠžΡ‡ΠΈΡΡ‚ΠΈΠΌ стСки ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠΉ. Π’Ρ‹Π΄Π΅Π»ΠΈΠΌ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ Ρ†Π²Π΅Ρ‚Π°. ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅ Π½Π° ΡΠΊΡ€Π°Π½Π΅. Π˜Π½Π°Ρ‡Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ сообщСниС. Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π΅Π³ΠΎ Π½Π° ΡΠΊΡ€Π°Π½. While ((StartY <1) — (StartY> W)); While ((StartX <1) — (StartX> W)); For (int j = 0; j < H; j++) colors = 0; Π”ΠžΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΅Ρ‘ ΠΊ ΠΏΡƒΡ‚ΠΈ. CField *f = new CField («File.txt»); Пока стСки Π½Π΅ ΠΏΡƒΡΡ‚Ρ‹. Если ΠΏΡƒΡ‚ΡŒ Π½Π°ΠΉΠ΄Π΅Π½, Ρ‚ΠΎ. For (i = 0; i < W; i++) delete m_Pts; While (!WayY.empty… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° языкС Π‘++ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • Руководство программиста Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
  • Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников
  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ А. Π‘Π»ΠΎΠΊ-схСмы
  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π‘. ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π’. ВСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

push (X);

WayY.push (Y);

//Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ успСх

return true;

}

//Π—Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌ Ρ‚ΠΎΡ‡ΠΊΡƒ

colors[X][Y] = 1;

//Π”ΠžΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΅Ρ‘ ΠΊ ΠΏΡƒΡ‚ΠΈ

WayX.push (X);

WayY.push (Y);

//Π—Π°Π²ΠΎΠ΄ΠΈΠΌ Π΄Π²Π° стСка — для Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠΉ

stack Px;

stack Py;

//ΠžΡ‡ΠΈΡΡ‚ΠΈΠΌ стСки ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠΉ

while (!PossibleXs.empty ()) PossibleXs. pop ();

while (!PossibleYs.empty ()) PossibleYs. pop ();

//Π—Π°ΠΏΠΎΠ»Π½ΠΈΠΌ ΠΈΡ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌΠΈ ΠΈΠ· ΡƒΠΊΠ°ΠΆΠ°Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ

AddPossibleWaysToStack (X, Y);

//ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΠΌ нашим Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ стСкам

Px = PossibleXs;

Py = PossibleYs;

//Пока стСки Π½Π΅ ΠΏΡƒΡΡ‚Ρ‹

while (!Px.empty ())

{

//ИзвлСкаСм Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡƒΡ‚ΡŒ ΠΈΠ· Π½ΠΈΡ…

if (Search (Px.top (), Py. top ()))

{

return true;

}

//Π£Π±ΠΈΡ€Π°Π΅ΠΌ элСмСнты с Π²Π΅Ρ€ΡˆΠΈΠΌ стСков

Px.pop ();

Py.pop ();

}

//Π£Π±ΠΈΡ€Π°Π΅ΠΌ элСмСнты ΠΈΠ· ΠΏΡƒΡ‚ΠΈ

WayX.pop ();

WayY.pop ();

//Π‘Π½ΠΈΠΌΠ°Π΅ΠΌ Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΠ΅ с Ρ‚ΠΎΡ‡ΠΊΠΈ

colors[X][Y] = 0;

//Π’Π΅Ρ€Π½Π΅ΠΌ Π½Π΅ΡƒΠ΄Π°Ρ‡Ρƒ — Π½Π°ΠΉΡ‚ΠΈ ΠΏΡƒΡ‚ΡŒ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ.

return false;

}

public:

//ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€

CField (char* filename)

{

m_Pts = 0;

colors = 0;

LoadFromFile (filename);

}

//ДСструктор

~CField ()

{

if (m_Pts)

{

int i;

for (i = 0; i < W; i++) delete [] m_Pts[i];

delete [] m_Pts;

}

}

//ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅ Π½Π° ΡΠΊΡ€Π°Π½Π΅

void ShowField ()

{

cout<<

int i, j;

for (i = 0; i < W; i++)

{

for (j = 0; j < H; j++)

{

if (m_Pts[i][j]. ps == ps_close) cout<<" X"; else cout<<" O" ;

}

cout<

}

cout<

}

//Найти ΠΏΡƒΡ‚ΡŒ

void FindWay ()

{

//Π’Π²ΠΎΠ΄ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ‚ΠΎΡ‡Π΅ΠΊ

do

{

cout<<<"):" <

cin>>StartX;

} while ((StartX < 1) — (StartX > W));

do

{

cout<<<"):" <

cin>>StartY;

} while ((StartY < 1) — (StartY > W));

do

{

cout<<<"):" <

cin>>EndX;

} while ((EndX < 1) — (EndX > W));

do

{

cout<<<"):" <

cin>>EndY;

} while ((EndY < 1) — (EndY > W));

//ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π΅Ρ€ΡƒΠ΅ΠΌ ΠΏΡƒΡ‚ΡŒ

StartX—;

EndX—;

StartY—;

EndY—;

//ΠžΡ‡ΠΈΡΡ‚ΠΈΠΌ стСк ΠΏΡƒΡ‚ΠΈ

while (!WayX.empty ()) WayX. pop ();

while (!WayY.empty ()) WayY. pop ();

//Π’Ρ‹Π΄Π΅Π»ΠΈΠΌ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ Ρ†Π²Π΅Ρ‚Π°

colors = new int*[W];

int i;

for (i = 0; i < W; i++)

{

colors[i] = new int[H];

for (int j = 0; j < H; j++) colors[i][j] = 0;

}

//Если ΠΏΡƒΡ‚ΡŒ Π½Π°ΠΉΠ΄Π΅Π½, Ρ‚ΠΎ

if (Search (StartX, StartY))

{

//Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π΅Π³ΠΎ Π½Π° ΡΠΊΡ€Π°Π½

cout<<

while (!WayX.empty ())

{

cout<<" («<<<», «<<<») «;

WayX.pop ();

WayY.pop ();

}

cout<

}

else

{

//ΠΈΠ½Π°Ρ‡Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ сообщСниС.

cout<<

}

}

};

int main ()

{

//Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ наш Π»Π°Π±ΠΈΡ€ΠΈΠ½Ρ‚ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°

CField *f = new CField («File.txt»);

char inp = 0; //символ

do

{

//Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ мСню

cout<

//ΠΆΠ΄Ρ‘ΠΌ Π²Π²ΠΎΠ΄Π°

inp = getch ();

//ΠžΡ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π²Π²ΠΎΠ΄.

if (inp == '1') f->ShowField ();

if (inp == '2') f->FindWay ();

} while (inp ≠ '3');

delete f;

return 0;

}

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π’. ВСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΌ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню:

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ этот ΠΏΡƒΠ½ΠΊΡ‚ снова.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠΌ Π²Π²ΠΎΠ΄Π΅ числа:

Если число ввСсти Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ ввСсти Π΅Π³ΠΎ ΠΆΠ΅.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст

Бписок Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

  1. Π‘. Π‘. ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C++: ΠŸΠ΅Ρ€. Ρ Π°Π½Π³Π». — Πœ.: Π’ΠΈΠ»ΡŒΡΠΌΡ, 2002. — 256 с.
  2. Π‘. Π‘., Π›Π°ΠΆΠΎΠΉΠ΅ Π–. Π―Π·Ρ‹ΠΊ программирования Π‘++. Π’Π²ΠΎΠ΄Π½Ρ‹ΠΉ курс: ΠŸΠ΅Ρ€. Ρ Π°Π½Π³Π». — 3-Π΅ ΠΈΠ·Π΄. — Πœ.: Π”ΠœΠš, 2001. — 1104 с.
  3. . Π―Π·Ρ‹ΠΊ программирования C++: ΠŸΠ΅Ρ€. Ρ Π°Π½Π³Π». — 3-Π΅ спСц. ΠΈΠ·Π΄. — Πœ.: Π‘ΠΈΠ½ΠΎΠΌ, 2003. — 1104 с.
  4. . Π”ΠΈΠ·Π°ΠΉΠ½ ΠΈ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΡ языка C++. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования: ΠŸΠ΅Ρ€. Ρ Π°Π½Π³Π». — Πœ.: Π”ΠœΠš прСсс, ΠŸΠΈΡ‚Π΅Ρ€, 2006. — 448 с.
  5. . Ѐилософия C++. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ C++: ΠŸΠ΅Ρ€. Ρ Π°Π½Π³Π». — 2-Π΅ ΠΈΠ·Π΄. — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2004. — 572 с.
  6. ., Эллисон Π§. Ѐилософия C++. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: ΠŸΠ΅Ρ€. Ρ Π°Π½Π³Π». — Π‘Пб.: ΠŸΠΈΡ‚Π΅Ρ€, 2004. — 608 с.
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ
ΠšΡƒΠΏΠΈΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ

Π˜Π›Π˜