Задачата: Да се въведат данните за учениците в един клас (име, номер, среден успех), след което да се изведат сортирани по успех, като на първо място излиза ученика с най-висок успех, а на последно – този с най-нисък.
По-сложен вариант: За всеки ученик се въвеждат име, клас, номер, оценките по БЕЛ, Математика, Чужд език и Информатика, а компютъра сам пресмята средния успех при въвеждането на оценките.
Да помислим: Когато искаме да разменим стойностите на две променливи, например A и B, се използва трета променлива, която обикновено се кръщава temp, а самата размяна става така:
- Най-напред в temp се записва стойността на една от променливите, примерно на А, за да не я загубим;
- След това на А даваме стойността, която е записана в B;
- Накрая B получава стойността, която запомнихме в temp.
Или това изглежда така:
temp=A;
A=B;
B=temp;
? Как да направим размяната без да използваме трета променлива? Така ще спестим заделянето на памет за нея. (Този метод е приложим, когато променливите имат числови стойности.)