1. for va foreach sikllari


x4 massiv berilgan. Uning oxirgi ustunini o’sish tartibda saralang


Download 65.67 Kb.
bet49/49
Sana19.06.2023
Hajmi65.67 Kb.
#1625730
1   ...   41   42   43   44   45   46   47   48   49
Bog'liq
дəстурлеу жуаплары100

99. 5x4 massiv berilgan. Uning oxirgi ustunini o’sish tartibda saralang.
#include
#include

using namespace std;

int main() {
int massiv[5][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}, {17, 18, 19, 20}};

// Transponirlash
int transponed_massiv[4][5];
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 5; j++) {
transponed_massiv[i][j] = massiv[j][i];
}
}

// Oxirgi ustunni saralash
for (int i = 0; i < 4; i++) {
sort(transponed_massiv[i], transponed_massiv[i] + 5);
}

// Transponirlangan massivni qaytarish
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 4; j++) {
cout << transponed_massiv[j][i] << " ";
}
cout << endl;
}

return 0;
}
100. 4x3 massiv berilga. Uning 2 chi va 3 chi qatorlaridagi eng katta elementlar o’rinlarini almashtiring
Quyidagi C++ kodida berilgan 4x3 ikki o’lchamli massiv yaratiladi va uning 2-chi va 3-chi qatorlaridagi eng katta elementlar o’rinlarini almashtiriladi:
cpp
#include
using namespace std;
int main() {
int massiv[4][3] = {{3, 5, -2},
{0, -7, 6},
{1, 2, 9},
{-3, 5, 6}};
cout << "Massiv: " << endl;
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 3; j++) {
cout << massiv[i][j] << " ";
}
cout << endl;
}
int max1 = massiv[1][0];
int max2 = massiv[2][0];
int max_index1 = 0;
int max_index2 = 0;
for (int j = 1; j < 3; j++) {
if (massiv[1][j] > max1) {
max1 = massiv[1][j];
max_index1 = j;
}
if (massiv[2][j] > max2) {
max2 = massiv[2][j];
max_index2 = j;
}
}
int temp = massiv[1][max_index1];
massiv[1][max_index1] = massiv[2][max_index2];
massiv[2][max_index2] = temp;
cout << "O'zgartirilgan massiv: " << endl;
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 3; j++) {
cout << massiv[i][j] << " ";
}
cout << endl;
}
return 0;
}
Bu kodda, massiv nomli 4x3 ikki o’lchamli massiv yaratiladi va uning 2-chi va 3-chi qatorlaridagi eng katta elementlar o’rinlari almashtiriladi.
for tsikli orqali massivning barcha elementlari konsolga chiqariladi. 2-chi va 3-chi qatorlardan eng katta elementni topish uchun, ikkita o'zgaruvchiga max1 va max2 massivning 2-chi va 3-chi qatorlarning birinchi elementiga tenglanadi. Keyin for tsikli orqali qatorlarning qolgan elementlariga qarab eng katta element aniqlanadi va uning indeksi max_index1 va max_index2 o'zgaruvchilariga saqlanadi.
Eng katta elementlarning o'rni almashtirilish uchun, 2-chi va 3-chi qatorlardagi eng katta elementlar bir-biriga almashtiriladi. Uchun bir xil o'zgaruvchilarga tenglashdan oldin, 2-chi qatorning eng katta elementi temp o'zgaruvchisiga saqlanadi. Keyin 2-chi qatorning eng katta elementi 3-chi qatorning eng katta elementiga tenglanadi va oxiriga, 3-chi qatorning eng katta elementi esa temp o'zgaruvchisidagi qiymatga tenglanadi.
Natijada, massiv avvalgi holatida va 2-chi va 3-chi qatorlardagi eng katta elementlar o’rinlari almashtirilgan holda konsolga chiqariladi.
Misol uchun, yuqoridagi koddagi massiv natijasi quyidagicha:
Massiv:
3 5 -2
0 -7 6
1 2 9
-3 5 6
O'zgartirilgan massiv:
3 5 -2
6 -7 0
1 2 9
-3 5 6
Bu yerga kirgan massivning 2-chi qatorida eng katta element -7 ga teng bo'lgan massiv[1][1] o'rniga, 3-chi qatorida eng katta element 9 ga teng bo'lgan massiv[2][2] o'rni almashtirilgan holda yangi massiv quyidagicha:
3 5 -2
6 -7 0
1 2 9
-3 5 6

Download 65.67 Kb.

Do'stlaringiz bilan baham:
1   ...   41   42   43   44   45   46   47   48   49




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