ะ’ะธั€ั–ัˆะตะฝะพ: ะพั‚ั€ะธะผะฐั‚ะธ pid c

ะทะฒะธั‡ะฐะนะฝะพ! ะžััŒ ะทะฐะฟะธั‚ะฐะฝะฐ ะฒะฐะผะธ ัั‚ะฐั‚ั‚ั:

ะ ะพะทัƒะผั–ะฝะฝั ัะบะปะฐะดะฝะพัั‚ั– ั–ะดะตะฝั‚ะธั„ั–ะบะฐั†ั–ั— ะฟั€ะพั†ะตััƒ ั” ะพะฑะพะฒโ€™ัะทะบะพะฒะธะผ ะฐัะฟะตะบั‚ะพะผ ั‚ะตะปะตะผะตั‚ั€ะธั‡ะฝะพะณะพ ะผะพะฝั–ั‚ะพั€ะธะฝะณัƒ ะฟั€ะธ ะฟั€ะพะตะบั‚ัƒะฒะฐะฝะฝั– ัะธัั‚ะตะผะธ. ะ†ะดะตะฝั‚ะธั„ั–ะบะฐั‚ะพั€ ะฟั€ะพั†ะตััƒ (PID) โ€” ั†ะต ัƒะฝั–ะบะฐะปัŒะฝะธะน ะฝะพะผะตั€, ัะบะธะน ะฟั€ะธัะฒะพัŽั”ั‚ัŒัั ะบะพะถะฝะพะผัƒ ะฟั€ะพั†ะตััƒ, ะบะพะปะธ ะฒั–ะฝ ะทะฐะฟัƒัะบะฐั”ั‚ัŒัั ะฒ Unix-ะฟะพะดั–ะฑะฝะธั… ัะธัั‚ะตะผะฐั…, ั‚ะฐะบะธั… ัะบ ั‚ั–, ั‰ะพ ะฟะพะฑัƒะดะพะฒะฐะฝั– ะฝะฐ ะผะพะฒั– C.

ะžะดะฝั–ั”ัŽ ะท ั„ัƒะฝะบั†ั–ะน, ะฟั€ะธะทะฝะฐั‡ะตะฝะธั… ะดะปั ะพั‚ั€ะธะผะฐะฝะฝั PID, ั” ั„ัƒะฝะบั†ั–ั getpid. ะกะธะฝั‚ะฐะบัะธั ะดะพัะธั‚ัŒ ะฟั€ะพัั‚ะธะน, ะพัะบั–ะปัŒะบะธ ะฒั–ะฝ ะฝะต ะฒะธะผะฐะณะฐั” ะถะพะดะฝะธั… ะฟะฐั€ะฐะผะตั‚ั€ั–ะฒ, ั–, ัƒ ัะฒะพัŽ ั‡ะตั€ะณัƒ, ะฒั–ะฝ ะฟั€ะพัั‚ะพ ะฟะพะฒะตั€ั‚ะฐั” ั†ั–ะปะต ะทะฝะฐั‡ะตะฝะฝั, ั‰ะพ ะฟั€ะตะดัั‚ะฐะฒะปัั” PID ะฟะพั‚ะพั‡ะฝะพะณะพ ะฟั€ะพั†ะตััƒ. ะขะตะฟะตั€ ะดะฐะฒะฐะนั‚ะต ะณะปะธะฑัˆะต ะทะฐะฝัƒั€ะธะผะพัั ะฒ ั‚ะต, ัะบ ะฟั€ะพะณั€ะฐะผะฝะพ ะพั‚ั€ะธะผะฐั‚ะธ PID ัƒ C.

    #include <stdio.h>
    #include <unistd.h>

    int main() {
        printf("The process ID is %dn", getpid());
        return 0;
    }

ะŸั–ัะปั ะฒะบะปัŽั‡ะตะฝะฝั ะฝะตะพะฑั…ั–ะดะฝะธั… ะฑั–ะฑะปั–ะพั‚ะตะบ ะผะธ ะฒะธะทะฝะฐั‡ะธะปะธ ะพัะฝะพะฒะฝัƒ ั„ัƒะฝะบั†ั–ัŽ. ะฃัะตั€ะตะดะธะฝั– ะพัะฝะพะฒะฝะพั— ั„ัƒะฝะบั†ั–ั— ะผะธ ะผะฐั”ะผะพ ะฟั€ะพัั‚ัƒ ะบะพะผะฐะฝะดัƒ printf, ัะบะฐ ะฒะธะฒะพะดะธั‚ัŒ ยซะ†ะดะตะฝั‚ะธั„ั–ะบะฐั‚ะพั€ ะฟั€ะพั†ะตััƒ ั”ยป, ะฐ ะฟะพั‚ั–ะผ ั„ะฐะบั‚ะธั‡ะฝะธะน PID, ัะบะธะน ะพั‚ั€ะธะผัƒั”ั‚ัŒัั ะทะฐ ะดะพะฟะพะผะพะณะพัŽ ั„ัƒะฝะบั†ั–ั— getpid.

ะ’ะฐะถะปะธะฒั–ัั‚ัŒ ั–ะดะตะฝั‚ะธั„ั–ะบะฐั†ั–ั— ะฟั€ะพั†ะตััƒ

ะ†ะดะตะฝั‚ะธั„ั–ะบะฐั†ั–ั ะฟั€ะพั†ะตััƒ ะผะฐั” ะฒะธั€ั–ัˆะฐะปัŒะฝะต ะทะฝะฐั‡ะตะฝะฝั, ะพัะบั–ะปัŒะบะธ ะทะฐะฑะตะทะฟะตั‡ัƒั” ะตั„ะตะบั‚ะธะฒะฝะธะน ั– ะฑะตะทะฟะตั‡ะฝะธะน ะทะฒโ€™ัะทะพะบ ะผั–ะถ ั€ั–ะทะฝะธะผะธ ะฟั€ะพั†ะตัะฐะผะธ ะฒ ัะธัั‚ะตะผั–. ะ’ั–ะฝ ะทะฐะฑะตะทะฟะตั‡ัƒั” ะฟั€ะฐะฒะธะปัŒะฝะธะน ั€ะพะทะฟะพะดั–ะป ั€ะตััƒั€ัั–ะฒ ะผั–ะถ ั€ั–ะทะฝะธะผะธ ะฟั€ะพั†ะตัะฐะผะธ ั‚ะฐ ะบะตั€ัƒะฒะฐะฝะฝั ะฝะธะผะธ. ะ‘ะตะท PID ะบะตั€ัƒะฒะฐะฝะฝั ั‚ะฐ ะดะธั„ะตั€ะตะฝั†ั–ัŽะฒะฐะฝะฝั ัะธัั‚ะตะผะฝะธั… ะฟั€ะพั†ะตัั–ะฒ ะฑัƒะปะพ ะฑ ะฝะฐะดะทะฒะธั‡ะฐะนะฝะพ ัะบะปะฐะดะฝะธะผ, ัะบั‰ะพ ะฝะต ะฝะตะผะพะถะปะธะฒะธะผ ะทะฐะฒะดะฐะฝะฝัะผ.

ะ’ะธะบะพั€ะธัั‚ะฐะฝั– ะฑั–ะฑะปั–ะพั‚ะตะบะธ

ะฃ ะฝะฐัˆะพะผัƒ ะบะพะดั– ะผะธ ะฒะธะบะพั€ะธัั‚ะฐะปะธ ะดะฒั– ะฒะฐะถะปะธะฒั– ะฑั–ะฑะปั–ะพั‚ะตะบะธ ะดะปั ะพั‚ั€ะธะผะฐะฝะฝั PID:

  • stdio.h: ะฆะต ะทะฐะณะพะปะพะฒะฝะธะน ั„ะฐะนะป, ัะบะธะน ะทะฐะทะฒะธั‡ะฐะน ะผั–ัั‚ะธั‚ัŒ ะพะณะพะปะพัˆะตะฝะฝั ะฝะฐะฑะพั€ัƒ ั„ัƒะฝะบั†ั–ะน, ั‰ะพ ะฒะบะปัŽั‡ะฐัŽั‚ัŒ ะทะฐะฒะดะฐะฝะฝั ะฒะฒะตะดะตะฝะฝั/ะฒะธะฒะตะดะตะฝะฝั.
  • unistd.h: ะกั‚ะฐะฝะดะฐั€ั‚ะฝะฐ ะฑั–ะฑะปั–ะพั‚ะตะบะฐ Unix, ะผั–ัั‚ะธั‚ัŒ ะฝะตะพะฑั…ั–ะดะฝั– ะฒะธะทะฝะฐั‡ะตะฝะฝั ั‚ะฐ ะพะณะพะปะพัˆะตะฝะฝั ะดะปั ะฒะธะบะพะฝะฐะฝะฝั ัะธัั‚ะตะผะฝะธั… ะฒะธะบะปะธะบั–ะฒ.

ะฉะพะฑ ะฟะพะณะปะธะฑะธั‚ะธ ะฝะฐัˆะต ั€ะพะทัƒะผั–ะฝะฝั, ะฟะฐะผโ€™ัั‚ะฐะนั‚ะต, ั‰ะพ ะฑั–ะฑะปั–ะพั‚ะตะบะธ ะฝะฐะดะฐัŽั‚ัŒ ะฟะพะฟะตั€ะตะดะฝัŒะพ ัะบะพะผะฟั–ะปัŒะพะฒะฐะฝะธะน ะบะพะด, ัะบะธะน ะผะพะถะฝะฐ ะฟะพะฒั‚ะพั€ะฝะพ ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ, ะฟะพะทะฑะฐะฒะปััŽั‡ะธ ั€ะพะทั€ะพะฑะฝะธะบั–ะฒ ะฒั–ะด ะฟะพะฒั‚ะพั€ะฝะพะณะพ ะฝะฐะฟะธัะฐะฝะฝั ัะบะปะฐะดะฝะธั… ะบะพะดั–ะฒ. ะะฐะฟั€ะธะบะปะฐะด, stdio.h ะดะพะทะฒะพะปัั” ะฝะฐะผ ะฟั€ะพัั‚ะพ ะฒะทะฐั”ะผะพะดั–ัั‚ะธ ะท ะฟั€ะธัั‚ั€ะพัะผะธ ะฒะฒะตะดะตะฝะฝั ะฐะฑะพ ะฒะธะฒะตะดะตะฝะฝั, ั‚ะพะดั– ัะบ unistd.h ะดะพะฟะพะผะฐะณะฐั” ะฝะฐะผ ะทะดั–ะนัะฝัŽะฒะฐั‚ะธ ัะธัั‚ะตะผะฝั– ะฒะธะบะปะธะบะธ, ะฝะต ะทะฝะฐัŽั‡ะธ ะฒะฝัƒั‚ั€ั–ัˆะฝั–ั… ั‚ะพะฝะบะพั‰ั–ะฒ ัะธัั‚ะตะผะธ.

ะ”ะตั‚ะฐะปัŒะฝั–ัˆะต

ะ’ะธั€ั–ัˆะตะฝะพ: ะฒะธะฟะฐะดะบะพะฒะต ั‡ะธัะปะพ ะผั–ะถ 2 ัƒ C

ะ“ะตะฝะตั€ัƒะฒะฐะฝะฝั ะฒะธะฟะฐะดะบะพะฒะธั… ั‡ะธัะตะป ะผั–ะถ 2 ัƒ ะผะพะฒั– ะฟั€ะพะณั€ะฐะผัƒะฒะฐะฝะฝั C

ะ—ะดะฐั‚ะฝั–ัั‚ัŒ ะณะตะฝะตั€ัƒะฒะฐั‚ะธ ะฒะธะฟะฐะดะบะพะฒั– ั‡ะธัะปะฐ ะผะพะถะต ะฑัƒั‚ะธ ะบั€ะธั‚ะธั‡ะฝะพัŽ ะฒ ะฟะตะฒะฝะธั… ั‚ะธะฟะฐั… ะทะฐะฒะดะฐะฝัŒ ะบะพะผะฟโ€™ัŽั‚ะตั€ะฝะพะณะพ ะฟั€ะพะณั€ะฐะผัƒะฒะฐะฝะฝั, ะทะพะบั€ะตะผะฐ ะฟั€ะธ ั€ะพะทั€ะพะฑั†ั– ะฐะปะณะพั€ะธั‚ะผั–ะฒ ะฐะฑะพ ั‚ะฐะผ, ะดะต ะฟะพั‚ั€ั–ะฑะฝะต ะผะพะดะตะปัŽะฒะฐะฝะฝั. ะฃ ั†ั–ะน ัั‚ะฐั‚ั‚ั– ะผะธ ะทะฐะณะปะธะฑะธะผะพัั ะฒ ั„ัƒะฝะดะฐะผะตะฝั‚ะฐะปัŒะฝะธะน ะฐัะฟะตะบั‚ ะฟั€ะพะณั€ะฐะผัƒะฒะฐะฝะฝั ะฝะฐ C, ัะบะธะน ะฟะพะปัะณะฐั” ะฒ ะณะตะฝะตั€ัƒะฒะฐะฝะฝั– ะฒะธะฟะฐะดะบะพะฒะธั… ั‡ะธัะตะป. ะœะธ ะฟั€ะธะฟัƒัั‚ะธะผะพ, ั‰ะพ ะฒะธ ะผะฐั”ั‚ะต ะฑะฐะทะพะฒะต ั€ะพะทัƒะผั–ะฝะฝั ะผะพะฒะธ ะฟั€ะพะณั€ะฐะผัƒะฒะฐะฝะฝั C. ะกั– ั” ะฟะพั‚ัƒะถะฝะพัŽ ะผะพะฒะพัŽ ะทะฐะณะฐะปัŒะฝะพะณะพ ะฟั€ะธะทะฝะฐั‡ะตะฝะฝั ั†ะต ะดะฐั” ะฟั€ะพะณั€ะฐะผั–ัั‚ะฐะผ ะฑั–ะปัŒัˆะต ะบะพะฝั‚ั€ะพะปัŽ ั‚ะฐ ะตั„ะตะบั‚ะธะฒะฝะพัั‚ั–, ะฑัƒะดัƒั‡ะธ ั‡ัƒะดะพะฒะธะผ ะดะปั ะฟั€ะพะณั€ะฐะผัƒะฒะฐะฝะฝั ะฝะฐ ะฝะธะทัŒะบะพะผัƒ ั€ั–ะฒะฝั–

ะ”ะตั‚ะฐะปัŒะฝั–ัˆะต

ะ’ะธั€ั–ัˆะตะฝะพ: ะดั€ัƒะบ ั€ะพะถะตะฒะธะผ ะบะพะปัŒะพั€ะพะผ ัƒ c

ะ—ะฒะธั‡ะฐะนะฝะพ, ะฟะพั‡ะฝะตะผะพ!

ะŸั€ะธะฝั‚ ั€ะพะถะตะฒะธะผ ั†ะต ะพะฟะตั€ะฐั‚ะพั€ ะดั€ัƒะบัƒ, ะฟะพั„ะฐั€ะฑะพะฒะฐะฝะธะน ัƒ ั€ะพะถะตะฒะธะน ั‚ะตะบัั‚ะพะฒะธะน ะฒะธะฒั–ะด ัƒ ะฟั€ะพะณั€ะฐะผัƒะฒะฐะฝะฝั– ะฝะฐ C. ะฆะต ะทะฐะฒะดะฐะฝะฝั ะฟั€ะพะณั€ะฐะผัƒะฒะฐะฝะฝั ะฝะต ั” ะฟะพัˆะธั€ะตะฝะธะผ, ะฐะปะต ะฒะพะฝะพ ะดะพัะธั‚ัŒ ั†ั–ะบะฐะฒะต ั‚ะฐ ะดะตะผะพะฝัั‚ั€ัƒั” ัƒะฝั–ะฒะตั€ัะฐะปัŒะฝั–ัั‚ัŒ ั– ะณะฝัƒั‡ะบั–ัั‚ัŒ C. ะ—ะฐะฒะดะฐะฝะฝั ั” ัƒะฝั–ะบะฐะปัŒะฝะธะผ, ะฐะปะต ะดะพะทะฒะพะปัั” ะทั€ะพะทัƒะผั–ั‚ะธ, ัะบ ะฒะฐะผ ะฟะพั‚ั€ั–ะฑะฝะพ ะผะฐะฝั–ะฟัƒะปัŽะฒะฐั‚ะธ ะบะพะฝั„ั–ะณัƒั€ะฐั†ั–ัะผะธ ะดะธัะฟะปะตั ั‚ะตั€ะผั–ะฝะฐะปัƒ, ั‰ะพะฑ ะนะพะณะพ ะดะพััะณั‚ะธ.

ะ”ะตั‚ะฐะปัŒะฝั–ัˆะต

ะ ะพะทะฒโ€™ัะทะฐะฝะพ: ั„ะพั€ะผัƒะปะฐ ะฒั–ะด ะคะฐั€ะตะฝะณะตะนั‚ะฐ ะดะพ ะฆะตะปัŒัั–ั

ะฅะพั‡ะตั‚ะต ะฟะตั€ะตั‚ะฒะพั€ะธั‚ะธ ะณั€ะฐะดัƒัะธ ะคะฐั€ะตะฝะณะตะนั‚ะฐ ะฝะฐ ะฆะตะปัŒัั–ะน? ะะฐัˆะฐ ะฟั€ะพัั‚ะฐ ั„ะพั€ะผัƒะปะฐ ะดะพะฟะพะผะพะถะต!

ะ’ะธั€ั–ัˆะตะฝะพ: ะฟั€ะธะบะปะฐะด c va_list

ะฃ ะฟั€ะพะณั€ะฐะผัƒะฒะฐะฝะฝั– ะฝะฐ C ะพะฑั€ะพะฑะบะฐ ั„ัƒะฝะบั†ั–ะน ะทั– ะทะผั–ะฝะฝะธะผะธ ะฐั€ะณัƒะผะตะฝั‚ะฐะผะธ ะผะฐั” ะฒะธั€ั–ัˆะฐะปัŒะฝะต ะทะฝะฐั‡ะตะฝะฝั. ะฃัะฒั–ั‚ัŒ ัะพะฑั– ั€ะตะฐะปั–ะทะฐั†ั–ัŽ ั„ัƒะฝะบั†ั–ั—, ัะบะฐ ะฟั€ะธะนะผะฐั” ะทะผั–ะฝะฝัƒ ะบั–ะปัŒะบั–ัั‚ัŒ ะฐั€ะณัƒะผะตะฝั‚ั–ะฒ. ะฅั–ะฑะฐ ั†ะต ะฝะต ะพะทะฝะฐั‡ะฐั”, ั‰ะพ ะฒะฐัˆ ะบะพะด ะฐะดะฐะฟั‚ัƒั”ั‚ัŒัั ะดะพ ะฟะพั‚ั€ะตะฑ ะฟั€ะพะณั€ะฐะผะธ, ั‚ะฐะบะธะผ ั‡ะธะฝะพะผ ะฟั–ะดะฒะธั‰ัƒัŽั‡ะธ ั—ั— ะณะฝัƒั‡ะบั–ัั‚ัŒ ั– ะฟั€ะพะดัƒะบั‚ะธะฒะฝั–ัั‚ัŒ? ะกัŒะพะณะพะดะฝั– ะผะธ ะทะฐะฝัƒั€ะธะผะพัั ะฒ ะพะดะฝัƒ ั‚ะฐะบัƒ ั„ะฐะฝั‚ะฐัั‚ะธั‡ะฝัƒ ั„ัƒะฝะบั†ั–ัŽ, ัะบัƒ ะฟั€ะพะฟะพะฝัƒั” ะผะพะฒะฐ ะฟั€ะพะณั€ะฐะผัƒะฒะฐะฝะฝั C โ€“ va_list โ€“ ัƒ ั„ัƒะฝะบั†ั–ั— ะฑั–ะฑะปั–ะพั‚ะตะบะธ stdarg.h, ัะบะฐ ะฒะธะบะพั€ะธัั‚ะพะฒัƒั”ั‚ัŒัั ะดะปั ะพะฑั€ะพะฑะบะธ ั‚ะฐะบะธั… ั„ัƒะฝะบั†ั–ะน.

ะ”ะตั‚ะฐะปัŒะฝั–ัˆะต

ะ’ะธั€ั–ัˆะตะฝะพ: myFgets ะฒ c

ะ—ะฒะธั‡ะฐะนะฝะพ, ะฟะพั‡ะฝะตะผะพ ะทั– ัั‚ะฐั‚ั‚ั–:

myFgets ั” ะพะดะฝั–ั”ัŽ ะท ะพัะฝะพะฒะฝะธั… ั„ัƒะฝะบั†ั–ะน ัƒ C ะดะปั ะพั‚ั€ะธะผะฐะฝะฝั ะฒั…ั–ะดะฝะธั… ะดะฐะฝะธั… ะฒั–ะด ะบะพั€ะธัั‚ัƒะฒะฐั‡ะฐ. ะฆะต ั‡ะฐัั‚ะธะฝะฐ ะฑั–ะฑะปั–ะพั‚ะตะบะธ stdio ั– ะฒะธะดั–ะปัั”ั‚ัŒัั ัะบ ะฑะตะทะฟะตั‡ะฝั–ัˆะฐ ะฐะปัŒั‚ะตั€ะฝะฐั‚ะธะฒะฐ ัะฒะพั—ะผ ะฐะฝะฐะปะพะณะฐะผ, ั‚ะฐะบะธะผ ัะบ scanf, ะทะฐะฒะดัะบะธ ัะฒะพั—ะน ะทะดะฐั‚ะฝะพัั‚ั– ะทะฐะฟะพะฑั–ะณะฐั‚ะธ ะฟะตั€ะตะฟะพะฒะฝะตะฝะฝัŽ ะฑัƒั„ะตั€ะฐ.

#include <stdio.h>

#define SIZE 100

int main()
{
    char str[SIZE];

    printf("Enter a string: ");
    if(fgets(str, SIZE, stdin) != NULL)
    {
        printf("You entered: ");
        puts(str);
    }

    return 0;
}

ะ ะพะทะฟะพั‡ะฐะฒัˆะธ ะท ะบะพั€ะพั‚ะบะพะณะพ ะฒัั‚ัƒะฟัƒ ะฟั€ะพ myFgets, ะฝะฐะดะฐะฝะธะน ะฒะธั‰ะต ะบะพะด C ะฒะธะบะพั€ะธัั‚ะพะฒัƒั” ั„ัƒะฝะบั†ั–ัŽ myFgets ะดะปั ะพั‚ั€ะธะผะฐะฝะฝั ะฒะฒะตะดะตะฝะธั… ั€ัะดะบั–ะฒ ะฒั–ะด ะบะพั€ะธัั‚ัƒะฒะฐั‡ะฐ.

ะฏะบ ะฟั€ะฐั†ัŽั” myFgets?

ะคัƒะฝะบั†ั–ั fgets ะฟะพะปัะณะฐั” ะฒ ั‡ะธั‚ะฐะฝะฝั– ั€ัะดะบะฐ ะทั– ัั‚ะฐะฝะดะฐั€ั‚ะฝะพะณะพ ะฒะฒะพะดัƒ (stdin), ะทะฐะทะฒะธั‡ะฐะน ะท ะบะปะฐะฒั–ะฐั‚ัƒั€ะธ. ะคัƒะฝะบั†ั–ั fgets ะผะฐะปะพ ั‡ะธะผ ะฒั–ะดั€ั–ะทะฝัั”ั‚ัŒัั ะฒั–ะด ั–ะฝัˆะธั… ั„ัƒะฝะบั†ั–ะน ะฒะฒะตะดะตะฝะฝั ะฒ C ัƒ ัะฒะพั—ะน ะฒะธะผะพะณั– ั‰ะพะดะพ ั‚ั€ัŒะพั… ะฟะฐั€ะฐะผะตั‚ั€ั–ะฒ: ะฑัƒั„ะตั€ะฐ ะดะปั ั‡ะธั‚ะฐะฝะฝั ะฒั…ั–ะดะฝะธั… ะดะฐะฝะธั…, ะผะฐะบัะธะผะฐะปัŒะฝะพะณะพ ั€ะพะทะผั–ั€ัƒ ะฑัƒั„ะตั€ะฐ ั‚ะฐ ะฒั…ั–ะดะฝะพะณะพ ะฟะพั‚ะพะบัƒ ะดะปั ั‡ะธั‚ะฐะฝะฝั. ะ—ะพะบั€ะตะผะฐ, ะฟั–ัะปั ะฟั€ะพั‡ะธั‚ะฐะฝะฝั ั€ัะดะบะฐ fgets ะดะพะดะฐั” ะฝัƒะปัŒะพะฒะธะน ัะธะผะฒะพะป ('') ะดะพ ะบั–ะฝั†ั.

ะ ะพะทัƒะผั–ะฝะฝั ะบะพะดัƒ ะฒะธั‰ะต

ะคัƒะฝะบั†ั–ั, ะฒะธะทะฝะฐั‡ะตะฝะฐ ะฒะธั‰ะต, ะฟะพั‡ะธะฝะฐั”ั‚ัŒัั ะท ะพะณะพะปะพัˆะตะฝะฝั ั€ัะดะบะฐ (ะผะฐัะธะฒ ัะธะผะฒะพะปั–ะฒ) ะฟะตะฒะฝะพะณะพ ั€ะพะทะผั–ั€ัƒ (SIZE). ะŸะพั‚ั–ะผ ะฒั–ะฝ ะฟั€ะพะฟะพะฝัƒั” ะบะพั€ะธัั‚ัƒะฒะฐั‡ะตะฒั– ะฒะฒะตัั‚ะธ ั€ัะดะพะบ. ะŸั–ัะปั ะฒะฒะตะดะตะฝะฝั ะบะพั€ะธัั‚ัƒะฒะฐั‡ะตะผ ัƒะผะพะฒะฝะธะน ะพะฟะตั€ะฐั‚ะพั€ ะฟะตั€ะตะฒั–ั€ัั”, ั‡ะธ ะทะผะพะณะปะฐ ั„ัƒะฝะบั†ั–ั fgets ะฟั€ะพั‡ะธั‚ะฐั‚ะธ ั€ัะดะพะบ. ะฏะบั‰ะพ ั†ะต ะฒะดะฐะปะพัั, ะฒั–ะฝ ะฟั€ะพะดะพะฒะถัƒั” ะดั€ัƒะบัƒะฒะฐั‚ะธ ั‚ะพะน ัะฐะผะธะน ั€ัะดะพะบ ะฝะฐะทะฐะด ะฝะฐ ะตะบั€ะฐะฝ ะทะฐ ะดะพะฟะพะผะพะณะพัŽ ั„ัƒะฝะบั†ั–ั— puts.

ะฉะพะฑ ะทั€ะพะทัƒะผั–ั‚ะธ ะทะฒโ€™ัะทะพะบ ะผั–ะถ fgets, ั€ะพะทะผั–ั€ะพะผ ะฑัƒั„ะตั€ะฐ ั‚ะฐ ะทะฐะฟะพะฑั–ะณะฐะฝะฝัะผ ะฟะตั€ะตะฟะพะฒะฝะตะฝะฝัŽ ะฑัƒั„ะตั€ะฐ, ะฒะฐะถะปะธะฒะพ ะฒะธะทะฝะฐั‚ะธ, ั‰ะพ ะบั–ะปัŒะบั–ัั‚ัŒ ัะธะผะฒะพะปั–ะฒ, ัะบั– ะทั‡ะธั‚ัƒั” fgets, ะฝะฐ ะพะดะธะฝ ะผะตะฝัˆะต, ะฝั–ะถ ัƒะบะฐะทะฐะฝะธะน SIZE. ะฆะต ั€ะพะฑะธั‚ัŒัั ะดะปั ั€ะพะทะผั–ั‰ะตะฝะฝั ะฝัƒะปัŒะพะฒะพะณะพ ัะธะผะฒะพะปัƒ ะฒ ะบั–ะฝั†ั– ะฒะฒะตะดะตะฝะฝั.

ะ’ั–ะดะฟะพะฒั–ะดะฝั– ะฑั–ะฑะปั–ะพั‚ะตะบะธ ั‚ะฐ ั„ัƒะฝะบั†ั–ั—

ะ— ั‚ะพั‡ะบะธ ะทะพั€ัƒ ะฑั–ะฑะปั–ะพั‚ะตะบ, stdio.h ั” ะพะดะฝั–ั”ัŽ ะท ะฝะฐะนะฟั€ะพัั‚ั–ัˆะธั… ะฑั–ะฑะปั–ะพั‚ะตะบ ัƒ C, ัะบะฐ ะฒะธะบะพั€ะธัั‚ะพะฒัƒั”ั‚ัŒัั ะดะปั ะพะฟะตั€ะฐั†ั–ะน ะฒะฒะตะดะตะฝะฝั/ะฒะธะฒะตะดะตะฝะฝั. ะ ะตะถะธะผ ะฒะธะบะพั€ะธัั‚ะฐะฝะฝั ั‚ะฐะบ ัะฐะผะพ ะฟั€ะพัั‚ะธะน, ัะบ ะฒะบะปัŽั‡ะธั‚ะธ ะนะพะณะพ ะฝะฐ ะฟะพั‡ะฐั‚ะบัƒ ะบะพะดัƒ C ะทะฐ ะดะพะฟะพะผะพะณะพัŽ ะดะธั€ะตะบั‚ะธะฒะธ #include.

ะกั‚ะพัะพะฒะฝะพ ั„ัƒะฝะบั†ั–ะน, ัะบั– ะฒะธะบะพั€ะธัั‚ะพะฒัƒัŽั‚ัŒัั ะฒ ั†ัŒะพะผัƒ ะบะพะดั–, fgets ะฝะฐะปะตะถะธั‚ัŒ ะดะพ ั†ั–ั”ั— ะฑั–ะฑะปั–ะพั‚ะตะบะธ ั€ะฐะทะพะผ ั–ะท puts ั– printf. ะŸะพะบะธ fgets ะดะพัะปั–ะดะถัƒั”, puts ะฒะธะบะพั€ะธัั‚ะพะฒัƒั”ั‚ัŒัั ะดะปั ะทะฐะฟะธััƒ ั€ัะดะบะฐ ะฒ stdout ะดะพ ะฝัƒะปัŒะพะฒะพะณะพ ัะธะผะฒะพะปัƒ, ะฐะปะต ะฝะต ะฒะบะปัŽั‡ะฐั”. ะคัƒะฝะบั†ั–ั printf ั„ะพั€ะผัƒั” ั€ัะดะพะบ ะดะฐะฝะธั… ะดะปั ะฒะธะฒะตะดะตะฝะฝั ะฝะฐ ะพัะฝะพะฒั– ั€ัะดะบะฐ ั„ะพั€ะผะฐั‚ัƒ ั‚ะฐ ะฐั€ะณัƒะผะตะฝั‚ั–ะฒ.

ะ‘ัƒะดัŒ ะปะฐัะบะฐ, ะทะฒะตั€ะฝั–ั‚ัŒ ัƒะฒะฐะณัƒ, ั‰ะพ ะดะปั ะฑะตะทะฟะตั‡ะฝะพะณะพ ั‚ะฐ ะตั„ะตะบั‚ะธะฒะฝะพะณะพ ะฟั–ะดั…ะพะดัƒ ะดะพ ะฒะฒะตะดะตะฝะฝั ั€ัะดะบะฐ ะฒั–ะด ะบะพั€ะธัั‚ัƒะฒะฐั‡ะฐ myFgets ะผะฐั” ะฟะตั€ะตะฒั–ั€ะตะฝัƒ ั–ัั‚ะพั€ั–ัŽ ัƒ ัั„ะตั€ั– ะฟั€ะพะณั€ะฐะผัƒะฒะฐะฝะฝั ะฝะฐ C, ะพะฑะผะตะถัƒัŽั‡ะธ ั€ะพะทะผั–ั€ ะฒะฒะตะดะตะฝะฝั ั‚ะฐ, ั‚ะฐะบะธะผ ั‡ะธะฝะพะผ, ะทะฐะฟะพะฑั–ะณะฐัŽั‡ะธ ะฟะพั‚ะตะฝั†ั–ะนะฝะพะผัƒ ะฟะตั€ะตะฟะพะฒะฝะตะฝะฝัŽ ะฑัƒั„ะตั€ะฐ.

ะ”ะตั‚ะฐะปัŒะฝั–ัˆะต

ะ’ะธั€ั–ัˆะตะฝะพ: Buble sort c

ะ—ะฒะธั‡ะฐะนะฝะพ, ั ะฒะฟะพั€ะฐัŽัั ะท ั†ะธะผ ะทะฐะฒะดะฐะฝะฝัะผ! ะžััŒ ัะบ ั ะฑ ะฟะพั‡ะฐะฒ ัั‚ะฐั‚ั‚ัŽ:

ะะปะณะพั€ะธั‚ะผะธ ัะพั€ั‚ัƒะฒะฐะฝะฝั ั” ะฒะฐะถะปะธะฒะพัŽ ั‡ะฐัั‚ะธะฝะพัŽ ั–ะฝั„ะพั€ะผะฐั‚ะธะบะธ ั‚ะฐ ะฟั€ะพะณั€ะฐะผัƒะฒะฐะฝะฝั, ะพัะบั–ะปัŒะบะธ ะฒะพะฝะธ ะดะพะทะฒะพะปััŽั‚ัŒ ะฝะฐะผ ะตั„ะตะบั‚ะธะฒะฝะพ ะฒะฟะพั€ัะดะบะพะฒัƒะฒะฐั‚ะธ ะดะฐะฝั–. ะžะดะฝะธะผ ั–ะท ะฝะฐะนะฟั€ะพัั‚ั–ัˆะธั… ั– ะฝะฐะนะฑั–ะปัŒัˆ ั–ะฝั‚ัƒั—ั‚ะธะฒะฝะพ ะทั€ะพะทัƒะผั–ะปะธั… ะผะตั‚ะพะดั–ะฒ ัะพั€ั‚ัƒะฒะฐะฝะฝั ั” Bubble Sort, ะฐะปะณะพั€ะธั‚ะผ ะฝะฐ ะพัะฝะพะฒั– ะฟะพั€ั–ะฒะฝัะฝะฝั, ัะบะธะน ะฑะฐะณะฐั‚ะพั€ะฐะทะพะฒะพ ะฟั€ะพั…ะพะดะธั‚ัŒ ัะฟะธัะพะบ, ะฟะพั€ั–ะฒะฝัŽั” ััƒัั–ะดะฝั– ะตะปะตะผะตะฝั‚ะธ ั‚ะฐ ะผั–ะฝัั” ั—ั… ะผั–ัั†ัะผะธ, ัะบั‰ะพ ะฒะพะฝะธ ั€ะพะทั‚ะฐัˆะพะฒะฐะฝั– ะฒ ะฝะตะฟั€ะฐะฒะธะปัŒะฝะพะผัƒ ะฟะพั€ัะดะบัƒ. ะŸั€ะพั…ั–ะด ั‡ะตั€ะตะท ะผะฐัะธะฒ ะฒะธะบะพะฝัƒั”ั‚ัŒัั ั–ั‚ะตั€ะฐั†ั–ะนะฝะพ, ะดะพะบะธ ะฝะต ะฑัƒะดัƒั‚ัŒ ะฟะพั‚ั€ั–ะฑะฝั– ะทะฐะผั–ะฝะธ, ั‰ะพ ะฒะบะฐะทัƒั” ะฝะฐ ั‚ะต, ั‰ะพ ัะฟะธัะพะบ ะฒั–ะดัะพั€ั‚ะพะฒะฐะฝะพ.

ะ‘ัƒะปัŒะฑะฐัˆะบะพะฒะต ัะพั€ั‚ัƒะฒะฐะฝะฝั ะฝะต ั” ะตั„ะตะบั‚ะธะฒะฝะธะผ ะฐะปะณะพั€ะธั‚ะผะพะผ ัะพั€ั‚ัƒะฒะฐะฝะฝั ะดะปั ะฒะตะปะธะบะธั… ัะฟะธัะบั–ะฒ, ะฐะปะต ั‡ะตั€ะตะท ะนะพะณะพ ะฟั€ะพัั‚ะพั‚ัƒ ะนะพะณะพ ั‡ะฐัั‚ะพ ะฒะธะฒั‡ะฐัŽั‚ัŒ ัƒ ะฟะพั‡ะฐั‚ะบะพะฒะธั… ะบัƒั€ัะฐั… ั–ะฝั„ะพั€ะผะฐั‚ะธะบะธ. ะะตะทะฒะฐะถะฐัŽั‡ะธ ะฝะฐ ั‚ะต, ั‰ะพ ะนะพะณะพ ัะตั€ะตะดะฝั ั‚ะฐ ะฝะฐะนะณั–ั€ัˆะฐ ั‡ะฐัะพะฒะฐ ัะบะปะฐะดะฝั–ัั‚ัŒ O (n ^ 2) ะผะพะถะต ะทั€ะพะฑะธั‚ะธ ั†ะต ะฟะพะณะฐะฝะธะผ ะฒะธะฑะพั€ะพะผ ะดะปั ะฒะตะปะธะบะธั… ะฝะฐะฑะพั€ั–ะฒ ะดะฐะฝะธั…, ะฐะปะต ะฒัะต ะถ ะผะพะถะต ะฑัƒั‚ะธ ะฟั€ะฐะบั‚ะธั‡ะฝะธะผ ัƒ ะฟะตะฒะฝะธั… ะฒะธะฟะฐะดะบะฐั… ะฒะธะบะพั€ะธัั‚ะฐะฝะฝั, ะดะต ะฟั€ะพัั‚ะพั‚ะฐ ั‚ะฐ ะปะตะณะบั–ัั‚ัŒ ะฒะฟั€ะพะฒะฐะดะถะตะฝะฝั ะฒะฐะถะปะธะฒั–ัˆั–, ะฝั–ะถ ะฝะตะพะฑั€ะพะฑะปะตะฝะฐ ะฟั€ะพะดัƒะบั‚ะธะฒะฝั–ัั‚ัŒ.

#ะฒะบะปัŽั‡ะฐั‚ะธ

void bubbleSort(int array[], int size) {
for (int step = 0; step < size - 1; ++step) { for (int i = 0; i < size - step - 1; ++i) { if (array[i] > array[i + 1) ]) {
int temp = array[i];
ะผะฐัะธะฒ[i] = ะผะฐัะธะฒ[i + 1];
ะผะฐัะธะฒ[i + 1] = temp;
}
}
}
}

void printArray(int array[], int size) {
for (int i = 0; i < size; ++i) printf("%d ", array[i]); printf("n"); } int main() { int data[] = {-2, 45, 0, 11, -9}; int size = sizeof(data) / sizeof(data[0]); bubbleSort(ะดะฐะฝั–, ั€ะพะทะผั–ั€); printf("ะ’ั–ะดัะพั€ั‚ะพะฒะฐะฝะธะน ะผะฐัะธะฒ ัƒ ะฟะพั€ัะดะบัƒ ะทั€ะพัั‚ะฐะฝะฝั:n"); printArray(ะดะฐะฝั–, ั€ะพะทะผั–ั€); ะฟะพะฒะตั€ะฝัƒั‚ะธ 0; } [/ะบะพะด]

ะ”ะตั‚ะฐะปัŒะฝั–ัˆะต

ะ’ะธั€ั–ัˆะตะฝะพ: ัะพั€ั‚ัƒะฒะฐะฝะฝั ั€ัะดั–ะฒ

ะšะพะปะธ ะผะธ ะณะพะฒะพั€ะธะผะพ ะฟั€ะพ ัะพั€ั‚ัƒะฒะฐะฝะฝั ะฒ ะฟะฐั€ะฐะดะธะณะผั– ะฟั€ะพะณั€ะฐะผัƒะฒะฐะฝะฝั, ั†ะต ะฒะฒะฐะถะฐั”ั‚ัŒัั ะพะดะฝั–ั”ัŽ ะท ะฝะฐะนะฒะฐะถะปะธะฒั–ัˆะธั… ะพะฟะตั€ะฐั†ั–ะน ั– ั‡ะฐัั‚ะพ ะฒะธะผะฐะณะฐั”ั‚ัŒัั ะฟั–ะด ั‡ะฐั ั€ะพะทั€ะพะฑะบะธ ะฟั€ะพะณั€ะฐะผ. ะ’ ั–ะฝั„ะพั€ะผะฐั‚ะธั†ั– ะฐะปะณะพั€ะธั‚ะผ ัะพั€ั‚ัƒะฒะฐะฝะฝั โ€” ั†ะต ะผะตั‚ะพะด, ัะบะธะน ะฒะธะบะพั€ะธัั‚ะพะฒัƒั”ั‚ัŒัั ะดะปั ั€ะตะพั€ะณะฐะฝั–ะทะฐั†ั–ั— ะตะปะตะผะตะฝั‚ั–ะฒ ัะฟะธัะบัƒ ะฒ ะฟะตะฒะฝะพะผัƒ ะฟะพั€ัะดะบัƒ, ะฑัƒะดัŒ ั‚ะพ ั‡ะธัะปะพะฒะต ะทั€ะพัั‚ะฐะฝะฝั ั‡ะธ ัะฟะฐะดะฐะฝะฝั ั‡ะธ ะปะตะบัะธะบะพะณั€ะฐั„ั–ั‡ะฝะธะน ะฟะพั€ัะดะพะบ. ะฃ ั†ัŒะพะผัƒ ัั†ะตะฝะฐั€ั–ั— ะผะธ ะฒ ะฟะตั€ัˆัƒ ั‡ะตั€ะณัƒ ะทะพัะตั€ะตะดะธะผะพัั ะฝะฐ ะฟั€ะพะฑะปะตะผั– ัะพั€ั‚ัƒะฒะฐะฝะฝั ั€ัะดั–ะฒ ัƒ ัั„ะตั€ั– ะฟั€ะพะณั€ะฐะผัƒะฒะฐะฝะฝั ะฝะฐ C, ั—ั— ั€ะพะฑะพั‚ั– ั‚ะฐ ั‚ะพะผัƒ, ัะบ ะฒะพะฝะฐ ะฟั€ะพะฟะพะฝัƒั” ะตั„ะตะบั‚ะธะฒะฝั– ั€ั–ัˆะตะฝะฝั.

#ะฒะบะปัŽั‡ะฐั‚ะธ
void sort(int array[], int n) {
for (int step = 0; step < n - 1; ++step) { int min_idx = step; for (int i = step + 1; i < n; ++i) { if (array[i] < array[min_idx]) { min_idx = i; } } int temp = array[min_idx]; ะผะฐัะธะฒ[min_idx] = ะผะฐัะธะฒ[ะบั€ะพะบ]; ะผะฐัะธะฒ[ะบั€ะพะบ] = temp; } } [/ะบะพะด]

ะ”ะตั‚ะฐะปัŒะฝั–ัˆะต

ะ’ะธั€ั–ัˆะตะฝะพ: ัะบ ะฝะฐะฟะธัะฐั‚ะธ ั„ัƒะฝะบั†ั–ัŽ ะดะปั ะดั€ัƒะบัƒ ะบะพะถะฝะพั— ั…ะฒะธะปะธะฝะธ ะดะฝั ะฒ c

ะะฐะฟะธัะฐะฝะฝั ะฟั€ะพะณั€ะฐะผะธ ะฝะฐ C, ัะบะฐ ะดั€ัƒะบัƒั” ะบะพะถะฝัƒ ั…ะฒะธะปะธะฝัƒ ะดะฝั, ะผะพะถะต ะทะดะฐั‚ะธัั ั†ั–ะบะฐะฒะธะผ ะทะฐะฒะดะฐะฝะฝัะผ, ะพัะพะฑะปะธะฒะพ ัะบั‰ะพ ะฒะธ ะฝะพะฒะฐั‡ะพะบ ัƒ ะฟั€ะพะณั€ะฐะผัƒะฒะฐะฝะฝั–. ะะฐ ั‰ะฐัั‚ั, ะผะพะฒะฐ ะฟั€ะพะณั€ะฐะผัƒะฒะฐะฝะฝั C ะฟั€ะพะฟะพะฝัƒั” ะฑะตะทะปั–ั‡ ะฑั–ะฑะปั–ะพั‚ะตะบ ั– ั„ัƒะฝะบั†ั–ะน, ัะบั– ะผะธ ะผะพะถะตะผะพ ะฒะธะบะพั€ะธัั‚ะพะฒัƒะฒะฐั‚ะธ ะดะปั ะฒะธั€ั–ัˆะตะฝะฝั ั†ั–ั”ั— ะฟั€ะพะฑะปะตะผะธ. ะŸะตั€ัˆ ะฝั–ะถ ะฟั€ะธัั‚ัƒะฟะฐั‚ะธ ะดะพ ะฒะธั€ั–ัˆะตะฝะฝั ะฟั€ะพะฑะปะตะผะธ, ะฒะฐะถะปะธะฒะพ ะทั€ะพะทัƒะผั–ั‚ะธ, ั‰ะพ ะฟะตั€ะตะดะฑะฐั‡ะฐั” ั†ะต ะทะฐะฒะดะฐะฝะฝั. ะŸะพ ััƒั‚ั–, ะผะตั‚ะฐ ะฟะพะปัะณะฐั” ะฒ ั‚ะพะผัƒ, ั‰ะพะฑ ะฝะฐะฟะธัะฐั‚ะธ ะฟั€ะพะณั€ะฐะผัƒ ะฝะฐ C, ัะบะฐ ะดั€ัƒะบัƒะฒะฐั‚ะธะผะต ะฒัั– ั…ะฒะธะปะธะฝะธ ะทะฐ ะดะตะฝัŒ, ะท 00:00 ะดะพ 23:59.

ะ”ะตั‚ะฐะปัŒะฝั–ัˆะต