112
37. Бҥтiн санды В [0..5, 0..5] жиымы берiлген. Жиымның ең кiшi элементiн табыңдар
және оның диагоналдың қай жағында орналасқаны туралы хабарды экранға
шығарыңдар.
38. Бҥтiн санды В [0..5,0..5] жиымы берiлген. Жиымның бас диагоналынан жоғары
орналасқан элементтердiң қосындысын табыңдар.
39. Бҥтiн санды В [0..5,0..5] жиымы берiлген. Жиымның бас диагоналынан тӛмен
орналасқан элементтердiң кӛбейтiндiсiн есептеп шығарыңдар.
40. Бҥтiн санды В [0..5,0..5] жиымы берiлген. Жиымның бас диагоналан тӛмен
орналасқан терiс таңбалы элементтерiнiң санын табыңдар.
41. Бҥтiн санды В[0..5,0..5] жиымы берiлген. Жиымның бас диагоналынан жоғары
орналасқан оң таңбалы элементтерiнiң санын табыңдар.
42. Бес цехтың әрқайсысының 4 бӛлiмшесiндегi барлық шикiзат туралы мәлiмет
кестесi берiлген. Шикiзаты ең аз цехтың нӛмiрiн анықтаңдар.
43. А[0..3, 0..15] жиымы берiлген. Оның iшiнде ӛзара тең екi элементтiң индекстерiн
басып шығарыңдар.
44. а
1
, а
2
, а
3
сандары берiлген. Элементтерi В[i,j] = а
i
– 3a
j
болатын бҥтiн санды В
[0..3, 0..3] жиымын анықтаңдар.
45. Нақты а
1
, а
2
, ... , а
10
, b
1
, b
2
, ... , b
20
сандары берiлген. Элементтерi аi,j = i +2j
болатын бҥтiн санды А [0..10, 0..12] жиымын алыңдар.
46. Ӛлшемдерi 5*5 матрицаның ең кіші элементiнен кейін орналасқан барлық
элементтерінің қосындысын есептеңдер.
47. Нақты [0..7, 0...7] жиымын алыңдар, оның 1-жолы а1j = 2j + 3 формуласымен, 2-
жолы а2j = j + 3/(2+j) формуласымен берiлiп, содан кейiнгi әрбiр жол алдыңғы екi
жолдың қосындысына тең болатын болсын.
48. Натурал п саны берiлген. Егер аi,j= sin(i+j/2) болса, A[0..п, 0..п] жиымында қанша
оң элемент болатындығын анықтаңдар.
49. Бҥтiн санды А[0..4, 0..5] жиымы берiлген. Әрбiр бағананың арифметикалық орта-
сын табыңдар.
50. Барлық элементтерi нӛлге тең емес п..т ӛлшемдi нақты жиым берiлген. Бҧл
жиымның модулi бойынша ең ҥлкен элементiне басқа барлық элементтерiн бӛлу
арқылы жаңа жиым алыңдар.
51. Бҥтiн санды А[0..4, 0..5] жиымы берiлген. Соңғы жолдан басқа жолдарды әрбiр
элементi бойынша азайту арқылы матрицаны тҥрлендiрiңдер.
52. Екiӛлшемдi С жиымының әрбiр жолын ӛсу ретiмен орналастыратын программа
қҧрыңдар.
53. т..п ӛлшемдi матрицаның әрбiр жолын кему ретiмен орналастыратын программа
қҧрыңдар.
54. Бҥтiн санды А[0..4, 0..5] жиымы берiлген. Қҧрылымында кем дегенде бiр рет 10-ға
тең элементi бар жолдардың нӛмiрiн анықтаңдар.
55. т..п ӛлшемдi матрицаның әрбiр бағанасын ӛсу ретiмен орналастыратын програм-
ма қҧрыңдар.
56. А[0..5, 0..5] жиымы берiлген. Бҧл жиымның әрбiр жолының элементтерiн
диагоналдың сол жағында орналасқан элементтерге бӛлу жолымен алынған жаңа
жиым қҧрыңдар.
57. А[0..5, 0..6] жиымы берiлген. Оның бiрiншi және соңғы жолдарының орындарын
алмастырыңдар.
113
58. А[0..5, 0..6] жиымы берiлген. Оның бiрiншi және соңғы бағаналарының орнын
алмастырыңдар.
59. Тiкбҧрышты матрица берiлген. Элементтерiнiң қосындысы ең ҥлкен болатын жол-
ды табыңдар.
60. Тiкбҧрышты матрица берiлген. Элементтерiнiң қосындысы ең ҥлкен болатын
бағананы табыңдар.
61. Ӛлшемi 4х8 болатын бҥтiн сандар жиымындағы барлық жҧп нӛмiрлi элемент-
терiнiң қосындысын табыңдар.
62. Бҥтiн сандардың 5х5 ӛлшемдi жиымындағы бас диагоналда орналасқан барлық
элементтердiң қосындысын табыңдар.
63. Бҥтiн сандардың 7х4 ӛлшемдi жиымындағы максимал элементтiң жолы мен
бағана нӛмiрлерiн табыңдар.
64. Бҥтiн сандардың 6х5 екiӛлшемдi жиымы бар. Элементтерiнiң арифметикалық орта
мәнi максимал болатын жолдың нӛмiрiн табыңдар.
65. Бҥтiн сандардың 5х9 ӛлшемдi жиымында бiрдей нӛмiрлi жол мен бағананың
орнын алмастырыңдар.
66. Екiӛлшемдi жиымның элементтерi сиқырлы квадрат (сиқырлы квадратта барлық
вертикаль, горизонталь және екi диагональ бойынша сандардың қосындысы
бiрдей болады) қҧрайтындығын тексеретiн программа қҧрыңдар.
67. Матрицаның элементтерi қосалқы диагональ бойынша симметрия қҧра отырып
орын алмастыратын программа қҧрыңдар .
68. Екiӛлшемдi k жиымының бағаналарын циклдi тҥрде, оның i-шi бағанасын i + 1
бағанасымен алмастыра отырып, соңғы бағана бiрiншi болып орналасатындай
деңгейге жеткізетін программа қҧрыңдар.
69. Екiӛлшемдi А жиымының нӛлге тең элементтерi жоқ жолдарының оң элемент-
терiнiң қосындысын есептеп шығаратын программа қҧрыңдар.
70. Квадрат пiшiндi кестенің ең кiшi элементін анықтап, соған сәйкес жол мен бағана
элементтерінің орындарын алмастырыңдар.
114
7. СӚЗ ТІРКЕСТЕРІН ӚҢДЕУ
Pascal тілінде сӛз тіркестерін ӛңдеу кезінде қолданылатын арнайы тип –
string бар. Ал С тілінде мҧндай арнайы тип жоқ. Сӛз тіркестері char типті бір
ӛлшемді жиым ретінде қарастырылады, яғни сӛз тіркесі – нӛлдік байтпен
аяқталатын char типті бір ӛлшемді жиым. Нӛлдік байт – барлық биттері де
нӛлге тең байт, ол „\0‟ символдық константасымен анықталады (тіркес соңы
белгісі немесе нӛл-терминатор). Сондықтан егер тіркесте k символ болса, онда
жиымды сипаттауда k+1 элемент кӛрсетілуі тиіс.
Мысалы, char a[7] деген сипаттау тіркестің 6 символдан тҧратынын, ал
соңғы байт нӛлдік екенін білдіреді. С тіліндегі тіркестік (жолдық) константа –
қос тырнақшаға алынған символдар жиыны. Мысалы, ―Берілген тапсырма‖
тіркесі, оның соңына нӛлдік байтты компилятор автоматты тҥрде ӛзі жазады.
Айнымалы мәні болатын сӛз тіркесін сипаттау кезінде бірден кӛрсетуге
болады, мысалы, char S1[10]=”123456789”, S2[]=”Болат”;
Соңғы сӛз ҧзындығы тіркестің символдары санымен анықталады.
Символдар тіркесін пернелерден енгізу ҥшін екі стандартты функция –
scanf() немесе gets() қолданылады, ал олардың прототиптері stdio.h
тақырыптық файлында болады.
7.1 Символдық таңбаларды енгізу/шығару
Символдарды біртіндеп енгізу/шығару ҥшін printf() және scanf()
функцияларының %c форматы қолданылады.
getch() – параметрсіз функция, басылған перненің кодын (int) береді, экранға
ешқандай символ шығармайды.
getchar() – параметрсіз функция. Пернеден символдарды бір-бірлеп
енгізеді. Сӛз тіркесі <Enter> пернесі басылғанша енгізіле береді, оған дейін
оны ӛзгертуге де болады.
putch(c) – бір символды (c – cимволдық айнымалы немесе константа), яғни
бір таңбаны ғана экранға шығарады.
putchar(c) – бҧл да тек бір таңбаны экранға шығарады.
Бҧлар conio.h тақырып файлы бойынша жҧмыс істейді.
Мысалы, латын әліпбиі әріптерін экранға шығару программасы тӛмен-
дегідей болады:
#include
#include
void main()
{ char z;
clrscr();
for(z='A';z<='Z';z++)
putchar(z);
getch();
}
Нәтижесі:
Достарыңызбен бөлісу: |