MASSIVLAR.
Massivning juft va toq o’rnidagi elementlarini almashtiring.
#include
using namespace std;
int main()
{
const int n=10;
int k, A[n];
cout<<"Massiv elementlarini kiriting:"< for(int i=1; i<=n; i++)
cin>>A[i];
cout<<"Almashgan ko'rinishi:"< for(int i=1; i<=n; i++)
{
k=A[2*i-1];
A[2*i-1]=A[2*i];
A[2*i]=k;
}
for(int i=1; i<=n; i++)
cout< return 0;
}
Navbat bilan tanlash orqali ikkita bir o’lchamli massivlarni qo’shing,
#include
using namespace std;
int main()
{
const int n=10;
int k, A[n], B[n], C[2*n];
cout<<"Massiv elementlarini kiriting:"< for(int i=1; i<=n; i++)
{
cin>>A[i];
cin>>B[i];
}
cout<<"Ikkita massivni birlashtirish:"< for(int i=1; i<=n; i++)
{
C[2*i-1]=A[i];
C[2*i]=B[i];
}
for(int i=1; i<=2*n; i++)
cout< return 0;
}
To’g’ri almashtirish (Bu usul qo’shni elementlarni almashtirish usuli yoki pufakli usul deb ham ataladi), usuli bo’yicha massivni saralash. Berilgan massivni tartiblang.
#include
using namespace std;
int main()
{
const int n=10;
int k, A[n];
cout<<"Massiv elementlarini kiriting:"< for(int i=1; i<=n; i++)
{
cin>>A[i]; //Massiv elementlarini kiritish
}
cout<<"Massivning saralangan ko'rinishi:"< for(int i=1; i<=n-1; i++) //Massivnin saralash jarayoni
for(int j=1; j<=n-1; j++)
if(A[j]>A[j+1])
{
k=A[j];
A[j]=A[j+1];
A[j+1]=k;
}
for(int i=1; i<=n; i++) //Saralangan massivni ekranda ko'rish
cout< return 0;
}
Shell usulida massivni tartiblash. Massiv elementlarini Shell usuli bo’yicha tartiblang.
#include
using namespace std;
int main()
{
const int n=10;
int j, c, k, A[n];
cout<<"Massiv elementlarini kiriting:"< for(int i=1; i<=n; i++)
{
cin>>A[i]; //Massiv elementlarini kiritish
}
cout<<"Massivning saralangan ko'rinishi:"< k=n/2;
while(k>0)
{
for(int i=n-k; i>=1; i--) //Massivni saralash jarayoni
{
j=i;
while(i<=n-k)
{
if(A[j]>A[j+k])
{
c=A[j];
A[j]=A[j+1];
A[j+1]=c;
}
j=j+k;
}
}
k=k/2;
}
for(int q=1; q<=n; q++)
cout< return 0;
}
Ikki o’lchamli massivlar bilan ishlash. Bunda matritsa tushunchas yotadi, ya’ni ikki o’lchamli massivning matematik ifodasi matritsadir. Uning asosy tushunchalari bilan tanishib o’taylik:
Ushbu A matritsaning bosh diagonali 1, 5, 9 sonlaridan iborat, yordamchisi esa 3,5,7 sonlaridan. Agar
i=j bo’lsa, bosh diagonalda joylashgan elementlar
i>j bo’lsa, bosh diagonaldan pastda joylashgan elementlar
i
i j bo’lsa, bosh diagonal va undan pastda joylashgan elementlar
i bo’lsa, bosh diagonal va undan yuqorida joylashgan elementlar
i+j=n+1 bo’lsa, yordamchi diagonalda joylashgan elementlar
i+j
i+j>n+1 bo’lsa, yordamchi diagonaldan pastdajoylashgan elementlar
Kvadrat matritsaning bosh diagonalidan tashqari barcha elementlari nolga teng bo’lsa, diagonallo matritsa deb ataladi. Diagonalli matritsaning bosh diagonali barcha elementlari birga teng bo’lsa, birlik matritsa deb ataladi.
Transponirlangan matritsa – Satr va ustunari elemntlari o’rnini almashtirish natijasidan hosil bo’lgan matritsa
Matritsani jadval usulida chiqaring.
#include
using namespace std;
int main()
{
const int n=3, m=3;
int A[n][m];
cout<<"Matritsa elementlarini kiriting:"< for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
cin>>A[i][j]; //Matritsa elementlarini kiritish
//Matritsa elementlarini jadval ko'rinishida chiqarish
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
cout< }
return 0;
}
Ikkita berilgan matritsani qo’shing.
#include
using namespace std;
int main()
{
const int n=3, m=3;
int A[n][m], C[n][m], B[n][m];
cout<<"Matritsa elementlarini kiriting:"< for(int i=1; i<=n; i++) //Matritsa elementlarini kiritish
for(int j=1; j<=m; j++)
{
cin>>A[i][j];
cin>>B[i][j];
}
//Matritsa elementlarini qo'shish
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
C[i][j]=A[i][j]+B[i][j];
}
return 0;
}
Matritsalarni ko’paytirish. Matritsalarni ko’paytiring
#include
using namespace std;
int main()
{
const int n=3, m=3;
int S, A[n][m], C[n][m], B[n][m];
cout<<"Matritsa elementlarini kiriting:"< for(int i=1; i<=n; i++) //Matritsa elementlarini kiritish
for(int j=1; j<=m; j++)
{
cin>>A[i][j];
cin>>B[i][j];
}
//Matritsa elementlarini ko'paytirish
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
{
S=0;
for(int k=1; k<=n; k++)
S+=A[i][k]*B[k][i]; //Bitta elementni ikkinchi matritsaning ustunlariga ko'paytirib qo'shib chiqish
C[i][j]=S;
}
return 0;
}
Transponirlangan matritsani hosil qiling.
#include
using namespace std;
int main()
{
const int n=3, m=3;
int A[n][m], B[n][m];
cout<<"Matritsa elementlarini kiriting:"< for(int i=1; i<=n; i++) //Matritsa elementlarini kiritish
for(int j=1; j<=m; j++)
{
cin>>A[i][j];
}
//Matritsa elementlarini transponirlash
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
{
B[i][j]=A[j][i];
}
return 0;
}
Matritsani soat yo’nalishi bo’yicha 900 ga buring.
#include
using namespace std;
int main()
{
const int n=3, m=3;
int A[n][m], B[n][m];
cout<<"Matritsa elementlarini kiriting:"< for(int i=1; i<=n; i++) //Matritsa elementlarini kiritish
for(int j=1; j<=m; j++)
{
cin>>A[i][j];
}
//Matritsani 90 gradusga burish
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
{
B[i][j]=A[n+1-j][i];
}
return 0;
}
Massivning k-elementini o’chiring
#include
using namespace std;
int main()
{
const int n=10;
int A[n], k;
cout<<"Massiv elementlarini kiriting:"< for(int i=1; i<=n; i++) //Massiv elementlarini kiritish
cin>>A[i];
cout<<"k="; cin>>k;
for(int i=k; i<=n; i++) //k-elementini o'chirish
{
A[i]=A[i+1];
}
for(int i=1; i<=n-1; i++)
cout< return 0;
}
Sonli massiv berilgan. Unda bir xil qo’shni elementlar juftligini qanchaligini toping.
#include
using namespace std;
int main()
{
const int n=10;
int A[n], S=0, a=0;
cout<<"Massiv elementlarini kiriting:"< for(int i=1; i<=n; i++) //Massiv elementlarini kiritish
cin>>A[i];
for(int i=1; i<=n-1; i++)
{
if (A[i]==A[i+1])
S++;
}
cout< return 0;
}
Berilgan massivda qaysi element eng ko’p uchrashini aniqlang va ulardan ketma-ketlik boshiga yaqinining indksini aniqlang.(Bu masala qo’shimcha massiv ishlatmasdan ishlanishi kerak).
#include
using namespace std;
int main()
{
const int n=10;
int max=0, S=1, ind, A[n];
cout<<"Massiv elementlarini kiriting:"< for(int i=1; i<=n; i++) //Massiv elementlarini kiritish
cin>>A[i];
max=0;
for(int i=1; i<=n-1; i++)
{
S=1;
for(int j=i+1; j<=n; j++)
{
if(A[i]==A[j])
S++;
}
if(max {
max=S;
ind=i;
}
}
cout<<"Eng ko'p "< return 0;
}
6.12.
#include
using namespace std;
int main()
{
const int n=10;
int k, A[n];
cout<<"Massiv elementlarini kiriting:"< for(int i=1; i<=n/2; i++) //Massiv elementlarini kiritish
cin>>A[i];
for(int i=n; i>=1; i-=2)
{
A[i]=A[i/2]; //Joylashtirish algoritmi
A[i-1]=A[i];
}
for(int i=1; i<=n; i++)
cout< return 0;
}
Massivni siklik siljitish. Siklik siltishda massiv oxiridan o’ng tarafga surilgan elementlar massiv boshidafi bo’sh joylarni to’ldiradi. Masalan, A[1,2,3,4,5,6,7] massivni 3 razryad o’ngga siljitsak A[5,6,7,1,2,3,4] massivi hosil bo’ladi.
Berilgan A massivni m raztyadag siklik siljiting
Do'stlaringiz bilan baham: |