Другие языки программирования и технологии

Помогите !!!С++Работа с одномерными и двумерными массивами. В каждой строке матрицы F(k, k) элемент. лежащий на главной

В каждой строке матрицы F(k, k) элемент. лежащий на главной диагонали, если это простое число. заменить значением минимального элемента всей матрицы. Работа с одномерными и двумерными массивами.

#include

using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
const int k=3;
int matrix[k][k];
int n;
cout << "Ввести размер матрицы";
cin>>n;
cout << "заполните элементы массива"<<endl;
for (int i = 0; i < k; i++)
{
for (int j = 0; j < k; j++)
{
cin >> matrix[i][j];
}
}

cout << "Исходная матрица: \n";
for (int i = 0; i < k; i++) {
for (int j = 0; j < k; j++) {
cout << matrix[i][j] << " ";
}
}
int min=matrix[0][0];
for(int j=0;j<k;j++)
for(int i=0;imatrix[i][j])
min=matrix[i][j];
cout<<min<<"s";
int pr=true;
for(int i=0;i<k;i++)
{for(int j=0;j<k;j++)

if (i==j)
{if(matrix[i][i]%i==0){pr=false;}
else{pr=true;
}
}
}
matrix[k][k]=min;
cout<<"Если число на главной диогонали простое меняем на минимальный элемент матрицы"<<matrix[k][k]<<endl;
system("pause");
return 0;
}
#include <iostream>
using namespace std;
bool is_prime(const int num) {
bool prime;
if (num < 6 && (num <= 2 || num == 3 || num == 5)) prime = true;
else if (~num & 1 || 0 == num % 3 || 0 == num % 5) prime = false;
else {
int n;
for (n = 3; n * n <= num && num % n; n += 2) { ; }
prime = n * n > num;
}
return prime;
}
void fill(int* vec, const size_t n) {
for (size_t i = 0; i < n; ++i) cin >> vec[i];
}
void show(const int* vec, const size_t n) {
for (size_t i = 0; i < n; ++i) cout << ' ' << vec[i];
cout.put('\n');
}
void min(const int* vec, const size_t n, int& min) {
for (size_t i = 0; i < n; ++i) if (vec[i] < min) min = vec[i];
}
int main() {
const size_t k = 20;
int matrix[k][k];
setlocale(LC_CTYPE, "Russian");
cout << " Введите размер матрицы: ";
size_t n;
cin >> n;
if (n > k) n = k;
cout << " Введите данные в матрицу: ";
for (size_t i = 0; i < n; ++i) fill(matrix[i], n);
system("cls");
cout << "\t Исходная матрица: \n\n";
for (size_t i = 0; i < n; ++i) show(matrix[i], n);
cout.put('\n');
auto mn = numeric_limits<int>::max();
for (size_t i = 0; i < n; ++i) min(matrix[i], n, mn);
cout << " Минимум матрицы: " << mn << "\n\n\t Изменённая матрица: \n\n";
for (size_t i = 0; i < n; ++i) if (is_prime(matrix[i][i])) matrix[i][i] = mn;
for (size_t i = 0; i < n; ++i) show(matrix[i], n);
cout.put('\n');
system("pause");
}
ЮК
Юрий Костриченко
97 938
Лучший ответ
Никита Щукин помогите исправить ошибку

Похожие вопросы