Загрузка...

Правильно ли я думаю, код?

Тема в разделе C/C++ создана пользователем EV1 15 ноя 2019. 275 просмотров

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

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

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

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

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

    Код
        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 15 ноя 2019 Заблокирован(а) 170 28 янв 2019
    Вроде так
     
  3. Vkontakte
    Vkontakte 15 ноя 2019 купюры нас не спасут, но избавят от проблем 5866 26 ноя 2018
    Сложно
     
  4. borkakoz
    borkakoz 15 ноя 2019 --> НовоКеК <-- 28 20 июн 2017
    EV1, вроде да, верно
     
  5. EV1
    EV1 Автор темы 15 ноя 2019 Дизайн - zelenka.guru/threads/227119/ 796 5 июл 2017
    В программировании я короче не шарю, короче как теперь Финальную матрицу переписать в матрицу 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]);
    }
    }
    }
    }
     
  6. Jus1x_tv
    Jus1x_tv 25 ноя 2019 6 14 ноя 2019
    Код

    #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;
    }
     
Загрузка...
Top