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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для заполнСния экзамСнационной вСдомости

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π‘Ρ€Π°Π²Π½ΠΈΡ‚ΡŒ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты с ΠΎΠΏΠΎΡ€Π½Ρ‹ΠΌ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ сравнСния Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ мноТСство Π½Π° Ρ‚Ρ€ΠΈ — «ΠΌΠ΅Π½ΡŒΡˆΠΈΠ΅ ΠΎΠΏΠΎΡ€Π½ΠΎΠ³ΠΎ», «Ρ€Π°Π²Π½Ρ‹Π΅» ΠΈ «Π±ΠΎΠ»ΡŒΡˆΠΈΠ΅», Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅ мСньшиС-Ρ€Π°Π²Π½Ρ‹Π΅-большиС. Π˜ΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° string: пСрвая — name, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°, вторая — prepod, которая содСрТит ЀИО прСподаватСля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π΅Ρ‚ этот ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для заполнСния экзамСнационной вСдомости (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • 1. ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ
  • 2. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°
  • 3. ОписаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
  • 4. Π‘Π»ΠΎΠΊ — схСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • 5. ВСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • 6. ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • C++ - это ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ языка Π‘ Π·Π°Π΄Π°Ρ‡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (Object Oriented Programming, OOP). ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½Π½Ρ‹ΠΉ Π½Π° Ρ‚Π²Π΅Ρ€Π΄ΠΎΠΌ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π΅ Π‘, Π‘++ ΠΏΠΎΠΌΠΈΠΌΠΎ ООР ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… инструмСнтов, Π½Π΅ ΠΆΠ΅Ρ€Ρ‚вуя ΠΏΡ€ΠΈ этом Π½ΠΈ ΠΌΠΎΡ‰ΡŒΡŽ, Π½ΠΈ ΡΠ»Π΅Π³Π°Π½Ρ‚Π½ΠΎΡΡ‚ΡŒΡŽ, Π½ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒΡŽ Π‘. Π‘++ ΡƒΠΆΠ΅ стал ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ языком для программистов всСго ΠΌΠΈΡ€Π°.
  • C++ - ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык программирования, Π·Π°Π΄ΡƒΠΌΠ°Π½Π½Ρ‹ΠΉ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ приятным для ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠ³ΠΎ программиста. Π—Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ второстСпСнных Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ C++ являСтся надмноТСством языка программирования C. Помимо возмоТностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°Π΅Ρ‚ C, C++ прСдоставляСт Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ срСдства опрСдСлСния Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ опрСдСлСния Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ… концСпциям прилоТСния, программист ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŽ части. Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ построСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ абстракциСй Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… содСрТится Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… Ρ‚ΠΈΠΏΠΎΠ², ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π’Π°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ просты ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ Π² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π² Ρ‚Π΅Ρ… ситуациях, ΠΊΠΎΠ³Π΄Π° ΠΈΡ… Ρ‚ΠΈΠΏ нСльзя ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° ΡΡ‚Π°Π΄ΠΈΠΈ компиляции. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π°ΠΊΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ. ΠŸΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ использовании этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅, ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Π΅ ΠΈ Π»Π΅Π³Ρ‡Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
  • 1. ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ
  • Π’ Π΄Π΅ΠΊΠ°Π½Π°Ρ‚Π΅ Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ списки студСнтов Ρ€Π°Π·Π½Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ. Π’ ΡΠ΅ΡΡΠΈΡŽ сотрудники Π΄Π΅ΠΊΠ°Π½Π°Ρ‚Π° ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽΡ‚ вСдомости для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ дисциплины для сдачи студСнтами экзамСнов ΠΈ Π·Π°Ρ‡Π΅Ρ‚ΠΎΠ². ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΠ΅ вСдомости для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎ Π²ΡΠ΅ΠΌ дисциплинам с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ„ΠΎΡ€ΠΌΡ‹ контроля (Π·Π°Ρ‡Π΅Ρ‚, экзамСн). Бписки студСнтов ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρƒ.
  • 2. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°
  • ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Π΅Π΄ΠΎΠΌΠΎΡΡ‚ΡŒ студСнт Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ
  • Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Ρ‹Π»ΠΈ созданы Π΄Π²Π΅ структуры.
  • Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для логичСского объСдинСния Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² string ΠΈ int. ΠΈ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ массивы слуТат для группирования Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.
  • Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° groups Π·Π°Π΄Π°Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:
  • struct groups{
  • string name;colStudents;string fioStudents[50]; };
  • Π’ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π΅ groups созданы Ρ‚Ρ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ — name Ρ‚ΠΈΠΏΠ° string, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹, colStudent Ρ‚ΠΈΠΏΠ° int, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΡƒΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π΅ студСнтов Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΈ fioStudents Ρ‚ΠΈΠΏΠ° string, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π°Ρ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ„амилиях студСнтов. Доступ ΠΊ ΠΏΠΎΠ»ΡΠΌ структуры осущСствляСтся посрСдством ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. (Ρ‚ΠΎΡ‡ΠΊΠ°).
  • arrG[i]. name;
  • arrG[i].colStudents;
  • arrG[i].ftoStudents[j];
  • Аналогичной являСтся структура predmets
  • struct predmets {
  • string name;string prepod;};
  • Π˜ΠΌΠ΅Π΅Ρ‚ Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° string: пСрвая — name, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°, вторая — prepod, которая содСрТит ЀИО прСподаватСля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π΅Ρ‚ этот ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚.
  • Для сортировки массива ΠΏΠΎ Ρ„амилиям студСнтов Π±Ρ‹Π»Π° Π²Ρ‹Π±Ρ€Π°Π½Π° быстрая сортировка.
  • Быстрая сортировка (Π°Π½Π³Π». quicksort), часто называСмая qsort ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ языка Π‘ΠΈ — ΡˆΠΈΡ€ΠΎΠΊΠΎ извСстный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сортировки, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ английским ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΌ Π§Π°Ρ€Π»ΡŒΠ·ΠΎΠΌ Π₯ΠΎΠ°Ρ€ΠΎΠΌ Π² ΠœΠ“Π£ Π² 1960 Π³ΠΎΠ΄Ρƒ. Один ΠΈΠ· Π±Ρ‹ΡΡ‚Ρ€Ρ‹Ρ… извСстных ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² сортировки массивов (Π² ΡΡ€Π΅Π΄Π½Π΅ΠΌ O (n log n) ΠΎΠ±ΠΌΠ΅Π½ΠΎΠ² ΠΏΡ€ΠΈ упорядочСнии n элСмСнтов.
  • ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° быстрой сортировки:
  • Β· Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ элСмСнт, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΎΠΏΠΎΡ€Π½Ρ‹ΠΌ.
  • Β· ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты с ΠΎΠΏΠΎΡ€Π½Ρ‹ΠΌ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ сравнСния Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ мноТСство Π½Π° Ρ‚Ρ€ΠΈ — «ΠΌΠ΅Π½ΡŒΡˆΠΈΠ΅ ΠΎΠΏΠΎΡ€Π½ΠΎΠ³ΠΎ», «Ρ€Π°Π²Π½Ρ‹Π΅» ΠΈ «Π±ΠΎΠ»ΡŒΡˆΠΈΠ΅», Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΏΠΎΡ€ΡΠ΄ΠΊΠ΅ мСньшиС-Ρ€Π°Π²Π½Ρ‹Π΅-большиС.
  • Β· ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ рСкурсивно для «ΠΌΠ΅Π½ΡŒΡˆΠΈΡ…» ΠΈ «Π±ΠΎΠ»ΡŒΡˆΠΈΡ…» .
  • Для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½ Π΄ΠΈΠ°Π»ΠΎΠ³Π° с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° вСдомостСй Π±Ρ‹Π» использован ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ cout.
  • Π”ΠΈΠ°Π»ΠΎΠ³ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π±Ρ‹Π» осущСствлСн посрСдством ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ условий поиска «Π½ΡƒΠΆΠ½ΠΎΠΉ» вСдомости. ПослС Ρ‡Π΅Π³ΠΎ Π½Π° ΡΠΊΡ€Π°Π½ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ искомая Π²Π΅Π΄ΠΎΠΌΠΎΡΡ‚ΡŒ, послС просмотра ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ поиска вСдомости.
  • Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ нСустойчив. ПовСдСниС довольно СстСствСнно, Ссли ΡƒΡ‡Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ частичной упорядочСнности ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‚ΡŒΡΡ ΡˆΠ°Π½ΡΡ‹ раздСлСния массива Π½Π° Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π²Π½Ρ‹Π΅ части.
  • Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π΄ΡŒΠ½Π°Ρ Π³Π»ΡƒΠ±ΠΈΠ½Π° рСкурсии составляСт O (log n), Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½Ρ… ΠΏΠΎΠ΄Π²Ρ‹Π·ΠΎΠ²Π°Ρ… ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² ΡΡ‚Π΅ΠΊ.
  • 3. ОписаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
  • 1.Ѐункция Π²Π²ΠΎΠ΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΌΠ°ΡΡΠΈΠ²Ρ‹.
  • На Π²Ρ…ΠΎΠ΄Π΅:
  • Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° ΠΌΠ°ΡΡΠΈΠ²Ρ‹ содСрТащий ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ элСмСнты, количСство элСмСнтов Π² ΠΌΠ°ΡΡΠΈΠ²Π΅.
  • По ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌ всС элСмСнты массивов.
  • 2. Ѐункция сортировки quickSort.
  • Ѐункция сортируСт список Ρ„Π°ΠΌΠΈΠ»ΠΈΠΉ Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС ΠΏΡ€ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ вСдомости.
  • 3. Ѐункция опрСдСлСния Π½ΠΎΠΌΠ΅Ρ€Π° для Π²Ρ‹Π±ΠΎΡ€Π° Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹/ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°/Ρ„ΠΎΡ€ΠΌΡ‹ контроля ΠΈ Ρ‚. Π΄.
  • На Π²Ρ…ΠΎΠ΄Π΅: Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΌΠ°ΡΡΠΈΠ², Ρ‚Ρ€ΠΈ цСлочислСнных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ присвоСнныС названиям Π³Ρ€ΡƒΠΏΠΏ/ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ²/Ρ„ΠΎΡ€ΠΌΡ‹ контроля
  • Пока Π½Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠΌ просмотр вСдомостСй, повторяСм Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° ΡΠΊΡ€Π°Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° while. ВсС Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ с Ρ„Π°ΠΉΠ»Π°. Π’ Ρ„Π°ΠΉΠ»Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ количСство Π³Ρ€ΡƒΠΏΠΏ, ΠΈΡ… Π½Π°Π·Π²Π°Π½ΠΈΡ, ΡΠ΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΈΠΌΠΈ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹ ΠΈ Ρ„ΠΎΡ€ΠΌΠ° контроля (экзамСн/Π·Π°Ρ‡Π΅Ρ‚) ΠΏΠΎ ΡΡ‚ΠΈΠΌ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°ΠΌ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… заполняСтся Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ массив. Π”Π°Π»Π΅Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Π²Ρ‹Π±ΠΎΡ€ Π½ΡƒΠΆΠ½Ρ‹Ρ… Π½Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… для вСдомости. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π½Π°ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΈ ΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π²Π΅Π΄ΠΎΠΌΠΎΡΡ‚ΡŒ.
  • На Π²Ρ‹Ρ…ΠΎΠ΄Π΅: ЗачСтная/ЭкзамСнационная Π²Π΅Π΄ΠΎΠΌΠΎΡΡ‚ΡŒ, заполнСнная Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ².
  • 4. Π‘Π»ΠΎΠΊ — схСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • 5. ВСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • Для Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ вСдомости Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ условия Π²Ρ‹Π±ΠΎΡ€Π°. Для этого Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ вСдомости (Π·Π°Ρ‡Π΅Ρ‚/экзамСн), Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΈ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚.
  • Рисунок 1.
  • ПослС Π²Ρ‹Π±ΠΎΡ€Π° всСх ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² поиска Π½Π° ΡΠΊΡ€Π°Π½ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ искомая Π²Π΅Π΄ΠΎΠΌΠΎΡΡ‚ΡŒ.
  • Рисунок 2.
  • 6. ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • #include «stdafx.h»
  • #include
  • #include
  • #include
  • using namespace std;
  • struct groups
  • {
  • string name;
  • int colStudents;
  • string fioStudents[50];
  • };
  • struct predmets
  • {
  • string name;
  • string prepod;
  • };
  • #include
  • using namespace std;
  • void quickSort (string arr[], int left, int right) {
  • int i = left, j = right;
  • string tmp;
  • string pivot = arr[(left + right) / 2];
  • /* partition */
  • while (i <= j) {
  • while (arr[i] < pivot)
  • i++;
  • while (arr[j] > pivot)
  • j—;
  • if (i <= j) {
  • tmp = arr[i];
  • arr[i] = arr[j];
  • arr[j] = tmp;
  • i++;
  • j—;
  • }
  • };
  • /* recursion */
  • if (left < j)
  • quickSort (arr, left, j);
  • if (i < right)
  • quickSort (arr, i, right);
  • }
  • int main ()
  • {
  • setlocale (0," Rus");
  • int i, j, nGroups, nPredmets, group, predmet, tmp;
  • string typeVed;
  • ifstream in («groups.txt», ios: in);
  • ifstream in2(«predmets.txt», ios: in);
  • in>>nGroups;
  • groups *arrG = new groups[nGroups];
  • for (i=0; i
  • {
  • in>>arrG[i]. name;
  • in>>arrG[i].colStudents;
  • for (j=0; j
  • {
  • in>>arrG[i]. fioStudents[j];
  • }
  • cout<<" Π“Ρ€ΡƒΠΏΠΏΠ° «<<<» ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ сохранСна!" <
  • }
  • for (i=0; i
  • quickSort (arrG[i]. fioStudents, 0, arrG[i]. colStudents-1);
  • }
  • in2>>nPredmets;
  • predmets *arrP = new predmets[nPredmets];
  • for (i=0; i
  • {
  • in2>>arrP[i]. name;
  • in2>>arrP[i].prepod;
  • cout<<" ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚ «<<<» ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ сохранён!" <
  • }
  • while (true)
  • {
  • cout<<" nnΠ’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏ вСдомости: nn0 — Π·Π°Ρ‡Ρ‘Ρ‚n1 — экзамСнnn: «; cin>>tmp;
  • if (tmp) typeVed = „экзамСн“; else typeVed = „Π·Π°Ρ‡Ρ‘Ρ‚“ ;
  • cout<<» nΠ“Ρ€ΡƒΠΏΠΏΡ‹ ΡΠ΄Π°ΡŽΡ‰ΠΈΠ΅ «<<» n" <
  • for (i=0; i
  • {
  • cout<<": «<<
  • }
  • cout<<» nΠ’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π³Ρ€ΡƒΠΏΠΏΡƒ, ΡΠ΄Π°ΡŽΡ‰ΡƒΡŽ «<<» nn: «; cin>>group;
  • cout<<» nΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сдаСт Π³Ρ€ΡƒΠΏΠΏΠ° «<<<» n" <
  • for (i=0; i
  • {
  • cout<<": «<<
  • }
  • cout<<» nΠ’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сдаёт Π³Ρ€ΡƒΠΏΠΏΠ° «<<<» nn: «; cin>>predmet;
  • system („cls“);
  • if (typeVed=="экзамСн») cout<<" n________________________________________________________________________________nttt Π­ΠšΠ—ΠΠœΠ•ΠΠΠ¦Π˜ΠžΠΠΠΠ― Π’Π•Π”ΠžΠœΠžΠ‘Π’Π¬n________________________________________________________________________________" <<<" n________________________________________________________________________________nttt ЗАЧЕВНАЯ Π’Π•Π”ΠžΠœΠžΠ‘Π’Π¬n________________________________________________________________________________" <
  • cout<<" ntΠ“Π Π£ΠŸΠŸΠ: «<<<» tΠŸΠ Π•Π”ΠœΠ•Π’: «<<<» tΠŸΠ Π•ΠŸΠžΠ”ΠžΠ’ΠΠ’Π•Π›Π¬: «<<
  • cout<<» n________________________________________________________________________________" <
  • cout<<" t Π€Π˜Πžtt| β„– Π—Π°Ρ‡. ΠΊΠ½ΠΈΠΆΠΊΠΈt| ΠžΡ†Π΅Π½ΠΊΠ°t| Подпись экзамСнатора" <
  • cout<<" ________________________________________________________________________________" <
  • for (j=0; j
  • tt
  • cout<<" ________________________________________________________________________________" <
  • cout<<" Π˜Ρ‚ΠΎΠ³ΠΎ:" <
  • cout<<" ttΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ: ______________________________" <
  • cout<<" ttΠ₯ΠΎΡ€ΠΎΡˆΠΎ: _______________________________" <
  • cout<<" ttΠ£Π΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ: ____________________" <
  • cout<<" ttΠΠ΅ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ: __________________" <
  • cout<<" ttНСявка: _______________________________n" <
  • system («pause»);
  • }
  • system («pause»);
  • return 0;
  • }
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ