Задача на седмицата

Задачата: Да се въведат данните за учениците в един клас (име, номер, среден успех), след което да се изведат сортирани по успех, като на първо място излиза ученика с най-висок успех, а на последно – този с най-нисък.

По-сложен вариант: За всеки ученик се въвеждат име, клас, номер, оценките по БЕЛ, Математика, Чужд език и Информатика, а компютъра сам пресмята средния успех при въвеждането на оценките.

 

Да помислим: Когато искаме да разменим стойностите на две променливи, например A и B, се използва трета променлива, която обикновено се кръщава temp, а самата размяна става така:

  1. Най-напред в temp се записва стойността на една от променливите, примерно на А, за да не я загубим;
  2. След това на А даваме стойността, която е записана в B;
  3. Накрая B получава стойността, която запомнихме в temp.

Или това изглежда така:

temp=A;
A=B;
B=temp;

? Как да направим размяната без да използваме трета променлива? Така ще спестим заделянето на памет за нея. (Този метод е приложим, когато променливите имат числови стойности.)

Публикувано в Задачи. Постоянна връзка.

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *