|
Задача 20.
Условие задачи Алгоритм работы Листинг программы Набор тестов
Условие задачи
Задан двумерный массив. Проверьте можно ли переставить элементы каждой строки так, чтобы они расположились в строго возрастающем порядке.
Условие задачи Алгоритм работы Листинг программы Набор тестов
Алгоритм работы
Идет построчная проверка - есть ли одинаковые элементы, так как в этом случае нельзя элементы расположить в СТРОГО возрастающем порядке.
Условие задачи Алгоритм работы Листинг программы Набор тестов
Листинг программы
-
#include
#include
#include
void main()
{
int a[100][100],i,j,k,t,n,m,p;
cout<<"vvedite kol-vo el n i m"<<endl;
cin>>n;
cin>>m;
randomize();
a[0][0]=random(20);
for (i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
a[i][j]=random(20);
}
}
for(i=0;i<n;i++)
{
for (j=0;j<m;j++)
{
cout.width(4); cout<<a[i][j];}
cout<<endl;
}
k=0;
for (i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
p=a[i][j];
for(t=0;t<m;t++)
if (p==a[i][t])
{
k=k++;
}
}
if (k>m)
{
cout<<"nelza"<<endl;
}
else {cout<<"mogno"<<endl;
}
k=0;
}
}
|
-
#include
#include
#include
void pr(int i,int j,int n,int m,int k,int p,int t,int a[100][100]);
void main()
{
int a[100][100],i,j,k,t,n,m,p;
cout<<"vvedite kol-vo el n i m"<<endl;
cin>>n;
cin>>m;
randomize();
a[0][0]=random(20);
for (i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
a[i][j]=random(20);
}
}
for(i=0;i<n;i++)
{
for (j=0;j<m;j++)
{
cout.width(4); cout<<a[i][j];}
cout<<endl;
}
pr(0,0,n,m,0,p,t,a);
/*
k=0;
for (i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
p=a[i][j];
for(t=0;t<m;t++)
if (p==a[i][t])
{
k=k++;
}
}
if (k>m)
{
cout<<"nelza"<<endl;
}
else {cout<<"mogno"<<endl;
}
k=0;
} */
}
void pr(int i,int j,int n,int m,int k,int p,int t,int a[100][100])
{
k=0;
if (i<n)
{
for(j=0;j<m;j++)
{
p=a[i][j];
for(t=0;t<m;t++)
if (p==a[i][t])
{
k=k++;
}
}
if (k>m)
{
cout<<"nelza"<<endl;
}
else {cout<<"mogno"<<endl;
}
k=0;
pr(i+1,0,n,m,0,p,t,a);
}
}
|
Условие задачи Алгоритм работы Листинг программы Набор тестов
Набор тестов к программе
Тест 1:
Массив:
4 3 19
1 2 13
12 8 3
ответ –
можно
можно
можно
Тест 2:
Массив:
0 2 16 15 7
6 7 0 18 5
17 15 17 19 2
13 10 2 17 9
7 13 14 8 18
ответ –
можно
можно
нельзя
можно
можно
Тест 3:
Массив:
9 2 5 9
3 5 3 8
2 4 6 2
1 8 1 9
ответ –
нельзя
нельзя
нельзя
нельзя
Автор решения: Панькова Екатерина
группа: 121Ми
год: 2009
Автор задачи: Гладков В.П. Курс лабораторных работ по программированию: Учебное пособие для специальностей электротехнического факультета ПГТУ/ Перм.гос.техн.ун-т.-Пермь,1998.-153с.
|