Ergashov Ruslanning malumotlar tuzulmasi va algoritmlash fanidan muastqil ishi


Download 395.68 Kb.
bet6/7
Sana20.02.2023
Hajmi395.68 Kb.
#1215646
1   2   3   4   5   6   7
Bog'liq
mta

Функциялар ва сатрлар. Функцияларда сатрлар ишлатилганда уларнинг чегарасини кўрсатиш шарт эмас. Сатрларнинг узунлигини хисоблаш lenфункциясии қуйидагича таърифлаш мумкин:

int len(char c[]) { int m=0;
for(m=0;c[m]!=’0’;m++); return m;
};

Шу функциядан фойдаланилган дастурни келтирамиз: #include
using namespace std; int len(char c[])
{ int m=0; while(c[m++]); return m-1; };
int main() {
char e[]="Pro Tempore!"; cout<<"\n"<

Бу функциянинг стандарт варианти strlen деб аталади ва бу функциядан фойдаланиш учун string.hсарлавхали файлидан фойдаланиш лозим.

http://dasturchi.uz http://dastur.uz
Сатрдан нусха олиш strcpy функциясини С++ тилида қуйидагича таърифлаш мумкин:

#include using namespace std;
void strlen(char s1[], char s2[]) {
int i=0;
while(s2[i]!='\0') s1[i++]=s2[i]; s1[i]=s2[i];
}
int main() {
char s1[]="aaa"; char s2[]="ddd"; strcpy(s1,s2); cout<< s1; return 0;
} Натижа: ddd

Берилган сатрни тескарига айлантирувчи функция: reverse(char s[])
{
int c, i, j;
for(i = 0, j = strlen(s) - 1; i < j; i++, j--) c = s[i];
s[i] = s[j]; s[j] = c;
}

Кейинги мисолимизда T каторни S катор охирига уловчи STRCAT(S,T) функциясини кўриб чиқамиз:
strcat(char s[], t[]) {
int i, j; i = j = 0;
while (s[i] != '\0') i++;
while((s[i++] = t[j++]) != '\0') }

5.4. Сўзлар массивлари

87
http://dasturchi.uz http://dastur.uz
Сўзлар массивини киритиш. С++ тилида сўзлар массивлари икки ўлчовли символли массивлар сифатида таърифланади. Мисол учун:
char name[4][5].
Бу таъриф ёрдамида хар бири 5 та харфдан иборат бўлган 4 та сўзли массив киритилади. Сўзлар массивлари қуйидагича инициализация қилиниши мумкин:
char Name[3][8]={ "Анвар","Миркомил","Юсуф"}.
Бу таърифда хар бир сўз учун хотирадан 8 байт жой ажратилади ва хар бир сўз охирига '\0'белгиси куйилади.
Сўзлар массивлари инициализация қилинганда сўзлар сони кўрсатилмаслиги мумкин. Бу холда сўзлар сони автоматик аниқланади:
char comp[][9]={ "компьютер","принтер","картридж"}. Қуйидаги дастурда берилган харф билан бошланувчи сўзлар рўйхати
босиб чиқарилади:

#include using namespace std; int main()
{
char a[10][10]; char c;
for (int i=0;i<10;i++) cin>>a[i]; cin>>c;
for (int i=0;i<10;i++)
if (a[i][0]==c) cout<
}

Қуйидаги дастурда фан номи, талабалар рўйхати ва уларнинг бахолари киритилади. Дастур бажарилганда икки олган талабалар рўйхати босиб чиқарилади:

#include using namespace std; int main()
{
char a[10][10]; char s[10]; int k[10]; cin>>s;
for (int i=0;i<10;i++) {
cin>>a[i]; cin>>k[i];

88
http://dasturchi.uz http://dastur.uz
};
for (int i=0;i<10;i++)
if (k[i]==2) cout<
}


Download 395.68 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling