-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
2,940 additions
and
240 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
Oops, something went wrong.