Загрузка...

Am I thinking the code correctly?

Thread in C/C++ created by EV1 Nov 15, 2019. 281 view

  1. EV1
    EV1 Topic starter Nov 15, 2019 Дизайн - zelenka.guru/threads/227119/ 796 Jul 5, 2017
    7. Дана квадратная матрица действительных чисел размером 9х10. Заменить в ней нулями все элементы, значения которых:

    а) равны максимальному значению всей матрицы;

    6) равны минимальному значению всей матрицы;

    в) больше среднего арифметического.

    :da:Она легкая но не понятно

    Code
        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: Я не программист)
     
  2. Harchevnikov
    Harchevnikov Nov 15, 2019 Banned 170 Jan 28, 2019
    Вроде так
     
  3. Vkontakte
    Vkontakte Nov 15, 2019 купюры нас не спасут, но избавят от проблем 5867 Nov 26, 2018
    Сложно
     
  4. borkakoz
    borkakoz Nov 15, 2019 --> НовоКеК <-- 28 Jun 20, 2017
    EV1, вроде да, верно
     
  5. EV1
    EV1 Topic starter Nov 15, 2019 Дизайн - zelenka.guru/threads/227119/ 796 Jul 5, 2017
    В программировании я короче не шарю, короче как теперь Финальную матрицу переписать в матрицу B?? Чтобы не было никаких условий?
    Code

    #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]);
    }
    }
    }
    }
     
  6. Jus1x_tv
    Jus1x_tv Nov 25, 2019 6 Nov 14, 2019
    Code

    #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;
    }
     
Loading...
Top