Üçrəqəmli ədəd verilmişdir. Bu ədədin rəqəmlərini boşluqlarla ayırmaq şərti ilə çapa verin.
Bu məslənin həlli alqoritmi çox sadədir. ədədi daxil edirik, rəqəmlərini ayırıb çapa veririk. Amma porgramın yazılışı müxtəlif varianta ola bilər.
Birinci məsələ üçün 3 müxtəlif formanı təqdim edək:
1-ci üsul (A1.1a) ədədin rəqəmlərini ayırıb hər birini uyğun olaraq a,b,c dəyişənlərinə mənimsədirik.Sonra bu dəyişənləri boşluq işarəsi ilə ayırmaq şərti ilə çapa veririk
2-ci üsül (a1.1b) Programın daha yığcam olması üçün biz ədədin rəqəmlərini əvvəlcədən ayırıb dəyişənlərə mənimsətmədən , bu əməliyyatı birbaşa çıxış operatorunda yaza bilərik.( writeln или cout)
3-cü üsul (A1.1c): Bu üsulda daxil edilən ədədin 3 rəqəmli olması yoxlanılır. Şərt ödənmədikdə isitfadəçiyə 3 rəqəmli ədəd daxil etmədiyi barədə məlumat verilir, əks halda ədədin rəqəmləri ayrılır və hər biri uyğun olaraq a,b.c dəyişənlərinə mənimsədilir.
Qeyd 1:Bundan sonra biz birinci üsulda göstərilən qaydada programlarımızı tərtib edəcəyik. Amma hər 3 üsulu yazıb yoxlamanızı tövsiyyə edirik. Onu da qeyd edək ki, bunlar sadəcə olaraq tərtib etmə formalarıdır.”BUNLARDAN hansı yaxşıdır” sualının isə mənası yoxdur.
Qeyd 2: Üçüncü üsulda biz daxil edilən ədədin 3 rəqəmli olduğunu yoxlayırıq. Amma birinci və ikinci üsullarda isə bu yoxlama yoxdur. Bu isə o deməkdir ki, əgər biz programın icarsı zamanı üçrəqəmli ədəd yerinə dördrəqəmli ədəd daxil etsək, biz doğru cavab almayacağıq. Bu səhvi ( c:=N div 100; və ya c=n/100;) yerinə (c:=(N div 100) mod 10; və ya c=(n/100)%10;). yazmaqla aradan qaldıra bilərik.
Gəlin şərtləşək ki, biz verilənləri DÜZGÜN daxil edəcəyik.Əgər ixtiyari verilənlər daxil etmək istəyiriksə ,onda mütləq 3-cü üsulu tətbiq edəcəyik. Yəni daxil edilən ədədləri öncə yoxlayacağıq.
Program A1_1a; Var N,a,b,c:integer; BEGIN readln(N); a:=N div 100; b:=(N div 10) mod 10; c:=N mod 10; writeln(a,' ',b,' ',c); END.
|
//Program A1.1a #include <iostream>
using namespace std;
int main() { int n,a,b,c; cin>>n; a=n/100; b=(n/10)%10; c=n%10; cout <<a<< " "<<b <<" "<<c<< endl; return 0; }
|
Program A1_1b; Var N:integer; BEGIN readln(N); writeln(N div 100,' ',(N div 10) mod 10,' ',N mod 10); END.
|
//Program A1.1b #include <iostream>
using namespace std;
int main() { int n; cin>>n; cout <<n/100<< " "<<(n/10)%10 <<" " << n%10<< endl; return 0; }
|
Program A1_1c; Var N,a,b,c:integer; BEGIN write('Vvedite trexznachnoe chislo N='); readln(N); if (N<100) OR (N>999) then writeln('Vi vveli nevernoe chislo') else begin a:=N div 100; b:=(N div 10) mod 10; c:=N mod 10; writeln('Vivod:',a,' ',b,' ',c); end; readln; END.
|
//Program A1.1c #include <iostream>
using namespace std;
int main() { int n,a,b,c; cout<<" Vvedite trexznachnoe chislo ="; cin>>n; if (n<100 || n>999) cout<<" Vi vveli nevernoe chislo'"<<endl; else { a=n/100; b=(n/10)%10; c=n%10; cout <<" Vivod:"<<a<< " " << b << " " << c << endl; } return 0; } |