2 bo‘lsa (x1,y1)<(x2,y2). Berilgan to‘plamdagi nuqtalar o‘sish tartibida joylashtirilsin.
3
0 0 -1 0 -3 0
|
-3 0 -1 0 0 0
|
Tajriba mashg’uloti № 19
Paskal tilida ikki o‘lchovli massivlarga doir
programmalar tuzish
Mashg’ulotning maqsadi: talabalarda ikki o‘lchovli massivlarga doir dasturlar tuzish malaka va ko‘nikmalarini hosil qilish.
Nazariy ma’lumotlar ma’ruza darslarida keltirilgan.
Ikki o‘lchovli massivlarni tashkil etish va ularga qiymatlar kiritish
Ushbu bo‘limda quyidagilarga e`tibor berish kerak bo‘ladi: ya`ni ikki o‘lchovli massiv satrlari soni (m), ustunlari soni n, hamda elementlari soni larni e’tiborga olish lozim. Agar masalalarda satrlar va ustunlar soni aniq ko‘rsatilmagan bo‘lsa, ularni 2 dan 10 gacha bo‘lgan oraliqda o‘zgartirish tavsiya etiladi. Matritsaning boshlang‘ich qiymati 1- va 2-indekslari 1 bo‘lgan elementida joylashadi. Matritsaga kiritish va chiqarish satrlar bo‘yicha amalga oshiriladi.
m o‘lchamli kvadrat matritsa 2 o‘lchovli massiv hisoblanadi. Matritsalarni tashkil eish va ularning elementlarini chiqarish. Matritsalarni tashkil etish masalalaridagi natijaviy matritsa o‘lchami 10X10 dan oshmaydi.
45– masala uchun programma
|
Paskal tilida
|
Borland C++ tilida
|
program matrix45;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
f1,f2:text;
a:array[1..1000,1..1000] of real;
t:real;
j,i,n,m:byte;
t1,t2:boolean;
u1,k1:byte;
begin
assign(f1,'matrix45.in');reset(f1);
assign(f2,'matrix45.out');rewrite(f2);
readln(f1,m,n);
for i:=1 to m do begin
for j:=1 to n do
read(f1,a[i,j]);
end;
t1:=true;
t2:=true;
u1:=0;k1:=0;
for i:=1 to n do begin
for j:=1 to m-1 do begin
if (a[j,i]>a[j+1,i]) then
t1:=t1 and false;
if (a[j,i]
t2:=t2 and false;
end;
if t1 then u1:=u1+1;
if t2 then k1:=k1+1;
t1:=true;t2:=true;
end;
if u1>k1 then write(f2,u1)
else write(f2,k1);
close(f1);
close(f2);
end.
End.
|
#pragma matrix45
#include
int main(int argc, char **argv)
{
static float a[1000][1000];
static float t;
static short int j,i,n,m;
static bool t1,t2;
static short int u1,k1;
ifstream f1("matrix45.in");
ofstream f2("matrix45.out");
f1>>m>>n;
for (i=1;i<=m;i++){
for (j=1;j<=n;j++)
f1>>a[i][j];
}
t1=true;
t2=true;
u1=0;k1=0;
for (i=1;i<=n;i++){
for (j=1; j<=m-1;j++){
if (a[j][i]>a[j+1][i])
t1=t1 && false;
if (a[j][i]
t2=t2 && false;
}
if (t1) u1=u1+1;
if (t2) k1=k1+1;
t1=true;t2=true;
}
if (u1>k1) f2<
else f2<
f1.close();
f2.close();
return 0;
}
|
95– masala uchun programma
|
program matrix95;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
f1,f2:text;
a:array[1..1000,1..1000] of real;
k,j,i,m:byte;
begin
assign(f1,'matrix95.in');reset(f1);
assign(f2,'matrix95.out');rewrite(f2);
readln(f1,m);
for i:=1 to m do
for j:=1 to m do
read(f1,a[i,j]);
k:=1;
for i:=m downto m div 2 do begin
for j:=k+1 to m-k do
a[i,j]:=0;
k:=k+1
end;
for i:=1 to m do
begin
for j:=1 to m do
write(f2,a[i,j]:2:2,' ');
writeln(f2);
end;
close(f1);
close(f2);
end.
|
#pragma matrix95
#include
int main(int argc, char **argv)
{
static float a[1000][1000];
static short int k,j,i,m;
ifstream f1("matrix95.in");
ofstream f2("matrix95.out");
f1>>m;
for (i=1;i<=m;i++)
for (j=1;j<=m;j++)
f1>>a[i][j];
k=1;
for (i=m;i>=m/2;i--){
for (j=k+1;j<=m-k;j++)
a[i][j]=0;
k=k+1;
}
for (i=1;i<=m;i++)
{ for (j=1;j<=m;j++)
f2<
f2<<"\n";
}
f1.close();
f2.close();
return 0;
}
|
Topshiriqlar:
1. Matritsalarni tashkil etish va ularga qiymatlar kiritish.
1. m va n butun musbat sonlar berilgan. Massivning 1-satridagi har bir elementiga 10*i(i=1,…, m) qiymatlarni joylashtirish bilan o‘lchamli butun sonli matritsa tashkil etilsin.
2. m va n butun musbat sonlar berilgan. Massivning j-ustunidagi har bir elementiga 5*j(j=1,…,n) qiymatlarni joylashtirish bilan o‘lchamli butun sonli matritsa tashkil etilsin.
3. m, n butun musbat sonlar va m ta sonlar nabori berilgan. Har bir ustunida tanlangan sonlar nabori joylashgan. o‘lchamli matritsa tashkil etilsin.
4. m, n butun musbat sonlar va n ta sonlar nabori berilgan. Har bir satrida tanlangan sonlar nabori joylashgan. o‘lchamli matritsa tashkil etilsin.
5. m, n butun musbat sonlari, d soni va m ta sondan iborat nabor berilgan. 1-ustuni tanlangan sonlar naboriga teng, qolgan ustunlari o‘zidan oldingi ustundagi mos elementlarga d sonini qo‘shish orqali hosil qilingan o‘lchamli matritsa tashkil etilsin.
6. m, n butun musbat sonlari, q soni va m ta sondan iborat nabor berilgan. 1-satri tanlangan sonlar naboriga teng, qolgan ustunlari o‘zidan oldingi satrdagi mos elementlarga q sonini ko‘paytirish orqali hosil qilingan o‘lchamli matritsa tashkil etilsin.
7. o‘lchamli matritsa va k(1≤k≤m) soni berilgan. Berilgan matritsaning k-satridagi elementlar chop etilsin.
8. o‘lchamli matritsa va k(1≤k≤m) soni berilgan. Berilgan matritsaning k-ustunidagi elementlar chop etilsin.
9. o‘lchamli matritsa berilgan. Juft indeksda joylashgan satrlardagi elementlar chop etilsin. Satr bo‘yicha elementlarini chiqarishda shart operatoridan foydalanilmasin.
10. o‘lchamli matritsa berilgan. Toq nomerda joylashgan ustunlardagi elementlar chop etilsin. Ustun bo‘yicha elementlarini chiqarishda shart operatoridan foydalanilmasin.
11. o‘lchamli matritsa berilgan. Uning elementlari quyidagi tartibda chop etilsin: 1-satr elementlarini chapdan o‘ngga, 2-satr elementlarini o‘ngdan chapga, 3-satr elementlarini chapdan o‘ngga, 4-satr elementlarini o‘ngdan chapga va hokazo.
12. o‘lchamli matritsa berilgan. Uning elementlari quyidagi tartibda chop etilsin: 1-ustun elementlarini tepadan pastga, 2-ustun elementlarini pastdan tepaga va hokazo.
13. o‘lchamli a kvadrat matritsa berilgan. Uning boshlang‘ich elementi a11 hisoblanadi. Uning elementlari quyidagi ko‘rinishda chiqarilsin: barcha 1-satrdagi elementlarini; oxirgi ustun elementlarini, (a1,m elementdan tashharisini); 2-satrdagi ekranga chiqmagan elementlarini, oxiridan oldingi ustundagi chop etilmagan elementlarini va hokazo; eng oxirida am1 elementi chop etilsin.
14. o‘lchamli a kvadrat matritsa berilgan. Uning boshlang‘ich elementi a11 hisoblanadi. Uning elementlari quyidagi ko‘rinishda chiqarilsin: 1-ustundagi barcha elementlar; oxirgi satrdagi chop etilmagan elementlar (1-elementdan tashhari); 2-ustundagi qolgan elementlar, oxiridan oldingi satrdagi qolgan element va hokazo; hamda eng oxirida a1,m element chop etilsin.
15. m - tartibli a kvadrat matritsa berilgan(m-toq son). Element a1,1 dan boshlanadi. Matritsa elementlari soat strelkasi bo‘yicha spiralsimon ko‘rinishda joylashtirilib, matritsa chop etilsin : 1-satr, oxirgi ustunning qolgan elementlari yuqoridan pastga harab, oxirgi satrning qolgan elementlari o‘ngdan chapga harab, 1-ustunning qolgan elementlari pastdan yuqoriga harab, 2-satrning qolgan elementlari chapdan o‘ngga harab va hokazo. Oxirida markazdagi element chop etilsin.
16. m - tartibli a kvadrat matritsa berilgan(m-toq son). Element a1,1 dan boshlanadi. Matritsa elementlari soat strelkasiga teskari tartibda spiralsimon ko‘rinishda chop etilsin: 1-ustun, oxirgi satrning qolgan elementlari, oxirgi ustunning qolgan elementlarini quyidan yuqoriga harab, 1-satrning qolgan elementlarini o‘ngdan chapga harab, 2-ustunning qolgan elementlarini yuqoridan pastga harab va hokazo. Eng oxirida markazdagi element chop etilsin.
Do'stlaringiz bilan baham: