2 ) -4 10 12 3 6 8 2
3 ) -4 2 12 3 6 8 10
4 ) -4 2 3 12 6 8 10
5 ) -4 2 3 6 12 8 10
6 ) -4 2 3 6 8 12 10
7) -4 2 3 6 8 10 12
A lgoritmi
Dasturi
//Saralash o'sish bo'yicha
// max_min usuli
#include
#include
#include
using namespace std;
int main()
{
int i,j,n,k;
float y,r;
float a[8]={0,6,10,12,3,-4,8,2};
n=7;
cout<cout<<" Massivni saralash - Min(max) usuli"<cout<cout<<" n = "<// cout<// cout<<"vvedite kol. strok massiva n = ";
// cin>>n;
// cout<<"vvedite kol. stolbtcov massiva m = ";
// cin>>m;
// int a[n][m];
cout<<" *** Saralanmagan massiv ***"<cout<for (i=1; i<=n; i++)
cout<<" "<cout<
for (i=1; i<=n-1; i++)
{ y=a[i];
k=i;
for (j=i; j<=n; j++)
{
if(y>a[j])
{ y=a[j];
k=j;
}
}
r=a[k];
a[k]=a[i];
a[i]=r;
}
cout<cout<<" *** Saralanmagan massiv ***"<cout<for (i=1; i<=n; i++)
cout<<" "<cout<getch();
return 0;
}
------------------------------------------------------------------------------------------------
NATIJA
Matritsani 2 ga va 3 ga qoldiqsiz bo’linadigan elementlaridan bir o’lchamli sonli massiv hosil qilinsin (Model+algoritm+dastur tuzilsin)
Masalani modeli:
Matеmatik tavsifi, umumiy хоlat
qoldiqsiz bo’linish sharti 2 ga va 3 ga:
k=0,
va
2 la shart bajarildi demak bitta element topildi
k = k+1, bk = ai,j
endi keyingi elementni tekshiriladi va hakozo.
endi B massiv elementlari chop qilinadi.
A lgoritmi
Dasturi
//Прямоугольная матрица
//Матрицани 2 га хамда 3 га колдиксиз булинадиган
//элементларидан бир улчамлик массив хосил килиш
#include
#include
#include
using namespace std;
int main()
{
int n,m,l;
cout<cout<<" vvedite kol. el. massiva stroke N = ";
cin>>n;
cout<cout<<" vvedite kol. strok massiva M = ";
cin>>m;
int a[n][m],b[n*m];
//matritsa elementlarini RND bilan hosil qilish
for (int i=0; ifor (int j=0; j{
// a[i][j]=rand()%100;
cout<<"a["<cin>>a[i][j];
}
cout<for (int i=0; i{
for (int j=0; jcout<<" "<cout<}
//2 ga 3 ga bo'linadigan elementni aniqlas
int k=0;
for (int i=0; i{
for (int j=0; jif ((a[i][j]%2==0) && (a[i][j]%3==0)){k=k+1;b[k]=a[i][j];}
}
if(k==0) {cout<<" matritsani 2 ga 3 ga bo'linadigan elementlari yoq"<cout<<" ------------------------ "<cout<cout<<" matritsani 2 ga 3 ga bo'linadigan elementlari"<cout<for (int i=1; i<=k; i++)
cout<<" "<cout<getch();
return 0;
}
====================================================================
Variant – n2
Satrdagi eng uzun so’z chop qilinsin, so’zlar bitta probel bilan ajratilgan (Model+algoritm+dastur tuzilsin)
I.Маtematik modeli:
a – simvollardan iborat satr
pb – simvolli o’zgaruvchida probel saqlanadi, yani pb = ” “;
d – simvolli o’zgaruvchi, unga a satrdan olingan bitta simvol
yoziladi
lensoz – so’zni uzunligi
len – satrni uzunligi
1 2 3 4 5 6 7 8 9 10 11 12 13 1415161718192021222324 25 26 272829 30
algoritm
|
˽
|
mex
|
˽
|
informatika
|
˽
|
gram
|
˽
|
8
|
i
|
3
|
|
11
|
i
|
4
|
|
So’zlar uzunligidan bir o’lchamlik massiv hosil qilamiz, yani
t – satrdagi so’zlar soni; bi – i-chi so’zni uzunligi
so’zlardan tashkil qilingan massiv.
Uzun so’zni topish algoritmi
- bir o’lchamli massivni eng
katta elementini topish formulasi
satrdan bitta simvolni ajratish buyrug’idan foydalanamiz - strncpy(d,a+i,1); a satrdan i-chi nomerdan bitta simvolni nusxasi d o’zgaruvchiga yoziladi.
satrni uzunligi bo’yicha tsikl tashkil qilib so’zlarni ajratib olamiz va uzunligini hisoblaymiz.
Natija eng uzun so’zni uzunligi - lensoz, eng uzun so’zni nomeri - t, eng uzun so’z - p larni qiymati chop qilinadi.
II.Algoritmi
III. Dastur kodi С++
// Satrdagi uzun so'zni aniqlash
#include
#include
#include
#include
using namespace std;
int main()
{
char a[80],d[2],p[30];//satrni, ajratib olinadigan
//simvolni va ajratiladigan so’zni uzunligi
int len,i,k,t;
int ni,ll,lensoz;
cout<cout<<" a satrni kirit\n";
cout<cout<<" ";
gets(a);//kiritiladigan satrni o’qish
len=strlen(a); //satrni uzunligini aniqlash
cout<cout<<" satrni uzunligi len = "<cout<string pb=" ";
k=0; i=1; t=0;
ni=0;ll=1;
while (i<=len)
{
strncpy(d,a+i,1);//a satrdan i-chdan boshlab 1
//simvolni nusxasini d o’zgaruvchiga yozish
d[1]='\0';// d o’zgaruvchini oxiriga 0 kodini yozish
if(d==pb)
{
k=k+1;
lensoz=i-ni;//so’zni uzunligi
if(lensoz>=ll) {t=k; strncpy(p,a+ni,lensoz);
p[lensoz+1]='\0';ll=lensoz-1;
}
ni=i;
}
i=i+1;
}
cout<cout<<" so'zni nomeri t = "<getch();
return 0;
}
-----------------------------------------------------------------------------------------
Dat.txt fayliga N ta sonli malumot yozilgan. Sonlarning umumiy yig’indisi va o’rtacha qiymati hisoblansin (Model+algoritm+dastur tuzilsin).
I.Modeli – matematik tavsifi:
Dat.txt faylidan N ta malumotni o’qib quyidagi bir o’lchamli massivga joylashtiramiz
,
, .
I I.Algoritmi
III.Dasturi
//sonli massivni summasi va o'rtacha qiymati
//malumotlar fayldan o'qiladi
#include
#include
#include
#include
#include
using namespace std;
int main()
{
int i,n,k;
float s,so;
ifstream input("Dat.txt"); // Открываем файл для чтения;
cout<//input>>(n); // fayldan birinchi sonni o'qish "Dat.txt";
//cout<<" n = "<input>>n;
cout<<" n = "<float a[n];
for(i=1;i<=n;i++)
{
input>>(a[i]); // Читает следующий символ из файла "Dat.txt";
cout<<" "<}
cout<s=0;
for(i=1;i<=n;i++)
s=s+a[i];
so=s/n;
cout<<" summa s = "<Download 1,09 Mb. Do'stlaringiz bilan baham: |