7. Дана квадратная матрица действительных чисел размером 9х10. Заменить в ней нулями все элементы, значения которых: а) равны максимальному значению всей матрицы; 6) равны минимальному значению всей матрицы; в) больше среднего арифметического. Она легкая но не понятно max = a[0][0]; min = a[0][0]; for (i = 0; i < n; i++) for (j = 0; j < m; j++) { if (a[i][j] > max) max = a[i][j]; } printf("\n Максимальное значение матрицы А: %6.1f", max); Код max = a[0][0]; min = a[0][0]; for (i = 0; i < n; i++) for (j = 0; j < m; j++) { if (a[i][j] > max) max = a[i][j]; } printf("\n Максимальное значение матрицы А: %6.1f", max); Вот код который находит максимальное значение, теперь нужно ввести еще if( который будет a[j] == max) a[j] = 0; Да ? И так для минимума ? :jerry: Я не программист)
В программировании я короче не шарю, короче как теперь Финальную матрицу переписать в матрицу B?? Чтобы не было никаких условий? #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <iostream> #include <locale> void main() { setlocale(LC_ALL, "Russian"); int i, j, n = 9, m = 10; float a[9][10]; float max, min, sum, aref; printf("-------------------------------------------------"); printf("\n Исходная матрица А:"); printf("\n-------------------------------------------------"); for (i = 0; i < n; i++) { printf("\n"); for (j = 0; j < m; j++) { a[i][j] = 0.01 * rand(); printf("%6.1f", a[i][j]); } } printf("\n"); max = a[0][0]; min = a[0][0]; sum = 0; for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { sum += a[i][j]; aref = sum/90; // Арефметическое aref = sum / n*m (9*10) if (a[i][j] > max) { max = a[i][j]; // Максимальное } else if (a[i][j] < min) { min = a[i][j]; //Минимальное значение } } } printf("-------------------------------------------------"); printf("\n Максимальное значение всей матрицы B: %6.1f", max); printf("\n Cумма: %6.1f", sum); printf("\n Среднее арифметическое: %6.1f", aref); printf("\n Минимальное значение всей матрицы А: %6.1f", min); printf("\n-------------------------------------------------"); printf("\n Замена чисел, которые равны максимальному"); printf("\n-------------------------------------------------"); for (i = 0; i < n; i++) { printf("\n"); for (j = 0; j < m; j++) { { if (a[i][j] == max) { a[i][j] = 0, 0; } printf("%6.1f", a[i][j]); } } } printf("\n"); printf("\n-------------------------------------------------"); printf("\n Замена чисел, которые равны минимальному"); printf("\n-------------------------------------------------"); for (i = 0; i < n; i++) { printf("\n"); for (j = 0; j < m; j++) { { if (a[i][j] == min) { a[i][j] = 0, 0; } printf("%6.1f", a[i][j]); } } } printf("\n"); printf("\n-------------------------------------------------"); printf("\n Финальная матрица"); printf("\n-------------------------------------------------"); for (i = 0; i < n; i++) { printf("\n"); for (j = 0; j < m; j++) { { if (a[i][j] > max) { a[i][j] = 0; // Максимальное } else if (a[i][j] < min) { a[i][j] = 0; //Минимальное значение } if (a[i][j] > aref) { a[i][j] = 0; } printf("%6.1f", a[i][j]); } } } } Код #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <iostream> #include <locale> void main() { setlocale(LC_ALL, "Russian"); int i, j, n = 9, m = 10; float a[9][10]; float max, min, sum, aref; printf("-------------------------------------------------"); printf("\n Исходная матрица А:"); printf("\n-------------------------------------------------"); for (i = 0; i < n; i++) { printf("\n"); for (j = 0; j < m; j++) { a[i][j] = 0.01 * rand(); printf("%6.1f", a[i][j]); } } printf("\n"); max = a[0][0]; min = a[0][0]; sum = 0; for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { sum += a[i][j]; aref = sum/90; // Арефметическое aref = sum / n*m (9*10) if (a[i][j] > max) { max = a[i][j]; // Максимальное } else if (a[i][j] < min) { min = a[i][j]; //Минимальное значение } } } printf("-------------------------------------------------"); printf("\n Максимальное значение всей матрицы B: %6.1f", max); printf("\n Cумма: %6.1f", sum); printf("\n Среднее арифметическое: %6.1f", aref); printf("\n Минимальное значение всей матрицы А: %6.1f", min); printf("\n-------------------------------------------------"); printf("\n Замена чисел, которые равны максимальному"); printf("\n-------------------------------------------------"); for (i = 0; i < n; i++) { printf("\n"); for (j = 0; j < m; j++) { { if (a[i][j] == max) { a[i][j] = 0, 0; } printf("%6.1f", a[i][j]); } } } printf("\n"); printf("\n-------------------------------------------------"); printf("\n Замена чисел, которые равны минимальному"); printf("\n-------------------------------------------------"); for (i = 0; i < n; i++) { printf("\n"); for (j = 0; j < m; j++) { { if (a[i][j] == min) { a[i][j] = 0, 0; } printf("%6.1f", a[i][j]); } } } printf("\n"); printf("\n-------------------------------------------------"); printf("\n Финальная матрица"); printf("\n-------------------------------------------------"); for (i = 0; i < n; i++) { printf("\n"); for (j = 0; j < m; j++) { { if (a[i][j] > max) { a[i][j] = 0; // Максимальное } else if (a[i][j] < min) { a[i][j] = 0; //Минимальное значение } if (a[i][j] > aref) { a[i][j] = 0; } printf("%6.1f", a[i][j]); } } } }
#include <iostream> #include <locale> #include <iomanip> using namespace std; int main() { // инициализация массива short Matrix[9][10]; srand((unsigned)time(NULL)); for (short i = 0; i < 9; i++) { for (short j = 0; j < 10; j++) { Matrix[i][j] = rand() % 21 - 10; // from -10 to 10 cout << setw(3) << Matrix[i][j] << " "; // iomanip > setw } cout << endl; // rows } cout << endl; // нахождени минимального, максимального, среднего short MinOfMatrix = Matrix[0][0], MaxOfMatrix = Matrix[0][0], Average = 0; for (short i = 0; i < 9; i++) { for (short j = 0; j < 10; j++) { // max if (Matrix[i][j] > MaxOfMatrix) { MaxOfMatrix = Matrix[i][j]; } // min if (Matrix[i][j] < MinOfMatrix) { MinOfMatrix = Matrix[i][j]; } Average += Matrix[i][j]; } } Average /= 90; cout << "Max, min, average" << MaxOfMatrix << " " << MinOfMatrix << " " << Average << endl; // insert 0 for (short i = 0; i < 9; i++) { for (short j = 0; j < 10; j++) { if ((Matrix[i][j] == MaxOfMatrix) || (Matrix[i][j] == MinOfMatrix) || (Matrix[i][j] > Average)) { Matrix[i][j] = 0; } } } // cout for (short i = 0; i < 9; i++) { for (short j = 0; j < 10; j++) { cout << setw(3) << Matrix[i][j] << " "; } cout << endl; } return 0; } Код #include <iostream> #include <locale> #include <iomanip> using namespace std; int main() { // инициализация массива short Matrix[9][10]; srand((unsigned)time(NULL)); for (short i = 0; i < 9; i++) { for (short j = 0; j < 10; j++) { Matrix[i][j] = rand() % 21 - 10; // from -10 to 10 cout << setw(3) << Matrix[i][j] << " "; // iomanip > setw } cout << endl; // rows } cout << endl; // нахождени минимального, максимального, среднего short MinOfMatrix = Matrix[0][0], MaxOfMatrix = Matrix[0][0], Average = 0; for (short i = 0; i < 9; i++) { for (short j = 0; j < 10; j++) { // max if (Matrix[i][j] > MaxOfMatrix) { MaxOfMatrix = Matrix[i][j]; } // min if (Matrix[i][j] < MinOfMatrix) { MinOfMatrix = Matrix[i][j]; } Average += Matrix[i][j]; } } Average /= 90; cout << "Max, min, average" << MaxOfMatrix << " " << MinOfMatrix << " " << Average << endl; // insert 0 for (short i = 0; i < 9; i++) { for (short j = 0; j < 10; j++) { if ((Matrix[i][j] == MaxOfMatrix) || (Matrix[i][j] == MinOfMatrix) || (Matrix[i][j] > Average)) { Matrix[i][j] = 0; } } } // cout for (short i = 0; i < 9; i++) { for (short j = 0; j < 10; j++) { cout << setw(3) << Matrix[i][j] << " "; } cout << endl; } return 0; }