Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Visual C++ _ зертханалық жұмыс.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
831.46 Кб
Скачать

6.3 Өзіндік тапсырмалар

Динамикалық массивтерді өңдейтін программа жазыңыз. Массив өлшемін пернетақта арқылы еңгізіңіз. Терезелік қосымшаны құру барысында нәтижені Label компонентіне шығарыңыз. Массивті енгізіу-шығаруды StringGrid компоненті арқылы жасаңыз. Онда 0-ші жол мен 0-ші бағанды массив индекстерін көрсетіге қолданыңыз.

  1. N*M өлшемді матрицадан В векторын алу керек, егер k-ші бағанның барлық элементтері 0 тең болса, онда оның k-ші элементіне 0 мәнін меншіктейсіз, әйтпесе 1 тең болсын.

  2. N*M өлшемді матрицадан В векторын алу керек, егер k-ші жолдың барлық элементтері кему ретімен орналастырылса, онда оның k -ші элементіне 1 мәнін меншіктеледі, әйтпесе 0 тең болсын.

  3. N*M өлшемді матрицадан В векторын алу керек, егер k-ші жол симметриялы болса, онда оның k -ші элементіне 1 мәнін меншіктеп, әйтпесе 0 тең болсын.

  4. N*M өлшемді матрица берілген. «өзгеше» элементтер санын табыңыз, элементті «өзгеше» деп санайсыз, егер ол сол бағанындағы өзінен басқа барлық элементтер қосындысынан үлкен болса.

  5. N*M өлшемді матрица берілген. Сол жағында өзінен үлкен элемент орналасқан, ал оң жағында өзінен кіші болатын элементтер матрица элементтерінің санын табыңыз.

  6. N*M өлшемді матрица берілген. Матрицадағы әр түрлі элементтер санан табыңыз. Яғни ұқсас элементтерді бір-ақ рет санаңыз.

  7. N*M өлшемді матрицаның жолдарын бірінші элементтері арқылы өсу ретімен орналастырыңыз.

  8. N*M өлшемді матрицаның жолдарын ондағы элементтерді қосындысы арқылы өсу ретімен орналастыр.

  9. N*M өлшемді матрицаның жолдарын оның ең үлкен элементтері арқылы өсу ретімен орналастырыңыз.

  10. Квадрат матрица қосалқы диагональға симметриялық екенін анықтыңыз.

  11. N*M өлшемді матрица берілген.Сол жағында өзінен кіші элемент орналасқан,ал оң жағында өзінен үлкен болатын элементтер қосындысын табыңыз.

  12. Квадрат матрицада қосалқы диагоналдан жоғары жатқан элементтер көбейтіндісін табыңыз.

  13. Квадрат матрицада қосалқы диагоналдан төмен жатқан элементтер арасынан максимум элементін табыңыз.

  14. N*M өлшемді матрицада максимум элементі орналасқан жолды минимум элементі орналасқан жолмен орындарын ауыстырыңыз.

  15. n өлшемді матрицадан модулі ең үлкен элемент орналасқан жерде қиылысатын жол мен бағанды жою арқылы n-1 өлшемді матрицаны алыңыз.

  16. n өлшемді матрицадан бастапқы диагоналдан төмен жатқан элементтер қосындысын және бастапқы диагоналдан жоғары жатқан элементтер көбейтіндісін табыңыз.

Зертханалық жұмыс №7. Бағдарламалауда жолдарды пайдалану

Мақсаты: жолдық  деректер типін сипаттамаларын зерттеу және ListBox және SomboBox компонентерімен жұмыс істеу ережелерімен танысу. Жолдармен жұмыс істейтін программаларды жазу және орындау.

7.1. Жалпы теориялық ақпарат Символдардық масив ретіндегі жолдар

C/C++ тілдерінде жол - әрбір биті нөлге тең нөлдік байтпен аяқталатын, ондағы нөлдік байтқа ´\0´(жолдың аяқталғанын білдіретін немесе нөл-терминатор) тұрақтысы анықталған бір өлшемді массив.

80 символдан тұратын жолдар үшін массивті сипаттауда өлшемін 81 деп көрсету керек, себебі соңғы байт нөл-терминаторға бөлінеді.

Жолдық тұрақты – тырнақшаға алынған символдар жиыны, мысалы, “ Зертханалық жұмыс №7” (\0 белгіленбейді).

Жолдарды декларацииялау кезінде инициализиялауға болады, мысалы

char S1[10] = ”123456789”, S2[ ] = ”12345”;

соңғы жағдайда жолдың өлшемі нақты саны бойынша алынады.

Жолдарға амалдар орындау үшін стандартты кітапханалар функциясынан пайдаланған ұсынылады, жиі қолданылатын кітапханалық string.h функцияларын қарастырайық:

1) strcpy(S1, S2) – S2 жолын S1 жолына көшіріп жазады;

2) strcat(S1, S2) – S2 жолын S1 жолына қосып жазады және S1 массивіне жалғастырып орналастырады; S2 жолын еш өзгеріссіз орналастырады және S1 жолының соңын білдіретін нөлдік байтқа S2 жолдың бірінші символын орналастырады.

3) strcmp(S1, S2) – S1 және S2 жолдарын салыстырады, егер олар тең - бірдей(симводары да, символдар саны да бірдей) болса, онда =0 мән қайтарады; егер S1<S2 болса онда мәні <0, егер S1>S2 мәні >0 болады .

4) strlen(S) – жолдың ұзындығын береді, яғни символдар санын, S[0]) бастап нөл-терминатоға дейін. Нөл-терминатор орны есептелмейді.

5) strstr(S1, S2) – S1 жолында S2 жолдың бірінші кездесуін көрсетеді.

6) S жолын санға түрлендіреді(stdlib.h кітапханасы): бүтін - (int) atoi(S); бүтін ұзын – (long) atol(S); нақты – (double) atof(S); қате кеткен жағдайда бұл функциялар 0 мәнін қайтарады.

7) V санын S жолына түрлендіреді: бүтін – itoa(int V, char S, int kod); бүтін ұзын ltoa(long V, char S, int kod); kod параметрінің түрлендіретін санау жүйесін таңдаумен анықталады және 2kod36 аралығында болады. Теріс сандар үшін kod = 10.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]