Составить программу, которая с помощью BubbleSort находит минимальный элементв каждый строчке массива(матрицы). Количество строк и колонн вводит пользователь.
Вот, что имею уже:
#include <iostream>
#include<cstdlib>
#include<ctime>
#include <algorithm>
using namespace std;
int main(){
srand(time(0));
int n,m;
int a[n][m];
int i,j,k;
cout<<"Ievadi masiva rindu skaits!: ";cin>>n;
cout<<"Ievadi masiva kolonnu skaits!: ";cin>>m;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
a[i][j]=rand()%100;
cout<<a[i][j]<<" ";
}
cout<<"\n";
}
for(i=0;i<n; i++)
{
min=a[i][0];
for(j=0;j<m; j++)
{
if(massiv[i][j]<min)
min=a[i][j];
}
}
}
C/C++
Программирование с++. Bubblesort в матрицах
Зачем здесь сортировка пузырьком? В данном случае это не очень хороший способ нахождения минимальных элементов в строках. А если уж и отсортировать матрицу, так можно её сразу и напечатать - лишь бы в экран влезла! Так будут видны все её минимальные элементы в каждой строке. Хотя, конечно, и минимальные элементы можно ещё выдать отдельным столбиком:
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
using namespace std; int n, m;
void print(int **a) { int i, j; for (i = 0; i < n; i++)
{ for (j = 0; j < m; j++) cout << setw(3) << a[i][j];
cout << endl; } }
int main() { int i, j, k; cout << "n m » ";
cin >> n >> m; int b, **a = new int* [n];
for (i = 0; i < n; i++) a[i] = new int [m];
srand(time(NULL)); for (i = 0; i < n; i++)
for (j = 0; j < m; j++) a[i][j] = rand() % 100;
cout << "Original Matrix:" << endl; print(a);
for (i = 0; i < n; i++) for (j = 1; j < m; j++)
for (k = m - 1; k >= j; k--) if (a[i][k - 1] > a[i][k])
{ b = a[i][k - 1]; a[i][k - 1] = a[i][k]; a[i][k] = b; }
cout << "Transformed Matrix:" << endl; print(a);
cout << "Minimal elements:" << endl;
for (i = 0; i < n; i++) cout << setw(3) << i + 1 << " » "
<< setw(3) << a[i][0] << endl; system("pause > nul"); }

#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
using namespace std; int n, m;
void print(int **a) { int i, j; for (i = 0; i < n; i++)
{ for (j = 0; j < m; j++) cout << setw(3) << a[i][j];
cout << endl; } }
int main() { int i, j, k; cout << "n m » ";
cin >> n >> m; int b, **a = new int* [n];
for (i = 0; i < n; i++) a[i] = new int [m];
srand(time(NULL)); for (i = 0; i < n; i++)
for (j = 0; j < m; j++) a[i][j] = rand() % 100;
cout << "Original Matrix:" << endl; print(a);
for (i = 0; i < n; i++) for (j = 1; j < m; j++)
for (k = m - 1; k >= j; k--) if (a[i][k - 1] > a[i][k])
{ b = a[i][k - 1]; a[i][k - 1] = a[i][k]; a[i][k] = b; }
cout << "Transformed Matrix:" << endl; print(a);
cout << "Minimal elements:" << endl;
for (i = 0; i < n; i++) cout << setw(3) << i + 1 << " » "
<< setw(3) << a[i][0] << endl; system("pause > nul"); }

A_Boss Kurbanov
Маша, здравствуйте. Спасибо большое. Это дз. Дали бабл сорт, значит надо бабл сорт. Огромное вам спасибо, открыли мне глаза на программирование. Но не совсем то, что искал. Если не сложно, могли бы вы хотя бы подсказать, как пользоваться бабл сортом. Все-таки сдавать именно с ним надо...
Похожие вопросы
- Программирование. Обработка двумерных массивов (матриц)
- Задача на языке программирования СИ на тему матрицы
- Программирование матриц на С++
- Помогите новичку с программированием и матрицами C++
- Найти максимальный элементы в строке матрицы
- Чёт не пойму, как сделать рандомные значения матрицы через массив, прошу доработать, пж прогу!
- Матрицы, массивы C++
- Программирование на С++
- Программирование на C++
- C++Дана целочисленная матрица размера mn. Найти матрицу, получающуюся перестановкой столбцов