Ishni bajarishga namuna Berilgan topshiriq variantlariga o‘xshash bo‘lgan bitta masalani bajarib ko‘ramiz. Quyidagicha masala qo‘yilgan: Berilgan familiyalardan imlo qoidasiga mos ravishda ismlar hosil qiling.
Algoritm Familiya kiritilishini so‘rash.
Kiritilgan familiya uzunligini o‘lchash.
Familiya oxirgi va oxiridan 1 ta oldingi simvolini tekshirish, ya’ni familiya oxiri “ev” bilan tugasa, satrning oxirgi 3 ta simvolini o‘chirish va 7-qadamga o‘tish, aks holda 4-qadamga o‘tish.
Familiya oxirgi va oxiridan 1 ta oldingi simvolini tekshirish, ya’ni familiya oxiri “ov” bilan tugasa, satrning oxirgi 2 ta simvolini o‘chirish va 7-qadamga o‘tish, aks holda 5-qadamga o‘tish.
Familiya oxirgi va oxiridan 2 ta oldingi simvolini tekshirish, ya’ni familiya oxiri “eva” bilan tugasa, satrning oxirgi 4 ta simvolini o‘chirish va 7-qadamga o‘tish, aks holda 6 qadamga o‘tish.
Familiya oxirgi va oxiridan 2 ta oldingi simvolini tekshirish, ya’ni familiya oxiri “ova” bilan tugasa, satrning oxirgi 3 ta simvolini o‘chirish va 7-qadamga o‘tish.
Hosil bo‘lgan ismni ekranga chiqarish.
Talabalar algoritmni so‘z bilan yoki blok-sxema ko‘rinishida ifodalashlari mumkin.
Dastur kodi:
#include #include using namespace std; int main(){ int l; char a[100]; cout << " Familiyani kiriting: "; gets(a); l=strlen(a); if(a[l-1] ==‘v' && a[l-2] ==‘e'){ l = l-3; }
if(a[l-1] ==‘v' && a[l-2] ==‘o‘){ l = l-2; } if(a[l-1] ==‘a' && a[l-3] ==‘e'){ l = l-4; } if(a[l-1] ==‘a' && a[l-3] ==‘o‘){ l = l-3; } cout << "\n Natija: \n "; for(int i = 0; i < l; i++) cout< getch(); }