написать программу на С++. Дана матрица B[N,M]. найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом строки соответственно.

если можно то расписать каждую строчку
Вопрос задан анонимно
11.05.16
1 ответ

Ответы

template <class T>
inline void Swap(T &a, T &b)
{
T t = a;
a = b;
b = t;
}

#define M 6
#define N 6

int main2()
{
int B[ M ][ N ];
for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
{
B[ i ][ j ] = rand();
TRACE(_T("% 5d, "), B[ i ][ j ]);
}
TRACE(_T("\n"));
}

for (int i = 0; i < M; i++)
{
int nMin = 0, nMax = 0;
for (int j = 1; j < N; j++)
{
if (B[ i ][ j ] < B[ i ][ nMin ])
{
nMin = j;
}

if (B[ i ][ j ] > B[ i ][ nMax ])
{
nMax = j;
}
}

if (nMin != 0)
{
Swap<int>(B[ i ][ 0 ], B[ i ][ nMin ]);
}

if (nMax != N — 1)
{
if (nMax == 0)
{
Swap<int>(B[ i ][ N-1 ], B[ i ][ nMin ]);
}
else
{
Swap<int>(B[ i ][ N-1 ], B[ i ][ nMax ]);
}
}
}

TRACE(_T("\n"));
for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
{
TRACE(_T("% 5d, "), B[ i ][ j ]);
}
TRACE(_T("\n"));
}

return 0;
}
13.10.16
Рекомендуем личную консультацию

Елена Васильевна

Меня зовут Елена Васильевна, я репетитор по математике из г. Гомель (Беларусь). Занимаюсь со школьниками (8 по 11 класс), а также со студентами.
Посмотреть всех экспертов из раздела Учеба и наука > Информатика