32 сурак.
Мәнісимвол (әріп, цифр, таңба) болатынайнымалысимволдықайнымалыдепаталады.
Символдықайнымалыларғаәрекеттерорындауүшін C++ тіліндеstring.hтақырыптықфайлындаанықталғанфункцияларқолданылады.Символдықайнымалыларбылайшасипатталады:
charайнымалылартізімі;
string.hтақырыптықфайлындаанықталғансимволдықайнымалылардытүрлендіруфункцияларынқарастырайық
1. strcpy(S1, S2) функциясы S2 жолын S1 жолынатүгелдейкөшіруүшінқолданылады. Нәтижеде S1 жолыныңескімәніжойылыпкетеді.
Мысал 41:
main()
{char a[]="Информатика ";
char b[]="ғылымы";
strcpy(a,b);
cout<<"\n a= " <
2. strncpy(S1, S2, n) функциясы S2 жолының n символын S1 жолынакөшіруүшінқолданылады.
Мысал 42:
main()
{int n=3; char X[]="1234567";
char Y[]="110000";
strncpy(X,Y,n);
cout<<"\n X= " <
}
НәтижедеэкранғаХ=”1104567” мәнішығады.
33 сурак.
Мәні символ (әріп, цифр, таңба) болатынайнымалысимволдықайнымалыдепаталады.
Символдықайнымалыларғаәрекеттерорындауүшін C++ тіліндеstring.hтақырыптықфайлындаанықталғанфункцияларқолданылады.
Символдықайнымалыларбылайшасипатталады:
charайнымалылартізімі;
string.hтақырыптықфайлындаанықталғансимволдықайнымалылардытүрлендіруфункцияларынқарастырайық.
1.strlen(S) функциясыS символдықайнымалыныңұзындығынтабады. Символдықайнымалыныңұзындығыдепондағысимволдарсанынатайды. Әртұрақтыныңұзындығы (мәтіндегісимволдар саны) 255-тен артпайды.
Функция нәтижесіндебүтінтипті сан шығады.
Мысал39: Берілгенекісөздіңұзындығынтабыңдар.
#include
#include
#include
main()
{char a[20], b[10];
int n;
cout<<"1- sozdiengiz "; cin>>a;
cout<<"\n 2- sozdiengiz "; cin>>b;
cout<<"\n 1- sozdinuzindigi="<
n=strlen(b);
cout<<"\n 2- sozdinuzindigi="<
getch();
}
2. strcat(S1, S2) функциясы S1,S2 екіжолдыбіріктіруүшінқолданылады.
Функция S2 жолын S1 жолынабіріктіреді.
Мысал 40:
main()
{char a[]="Информатика ";
char b[]="ғылымы";
strcat(a,b);
cout<<"\n a= " <
b=” ғылымы" мәндерішығады.
34 сурак.
Мәнісимвол (әріп, цифр, таңба) болатынайнымалысимволдықайнымалыдепаталады.
Символдықайнымалыларғаәрекеттерорындауүшін C++ тіліндеstring.hтақырыптықфайлындаанықталғанфункцияларқолданылады.
Символдықайнымалыларбылайшасипатталады:
charайнымалылартізімі;
Мысалы: char a,b;
char x;
Жолсимволдықжиымтүріндесипатталады.
Мысалы: char x[10];
Символдықжолдыекітүрдеенгізугеболады:
1)жолдықтұрақтыарқылы
Мысалы: char x[20]=”Informatika”;
char x[]=”Informatika”;
2)символдартізіміарқылы
Мысалы: char x[20]={‘I’,’n’, ‘f’, ‘o’, ‘r’, ‘m’, ‘a’, ‘t’, ‘i’, ‘k’, ‘a’,’\0’};
‘\0’- жолсоңынбілдіретін символ.
Символдықтұрақтыныңәр символы 0-ден бастап, солданоңғақарайбүтінсандарменнөмірленеді.
Мысалы: x[0]=’I’, x[5]=’m’ т.с.с.
string.hтақырыптықфайлындаанықталғансимволдықайнымалылардытүрлендіруфункцияларынқарастырайық.
1.strlen(S) функциясыS символдықайнымалыныңұзындығынтабады. Символдықайнымалыныңұзындығыдепондағысимволдарсанынатайды. Әртұрақтыныңұзындығы (мәтіндегісимволдар саны) 255-тен артпайды.
Функция нәтижесіндебүтінтипті сан шығады.
Мысал39: Берілгенекісөздіңұзындығынтабыңдар.
#include
#include
#include
main()
{char a[20], b[10];
int n;
cout<<"1- sozdiengiz "; cin>>a;
cout<<"\n 2- sozdiengiz "; cin>>b;
cout<<"\n 1- sozdinuzindigi="<
n=strlen(b);
cout<<"\n 2- sozdinuzindigi="<
getch();
}
35сурак.
Мәні символ (әріп, цифр, таңба) болатынайнымалысимволдықайнымалыдепаталады.Символдықайнымалыларғаәрекеттерорындауүшін C++ тіліндеstring.hтақырыптықфайлындаанықталғанфункцияларқолданылады.
Символдықайнымалыларбылайшасипатталады:
charайнымалылартізімі;
Мысалы: char a,b;
char x;
Жолсимволдықжиымтүріндесипатталады.
Мысалы: char x[10];
Әрбірсимволғакомпьютерде 0 мен 255 аралығындағыбүтінсанды код сәйкескеледі. Символдаркодыныңкеңтарағантүрі ASCII коды. (AmericanStandardCodeforInformationInterchange- ақпараталмасуүшінарналғанАмерикалықкодтар стандарты ). ASCII- де символдардың коды 32-ден басталады. 0-ден 32-ге дейінгікомпьютердіңақпаратпентүрліжұмысістеуінеарналғанбасқарушыкодтар.
Есептершығарудатөменгікодтаржиіқолданылады:
• 48-ден 57-ге дейін- 0-ден 9-ға дейінгіцифрлар коды.
• 65-тен 90-ға дейін- латынның бас әріптері (A-65, B-66 т.c.c)
• 97-ден 122-ге дейін- латынныңкішіәріптері (a-97, b-98 т.c.c)
TAB пернесінің коды-9, ESC-27, бос орын пернесі-32, нүкте-46, үтір-44, сұрақ белгісі-63 т.с.с.
C++ тіліндесимволдың ASCII кодтаркестесінесәйкескодынанықтайтынжәнеоғанкерісінше, бүтінсандыкодқасәйкессимволдыберетін стандарт функция бар. Бұлфункцияныңжалпытүрі:
toascii(int c)
Бұл функция ctype.hтақырыптықфайлындаанықталған.
Мысал 49. 32-ден 127-ге дейінгібарлықкодты (бүтінсандарды) жәнеоғансәйкессимволды 2 бағантүріндеэкранғашығаратынбағдарламақұрыңдар.
#include
#include
#include
main()
{ inti; char k;
for (i=32; i<=127; i++)
{k=toascii(i);
cout<<"\n i="<
}
getch();
}
Мысал50 .Латынәріптерінентұратынсөздегібасәріптікішіәріпкетүрлендіріпшығаратынбағдарламақұрыңдар.
#include
#include
#include
#include
main()
{ inti;char S[]="PaiNtBruSh";
for (i=0; i<=strlen(S); i++)
if (toascii(S[i])>=65 &&toascii(S[i])<97) S[i]=toascii(S[i])+32;
cout<<"\n S="<
getch();
}
Бағдарламаныңорындалунәтижесіндеэкранға S=paint brush сөзішығады.
}
37сурак. Мысал 32. Нақты сандар жиымының ең үлкен, ең кіші элементтерін жəне олардың индекстерін табыңдар.#include #include #include main(){float a[]={4.6, 7.8, 3.5,12.6, 0.1} ; int i, k, t; float min, max;max=a[0]; k=0; min= a[0]; t= 0; for (i=1; i<5; i++){if (maxa[i]) {min= a[i]; t=i;}}
cout«"max="«max«" k="«k;cout«"\n min="«min«" t="«t;}Бағдарламаның орындалу нəтижесі 6- суретте көрсетілген.6- сурет. Жиымның ең үлкен, ең кіші элементтерін табуМысал 33. Жиымды [1..10] аралығындағы кездейсоқ бүтін сандармен толтырып, бұл жиымның ең үлкен элементін тауып, оны бірінші элементтің орнына жəне ең кіші элементін тауып, оны соңғы элементтің орнына қойғанда пайда болған жиымды анықтаңдар. #include #include #include #include main(){int X[10];int i, min, max;srand(time(0));for (i=0; i<10; i++) {X[i]=rand()%10+1; cout«X[i]«" ";} max= X[0]; min= X[0];табуfor (i=0; i<10; i++){if (maxX[i]) min= X[i]; }cout«"\n";X[0]= min; X[9]= max; соңғыfor (i=0; i<10; i++) cout«X[i]«" ";getch(); }//жиымды кездейсоқ сандармен толтыру // жиымды шығару// жиымның ең үлкен, ең кіші элементтерін//ең кіші элементті алғашқы, ең үлкендіорынға қою//пайда болған жиымды шығару
39сурак.Жиым деп бір атпен аталатын, саны алдын-ала анықталған бір типті элементтер жиынын атайды. Жиымның C++ тілінде сипатталу форматы:элементтер_ типі жиым_ аты [элементтер_ саны]Мысалы: int a[10];float X[20], Y[20];long int Z[3][4];Паскаль тілінен айырмашылығы C++ - те индекске кез келген аралықенгізуге болмайды. Жиым элементтерінің ең төменгі индексі 0- ге тең, сондықтан, сипаттауда көрсетілген жиым өлшемі индекстің ең үлкен мəнінен 1- ге артық.Мысалы: int a[10] түрінде сипатталған жиым элементтері төмендегідей:a[0], a[1], a[2],... a[9];Жиым элементтері сипаттаған кезде енгізілсе, онда оның өлшемінкөрсетпеуге болады.Мысалы: int Х[]={3, 8, 9, 1,-5}; яғни, X[0]=3, X[1]=8,...X[4]=-5Жиымның бір жəне екі өлшемді түрлері бағдарламалауда жиі қолданылады. Бір өлшемді жиымды түрлендіруді қарастырайық.Бір өлшемді int a[10] жиымын жадыға енгізу былайша жүзеге асады:for (i=0; i<10; i++){cout«”a[“«i«”]=”; cin»a[i];} // немесе cin» a[i]; Берілген жиым элементтерін экранға шығару түрі:for (i=0; i<10; i++)cout«”\n a[“«i«”]=”«a[i]; // немесе cout« a[i];
4.2 Екі өлшемді жиымЕкі өлшемді жиымның C++ тілінде сипатталу форматы:элементтер_ типі жиым_ аты [жол саны][баған саны];Мысалы: int A[2][3];
float X[3][5];A жиымының элементтері: A[0][0], A[0][1], A[0][2],A[1][0], A[1][1], A[1][2].Екі өлшемді жиымды да (матрица) сипаттау бөлімінде анықтауға болады.int A[][]={7, 5, 2, 3, 9, 1};a[2][3] матрица элементтерін жадыға енгізу төмендегіше жүзеге асады:for (i=0; i<2; i++) for (j=0; j<3; j++) cin» a[i][j];Берілген матрица элементтерін қалпын сақтап экранға шығару түрі:for (i=0; i<2; i++)for (j=0; j<3; j++){cout« a[i][j]«” “;cout«”\n”;}Мысал 34. Матрицаның жұп жəне тақ элементтерінің санын табыңдар. main(){ const int n=3, m=2;int a[n][m]; int i, j, k=0, t=0;for (i=0; i
40сурак.Символдық жолдар жəне оларды түрлендіру функцияларыМəні символ (əріп, цифр, таңба) болатын айнымалы символдық айнымалы деп аталады.Символдық айнымалыларға əрекеттер орындау үшін C++ тілінде string.h тақырыптық файлында анықталған функциялар қолданылады.Символдық айнымалылар былайша сипатталады: char айнымалылар тізімі; Мысалы: char a,b;
char x;Жол символдық жиым түрінде сипатталады. Мысалы: char x[10];Символдық жолды екі түрде енгізуге болады:1) жолдық тұрақты арқылы Мысалы: char x[20]=”Informatika”;char x[]=”Informatika”;2) символдар тізімі арқылыМысалы: char x[20]={‘I’,’n’, ‘f’, ‘o’, ‘r’, ‘m’, ‘a’, ‘t’, ‘i’, ‘k’, ‘a’,’\0’}; ‘\0’- жол соңын білдіретін символ.Символдық тұрақтының əр символы 0-ден бастап, солдан оңға қарай бүтін сандармен нөмірленеді.Мысалы: x[0]=’I’, x[5]=’m’ т.с.с.string.h тақырыптық файлында анықталған символдық айнымалыларды түрлендіру функцияларын қарастырайық.1.strlen(S) функциясы S символдық айнымалының ұзындығын табады. Символдық айнымалының ұзындығы деп ондағы символдар санын атайды. Əр тұрақтының ұзындығы (мəтіндегі символдар саны) 255-тен артпайды. Функция нəтижесінде бүтін типті сан шығады.=S+X[i][j];cout«"\nS["«i«"]="«S
41,42 сурак
C++ тіліндегі барлық функциялар екі категорияға бөлінеді:
Қолданушының өзі анықтайтын функция
C++ компиляторының пакетінде бар кітапханалық функциялар.
Алғашқы категорияға тоқталайық.
Паскаль тілінде ішкі бағдарламаның процедура және функция екі түрі болатын болса, С++ тілінде қолданушы ішкі бағдарламаның функция түрін ғана анықтай алады. С++ тілінде ішкі бағдарлама термині қолданылмайды, себебі функция негізгі бағдарламалық бірлік, яғни минимал орындалатын бағдарламалық модуль болып саналады. Әрбір бағдарлама main() атты негізгі функциядан тұрады. Егер бағдарламада басқа да функциялар қолданылса, онда олар ішкі бағдарламаның рөлін атқарады.
Функцияны анықтаудың жалпы форматы:
тип функция_ аты (типтері көрсетілген формальды параметрлер тізімі)
{
функция денесі
}
мұндағы, тип- функция қайтаратын нәтиженің типі.
Функциядан оны шақырған жерге қайтару үшін return операторы қолданылады. Бұл оператор функцияда екі формада қолданылуы мүмкін:
return; бұл жағдайда функция нәтижеге ешнәрсе қайтармайды.
return өрнек; функция нәтижесі болып берілген өрнектің мәні саналады.
Мысалы: return х;
Формальды параметрлер деп функция ішінде қолданылатын және оны әр шақырғанда әртүрлі бастапқы және соңғы мәнге ие болатын айнымалыларды атайды. Нақты параметрлер негізгі бағдарламада болады.
Фукциядағы негізгі бағдарламаға қатысы жоқ айнымалы жергілікті айнымалы деп аталады.
Негізгі бағдарламаның қажетті жерінде функцияны шақыру командасы орналасады.
Функцияны шақырудың (функцияға қол жеткізу) жалпы форматы:
функция_ аты (нақты параметрлер тізімі);
Функцияны шақыру кезінде формальды және нақты параметрлер арасында тізбек және тип бойынша сәйкестік ережесі орындалуы тиіс.
Мысал 51. Екі санның үлкенін табу функциясын қолданып, үш санның үлкенін табыңдар.
#include
#include
// қосымша функцияны анықтау
int MAX( int x, int y)
{ if (x>y) return x; else return y;
}
// негізгі функция
main()
{int a,b,c,M;
cin»a»b»c;
M=MAX(MAX(a,b),c);
cout«" 3 sannin ylkeni="«M;
getch();
}
Бұл бағдарламаны жергілікті айнымалы қолданып та құруға болады.
Мысал 52.
int MAX( int x, int y)
{ int k;
if (x>y) k=x; else k=y;
return k;
}
main()
{int a, b, c, M1, M;
cin»a»b»c;
M1=MAX(a,b);
M=MAX(M1,c);
cout«" 3 sannin ylkeni="«M;
}
Қосалқы функцияны қолданудың бір түрі ол- функция прототипін қолдану. Функция прототипі деп функцияны алдын- ала сипаттауды айтады. Оның жалпы түрі:
тип функция_ аты (типтері көрсетілген параметрлер тізімі);
Айырмашылығы, соңында нүктелі үтір белгісі қойылады және параметрлер атын көрсету міндетті емес, яғни int Max (int x, int y) жолын
int Max (int, int); деп жазуға болады.
Мысал 56. Жоғарыдағы екі санның үлкенін табу функциясын қолданып, үш санның үлкенін табу бағдарламасын функция прототипін қолданып былайша жазуға болады..
#include
#include
// функция прототипі
int MAX( int , int );
// негізгі функция
main()
{int a,b,c,M;
cin»a»b»c;
M=MAX(MAX(a,b),c);
cout«" 3 sannin ylkeni="«M;
getch();
}
// қосымша функцияны анықтау
int MAX( int x, int y)
{ if (x>y) return x; else return y;
}
Функцияның екінші түрі- кітапханалық функциялар. Жеке файлда сақталатын көмекші функциялар кітапханалық функциялар деп аталады. Стандарт кітапхана C++ бағдарламалау жүйесінің стандарт пакетіне кіреді. Кітапханалық файлдар қатарына cin, cout, scanf(), pritf(), rand(), getch(),sin(), cos() т.б. функцияларды жатқызуға болады. Ол функцияларды қолдану үшін .h типті файлдарды include(тақыптық файл аты) командасы арқылы қосу қажеттігі белгілі.
Мысалы: #include <iostream.h>, #include <conio.h>, #include <time.h>
#include<stdlib.h> т.с.с.
43сурак
Паскаль тілінде ішкі бағдарламаның процедура және функция екі түрі болатын болса, С++ тілінде қолданушы ішкі бағдарламаның функция түрін ғана анықтай алады. С++ тілінде ішкі бағдарлама термині қолданылмайды, себебі функция негізгі бағдарламалық бірлік, яғни минимал орындалатын бағдарламалық модуль болып саналады. Әрбір бағдарлама main() атты негізгі функциядан тұрады. Егер бағдарламада басқа да функциялар қолданылса, онда олар ішкі бағдарламаның рөлін атқарады.
Функцияны анықтаудың жалпы форматы:
тип функция_ аты (типтері көрсетілген формальды параметрлер тізімі)
{
функция денесі
}
мұндағы, тип- функция қайтаратын нәтиженің типі.
Функциядан оны шақырған жерге қайтару үшін return операторы қолданылады. Бұл оператор функцияда екі формада қолданылуы мүмкін:
return; бұл жағдайда функция нәтижеге ешнәрсе қайтармайды.
return өрнек; функция нәтижесі болып берілген өрнектің мәні саналады.
Мысалы: return х;
Формальды параметрлер деп функция ішінде қолданылатын және оны әр шақырғанда әртүрлі бастапқы және соңғы мәнге ие болатын айнымалыларды атайды. Нақты параметрлер негізгі бағдарламада болады.
Фукциядағы негізгі бағдарламаға қатысы жоқ айнымалы жергілікті айнымалы деп аталады.
Негізгі бағдарламаның қажетті жерінде функцияны шақыру командасы орналасады.
Функцияны шақырудың (функцияға қол жеткізу) жалпы форматы:
функция_ аты (нақты параметрлер тізімі);
Функцияны шақыру кезінде формальды және нақты параметрлер арасында тізбек және тип бойынша сәйкестік ережесі орындалуы тиіс.
Мысал 51. Екі санның үлкенін табу функциясын қолданып, үш санның үлкенін табыңдар.
#include
#include
// қосымша функцияны анықтау
int MAX( int x, int y)
{ if (x>y) return x; else return y;
}
// негізгі функция
main()
{int a,b,c,M;
cin»a»b»c;
M=MAX(MAX(a,b),c);
cout«" 3 sannin ylkeni="«M;
getch();
}
Бұл бағдарламаны жергілікті айнымалы қолданып та құруға болады.
Мысал 52.
int MAX( int x, int y)
{ int k;
if (x>y) k=x; else k=y;
return k;
}
main()
{int a, b, c, M1, M;
cin»a»b»c;
M1=MAX(a,b);
M=MAX(M1,c);
cout«" 3 sannin ylkeni="«M;
}
44сурак
Жиым деп бір атпен аталатын, саны алдын-ала анықталған бір типті элементтер жиынын атайды. Жиымның C++ тілінде сипатталу форматы:
элементтер_ типі жиым_ аты [элементтер_ саны]
Мысалы: int a[10];
float X[20], Y[20];
long int Z[3][4];
Паскаль тілінен айырмашылығы C++ - те индекске кез келген аралық енгізуге болмайды. Жиым элементтерінің ең төменгі индексі 0- ге тең, сондықтан, сипаттауда көрсетілген жиым өлшемі индекстің ең үлкен мәнінен 1- ге артық.
Мысалы: int a[10] түрінде сипатталған жиым элементтері төмендегідей:
a[0], a[1], a[2],… a[9];
Жиым элементтері сипаттаған кезде енгізілсе, онда оның өлшемін көрсетпеуге болады.
Мысалы: int Х[]={3, 8, 9, 1,-5};
яғни, X[0]=3, X[1]=8,...X[4]=-5
Жиымның бір және екі өлшемді түрлері бағдарламалауда жиі қолданылады.
Бір өлшемді жиымды түрлендіруді қарастырайық.
Бір өлшемді int a[10] жиымын жадыға енгізу былайша жүзеге асады:
for (i=0; i<10; i++)
{cout«”a[“«i«”]=”; cin»a[i];} // немесе cin» a[i];
Берілген жиым элементтерін экранға шығару түрі:
for (i=0; i<10; i++)
cout«”\n a[“«i«”]=”«a[i]; // немесе cout« a[i];
Мысал 31. 10 элементтен тұратын бүтін сандар жиымының оң элементтерінің арифметикалық ортасын табыңдар.
main()
{int a[10];
int S=0, i, k=0; float P;
for (i=0; i<10; i++) //жиым элементтерін енгізу
cin»a[i];
for (i=0; i<10; i++)
if (a[i]>0) {S+=a[i]; k++; }
P=S/k;
cout«"P="«P;
}
Мысал 32. Нақты сандар жиымының ең үлкен, ең кіші элементтерін және олардың индекстерін табыңдар.
#include
#include
#include
main()
{float a[]={4.6, 7.8, 3.5,12.6, 0.1} ;
int i, k, t; float min, max;
max=a[0]; k=0; min= a[0]; t= 0;
for (i=1; i<5; i++)
{if (maxif (min>a[i]) {min= a[i]; t=i;}
}
cout«"max="«max«" k="«k;
cout«"\n min="«min«" t="«t;
}
Мысал 33. Жиымды [1..10] аралығындағы кездейсоқ бүтін сандармен толтырып, бұл жиымның ең үлкен элементін тауып, оны бірінші элементтің орнына және ең кіші элементін тауып, оны соңғы элементтің орнына қойғанда пайда болған жиымды анықтаңдар.
#include
#include
#include
#include
main()
{int X[10];
int i, min, max;
srand(time(0));
for (i=0; i<10; i++)
{X[i]=rand()%10+1; //жиымды кездейсоқ сандармен толтыру
cout«X[i]«" ";} // жиымды шығару
max= X[0]; min= X[0]; // жиымның ең үлкен, ең кіші элементтерін табу
for (i=0; i<10; i++)
{if (maxif (min>X[i]) min= X[i];
}
cout«"\n";
X[0]= min; X[9]= max; //ең кіші элементті алғашқы, ең үлкенді соңғы
орынға қою
for (i=0; i<10; i++) //пайда болған жиымды шығару
cout«X[i]«" ";
getch();
}
45сурак
Екі өлшемді жиымның C++ тілінде сипатталу форматы:
элементтер_ типі жиым_ аты [жол саны][баған саны];
Мысалы: int A[2][3];
float X[3][5];
A жиымының элементтері: A[0][0], A[0][1], A[0][2],
A[1][0], A[1][1], A[1][2].
Екі өлшемді жиымды да (матрица) сипаттау бөлімінде анықтауға болады.
int A[][]={7, 5, 2,
3, 9, 1};
a[2][3] матрица элементтерін жадыға енгізу төмендегіше жүзеге асады:
for (i=0; i<2; i++)
for (j=0; j<3; j++)
cin» a[i][j];
Берілген матрица элементтерін қалпын сақтап экранға шығару түрі:
for (i=0; i<2; i++)
for (j=0; j<3; j++)
{cout« a[i][j]«” “;
cout«”\n”;}
Мысал 34. Матрицаның жұп және тақ элементтерінің санын табыңдар.
main()
{ const int n=3, m=2;
int a[n][m]; int i, j, k=0, t=0; // k-жұп, t-тақ элемент саны
for (i=0; ifor (j=0; j{cin» a[i][j];
if (a[i][j]%2==0) k++; else t++; }
cout«”жұп элемент саны=”«k«”'тақ элемент саны=”«t;
}
Мысал 35. [10,50] аралығындағы кездейсоқ бүтін сандармен толтырылған Х(3х4) матрицаның жолдарындағы элементтердің қосындысын табыңдар.
main()
{ int X[3][4]; int i, j, S;
srand(time(0));
for (i=0; i<3; i++)
for (j=0; j<4; j++)
X[i][j]=rand()%41+10;
for (i=0; i<3; i++) {
for (j=0; j<4; j++)
cout«X[i][j]«" "; cout«"\n";}
for (i=0; i<3; i++)
{S=0;
for (j=0; j<4; j++)
S=S+X[i][j];
cout«"\nS["«i«"]="«S;}
getch();
Мысал 36. Квадрат матрицаның (жол және баған сандары тең матрица) негізгі диагоналындағы теріс элементтердің көбейтіндісін және қосалқы диагоналындағы тақ элементтердің санын табыңдар.
main()
{ int a[5][5]; int i, j, k=0, P=1;
for (i=0; i<5; i++)
for (j=0; j<5; j++)
{cin»a[i][j];
if (i==j && a[i][j] <0) P=P*a[i][j];
if (i+j ==4 && a [i][j] % 2==1) k++;}
cout«"\n P="«P«" k="«k;
}
Мысалдағы i=j шарты квадрат матрицаның негізгі диагонал элементтерін, i+j =4 жетекші диагонал элементтерін қарау шарты болып табылады. (жалпы жағдайда i+j =n-1, мұндағы n - квадрат матрицаның жол не бағандарының саны.)
Мысал 37. Кездейсоқ бүтін сандармен толтырылған A(5х5) квадрат матрицаның негізгі диагоналындағы ең үлкен, қосалқы диагоналындағы ең кіші элементтерді табыңдар.
main()
{ int A[5][5]; int i, j, min, max;
srand(time(0));
for (i=0; i<5; i++)
for (j=0; j<5; j++)
A[i][j]=rand()%20;
for (i=0; i<5; i++) {
for (j=0; j<5; j++)
cout«A[i][j]«" "; cout«"\n";}
max=A[0][0]; min=A[0][4];
for (i=0; i<5; i++)
for (j=0; j<5; j++)
{ if ( i==j && maxif ( i+j ==4 && min>A[i][j] ) min=A[i][j] ;}
cout«"\n max="«max«" min="«min;
}
Мысал 38. A (N x N) квадрат матрицаны транспонирлеу бағдарламасын құрыңдар. (Транспонирлеу - матрица жолдарын бағандармен және керісінше алмастыру).
Мысалы: А матрицасы болса, оған транспонирленген матрица
түрінде болады.
main()
{ int A[5][5], B[5][5]; int i, j;
srand(time(0));
for (i=0; i<5; i++)
for (j=0; j<5; j++)
A[i][j]=rand()%9;
cout«"\n Matrix A \n\n";
for (i=0; i<5; i++) {
for (j=0; j<5; j++)
cout«A[i][j]«" "; cout«"\n";}
for (i=0; i<5; i++)
for (j=0; j<5; j++)
B[i][j]=A[j][i];
cout«"\n Matrix B \n\n";
for (i=0; i<5; i++) {
for (j=0; j<5; j++)
cout«B[i][j]«" "; cout«"\n";}
}
Достарыңызбен бөлісу: |