Skip to content

Commit

Permalink
Merge branch 'main' into patch-1
Browse files Browse the repository at this point in the history
  • Loading branch information
wahidustoz authored May 28, 2023
2 parents 66b506e + 8e2efa4 commit 0a37937
Show file tree
Hide file tree
Showing 8 changed files with 2,940 additions and 240 deletions.
386 changes: 386 additions & 0 deletions Lab 10 — Strings aa938c6de5274b3692044a1a317bf323.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,386 @@
# Lab 10 — Strings

### Masala 1

##### Description

>`N` ta belgidan iborat bitta string o'qing. Bo'sh kataklar kiritish mumkin emas. Faqat kichik harflarni(lowercase) chop eting.
> Masalan: "SaLoM" —>"ao"

###### Input

`N` ta belgidan iborat string (`1 ≤ N ≤ 20`).

###### Output

Faqatgina kiritilgan stringdagi kichik harflarning o'zini chop eting.

#### Namuna 1
| Input | Output |
| - | - |
| `HelloWorld` | `elloorld` |


#### Namuna 2
| Input | Output |
| - | - |
| `AbCdEEff` | `bdff` |

---

### Masala 2

##### Description

>Bitta butun N xonali son o'qing. Sonning har bir xonasini `char` ga o'giring. `char`larni bitta stringga teskari tartibda saqlang. Shu stringni string uchun ishlatiladigan *placeholder* yordamida chop eting, **print qilishda** *loop ishlatish mumkin emas*.
###### Input

`N` xonali son (1 ≤ N ≤ $2^{32}-1$).

###### Output

Kiritilgan sonni teskarisiga aylantirib, **`string`** sifatida `%s` orqali chop eting.

#### Namuna 1
| Input | Output |
| - | - |
| `9756` | `6579` |


#### Namuna 2
| Input | Output |
| - | - |
| `12345` | `54321` |

---

### Masala 3

##### Description

>- Harflari orasida ***space*** bo'lmagan, uzunligi `N` ga teng bo'lgan `string` o'qing.
>- Stringning uzunligi nechi bo'lsa, shuncha marta namunadagidek o'zgartirib chop eting.
>- Har safar `string`ning birinchi elementi stringning eng oxirida chop etilishi kerak. Qolgan elementlar o'z o'rnida qoladi.
###### Input

Uzunligi `N` ga teng bo'lgan string ($1 \le N \le 100$).

###### Output

`N` qator namunadagidek aylantirilgan, uzunligi `N`ga teng string.

#### Namuna 1
| Input | Output |
| - | - |
| `abcde` | `abcde`<br>`bcdea`<br>`cdeab`<br>`deabc`<br>`eabcd` |

---

### Masala 4

##### Description

>- Uzunligi `N`ga teng bo'lgan 2 ta `string` o'qing.
>- String elementlari orasida ***space*** bo'lishi **mumkin**.
>- Birinchi string uzunligi va ikkala string bir xil yoki bir xil emasligini tekshiring.
>- `strlen()` va `strcmp()` funksiyalarini ishlatish mumkin emas.
###### Input

Har birining uzunligi `N` ga teng bo'lgan 2 ta string (N ≤ 100).

###### Output

Avvalo, birinchi stringning uzunligini chop eting. Keyin, agar ikkala string bir-biriga teng bo'lsa 1 ni, aks holda 0 ni chop eting.

#### Namuna 1
| Input | Output |
| - | - |
| `Hello`<br>`world` | `5 0` |


#### Namuna 2
| Input | Output |
| - | - |
| `programming`<br>`programming` | `11 1` |

---

### Masala 5

##### Description

>- Elementlari orasida ***space*** bo'lmagan `str1` va `str2` stringlarni alohida o'qing.
>- `str1` ning uzunligini chop eting.
>- Agar `str1` o'z ichiga `str2`ni olsa, 1 ni, aks holda 0 ni chop eting.
>- `str1` ning uzunligi $\le 80$
>- `str2` ning uzunligi $\le 10$
###### Input

Ikkita `str1` va `str2` stringlar.

###### Output

Avvalo, birinchi stringning uzunligini chop eting. Keyin, agar `string1` o'z ichiga `string2`ni olsa 1 ni, aks holda 0 ni chop eting.

#### Namuna 1
| Input | Output |
| - | - |
| `Hello`<br>`world` | `5 0` |


#### Namuna 2
| Input | Output |
| - | - |
| `Helloworld`<br>`low` | `10 1` |

---

### Masala 6

##### Description

>Ikkita `str1` va `str2` stringlarni o'qing. `str1`da ***space*** bor bo'lishi mumkin, `str2`da yo'q. `str1` ning ichida `str2` necha marta takrorlanib kelganini aniqlaydigan dastur tuzing.
>- `str1` ning maksimum uzunligi ≤ 100.
>- AA string AAA stringning ichida bir marta takrorlanib keladi. AA string AAAA stringning ichida 2 marta takrorlanib keladi. Hech qaysi element ikki marta sanalamaydi.
###### Input

Ikkita alohida string.

###### Output

`str1` da `str2` necha marta takrorlanishini chop eting.

#### Namuna 1
| Input | Output |
| - | - |
| `Prrogram prrogram`<br>`rr` | `2` |


#### Namuna 2
| Input | Output |
| - | - |
| `Helloworld`<br>`low` | `1` |

---

### Masala 7

##### Description

>Bitta butun son `N`ni o'qing. Ikkinchi qatordan boshlab `N` ta qatorda `N` ta string o'qing. Stringlarda ***space*** bo'lishi mumkin. Eng qisqa stringni chop eting.
>- ***Space*** ham sanaladi.
>- Har bir stringning maksimum uzunligi ≤ 100.
###### Input

>- Birinchi qatorda butun son `N`. $2 \le N \le 100$
>- Ikkinchi qatordan boshlab `N` qator `N` ta string.
###### Output

Uzunligi eng qisqa bo'lgan stringni chop eting.

#### Namuna 1
| Input | Output |
| - | - |
| `4`<br>`Program`<br>`Good`<br>`This is string`<br>`language` | `Good` |

---

### Masala 8

##### Description

>Ikkita `str1` va `str2` stringlarni, va bitta butun son `p` ni o'qing. `p` `str1` ning indeksini anglatadi. Kiritilgan indeksdan boshlab `str2` ni `str1` ning ichiga qo'shib qo'ying.
>- Har bir stringning maksimum uzunligi `≤ 20`.
>- `p` butun soni `str1` ning uzunligidan katta emas.
>- agar `p = 0` bo'lsa, avval `str2` keyin `str1` chop etilishi kerak.
>- Qo'shimcha string ishlatish mumkin emas! Natijani chop etish uchun `str1` dan foydalanilsin.
###### Input

***Space*** qatnashmagan ikkita alohida stringlar `str1` va `str2` , va bitta butun son `p`.

###### Output

Kiritilgan indeksdan boshlab `str2` qo'shib qo'yilgan `str1` stringi.

#### Namuna 1
| Input | Output |
| - | - |
| `abcde`<br>`123`<br>`2` | `ab123cd3` |


#### Namuna 2
| Input | Output |
| - | - |
| `ABCD`<br>`abc`<br>`4` | `ABCDabc` |

---

### Masala 9

##### Description

>8-masalaning davomi. Yana bitta butun son o'qing. Agar 1 kiritilsa, `str2` ni teskarisiga aylantirib, keyin qo'shing. Aks holda, to'g'ridan to'g'ri, aylantirmasdan qo'shing.
>- 8-masalaning barcha shartlari amal qiladi.
>- 0: to'g'ri tartib, 1: teskari tartib.
#### Namuna 1
| Input | Output |
| - | - |
| `abcde`<br>`123`<br>`2`<br>`0` | `ab123cde` |


#### Namuna 2
| Input | Output |
| - | - |
| `abcde`<br>`123`<br>`2`<br>`1` | `ab321cde` |

---

### Masala 10

##### Description

> ***cin >>*** yordamida ikkita ***space*** ishtirok etmagan stringlarni o'qing. Ikkala stringni leksikografik tartib(lexicographic order)dan foydalanib taqqoslang. Agar 1-string katta bo'lsa, 2-stringni 1-stringning oxiriga qo'shing(concatenate qiling) va 1-stringni chop eting. Agar 2-string katta bo'lsa, 1-stringni 2-stringning oxiriga qo'shing(concatenate qiling) va 2-stringni chop eting.
>- Har bir stringning maksimum uzunligi ≤50.
>- faqatgina lowercase(kichik) harflar kiritilsin.
###### Input

Ikkita ***space*** qatnashmagan stringlar.

###### Output

Bitta bir qator, qo'shilgan string.

#### Namuna 1
| Input | Output |
| - | - |
| `sejong`<br>`university` | `universitysejong` |

---

### Masala 11

##### Description

>Bitta butun son `N`ni o'qing va uni ingliz tilida, quyidagicha chop eting.
>- `N` < 10000;
>- Quyidagicha chop eting
- Raqamlar(0-9): one two three four five six seven eight nine;
- Ming uchun THO, yuz uchun HUN, o'n uchun TEN so'zlaridan foydalanilsin.
- Raqam 0 bo'lsa, tashlab keting.

###### Input

Bitta butun son `N`.

###### Output

Kiritilgan sonni ingliz harflari yordamida namunadagidek chop eting.

#### Namuna 1
| Input | Output |
| - | - |
| `3496` | `three THO four HUN nine TEN six` |


#### Namuna 2
| Input | Output |
| - | - |
| `520` | `five HUN two TEN` |

---

### Masala 12

##### Description

>***Space*** qatnashmagan bitta string o'qing va kiritilgan string palindrom yoki palindrom emasligini tekshiring.
>- `check()`
- argumentlari: stringning boshlanish manzilini saqlovchi pointer o'zgaruvchi
- Stringning palindrom yoki palindrom emasligini tekshiradi.
- Case-sensitive: Katta-kichik harflarni har xil qabul qiladi.
- Agar palindrom bo'lsa 1, palindrom bo'lmasa 0 ni qaytararadi.
>- `main()`
- Bitta string o'qiydi. Stringning maksimum uzunligi ≤ 30.
- Kiritilgan stringning uzunligini chop etadi.
- check() funksiyani chaqiradi va agar string palindrom bo'lsa 1 ni, aks holda 0 ni chop etadi.

###### Input

Uzunligi 30 dan oshmaydigan, ***space***lar ishtirok etmagan bitta string.

###### Output

Stringning uzunligini va check() funksiyadan qaytgan qiymatni bitta qatorda, orasida bo'sh kataklar bilan chop eting.

#### Namuna 1
| Input | Output |
| - | - |
| `Hello` | `5 0 ` |


#### Namuna 2
| Input | Output |
| - | - |
| `aibohpphobia` | `12 1 ` |

---

### Masala 13

## `strcpy`

>Bitta string o'qing (maksimum uzunligi 100). Shu string ni ikkinchi yarmini boshqa stringga ko'chirib o'tkazing va ikkinchi stringni chop eting.
>- kiritilgan stringda bo'sh kataklar bo'lmaydi
>- agar birinchi string uzunligi toq bo'lsa, o'rtadagi ortiqcha belgi ikkinchi yarmiga tegishli deb hisoblansin
#### Namuna 1
| Input | Output |
| - | - |
| `Helloworld` | `world` |


#### Namuna 2
| Input | Output |
| - | - |
| `Hello` | `llo` |

---

### Masala 14

## `strcat`

>Birinchi stringni `N`-indexidan boshlab ikkinchi stringni ulaydigan dastur tuzing.
>- birinchi string uzunligi $strlen(str1) \le 100$
>- ikkinchi string uzunligi $strlen(str2) \le 20$
###### Input

- birinchi qatorda bo'sh kataklarsiz birinchi string
- ikkinchi qatorda `N` $0 \le N \le strlen(str1)$
- uchinchi qatorda ulash uchun bo'sh kataklarsiz yana bir string

###### Output

Birinchi stringni `N`-indeksidan boshlab ikkinchi stringni ulang va birinchi stringni chop eting.
Loading

0 comments on commit 0a37937

Please sign in to comment.