0 / 0 / 0
Регистрация: 22.10.2021
Сообщений: 2
1

Смена чисел в главной диагонали в зависимости от количества чётных/нечётных чисел

22.10.2021, 00:32. Показов 885. Ответов 3

Помогите пожалуйста
Необходимо создать двумерный массив 10х10. Заполнить его случайными числами от 0 до 9. Если число четных элементов по диагонали больше нечетных – заменить диагональ на нули, если меньше – на единицы.


Максимум, на что моих знаний хватило - вот на это:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include   <ctime>
using namespace std;
 
int main()
{
    int p, u;
            p = 0;
            u = 0;
 
    const int n = 10;
    int arr[n][n];
    for ( int i = 0; i < n; i++){
        for ( int j = 0; j < n; j++){
 
           if ((i==j)&&(arr[i][j]%2==0)){
                p++;
            }
            else if ((i==j)&&(arr[i][j]%2==1)){
                    u++;
            }
                if (p>u){
                    arr [i][j] = 0;
            }
            else if (p<u){
                 arr [i][j] = 1;
            }
            if (i<j){
                arr [i][j] = rand ()%10;
            }
            else if (i>j){
                arr [i][j] = rand ()%10;
            }
 
        }
    }
//вывод
for ( int i = 0; i < n; i++){
        for ( int j = 0; j < n; j++){
                cout << arr[i][j] << "\t";
        }
}
return 0;
 
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2021, 00:32
Ответы с готовыми решениями:

Найти произведение суммы положительных четных чисел в главной диагонали на количество нечетных чисел побочной диагонал
Найти произведение суммы положительных четных чисел в главной диагонали на количество нечетных...

В матрице найти разность количества нечетных чисел главной диагонали
как из данного массива #include &lt;stdio.h&gt; void main(void) { int i,j,Kl1,Kl2,Pr; int A; ...

В матрице найти разность количества нечетных чисел 1-ой строки и количества четных чисел 4-го столбца.
Нужно программу составить в паскале (лабы): 1)В матрице А(5,7) найти разность количества ...

Нахождение количества положительных четных чисел и количества отрицательных нечетных чисел последовательности
Помогите пожалуйста написать программы в DELPHI. Заранее спасибо. 2) Дана последовательность n...

Найти произведение суммы положительных чисел в главной диагонали на количество четных чисел побочной диагонали матрицы F(6,6)
Составить программу и блок схему к задаче: Найти произведение суммы положительных чисел в...

3
19 / 14 / 5
Регистрация: 22.10.2021
Сообщений: 37
Записей в блоге: 1
22.10.2021, 01:06 2
Ничего не было сказано про то, когда количество чётных и нечётных совпадают

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include   <ctime>
#include <iomanip>
using namespace std;
 
int main()
{
    int p, u;
    p = 0; //чётные
    u = 0; //нечётные
    srand(time(0));  //для рандома
    const int n = 10;
    int arr[n][n];
    //ввод
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
                arr[i][j] = 0+rand() % 9;
                if ((i == j) and (arr[i][j] % 2 == 0)) p++;
                if ((i == j) and (arr[i][j] % 2 != 0)) u++;
        }
    }
 
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            cout << setw(3) << arr[i][j];
        }
        cout << endl;
    }
    cout << endl;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            if ((p > u) and (i == j)) arr[i][j] = 0;
            if ((p < u) and (i == j)) arr[i][j] = 1;
        }
    }
 
    //вывод
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            cout << setw(3)<< arr[i][j];
        }
        cout << endl;
    }
    return 0;
 
}
1
7415 / 5011 / 2889
Регистрация: 18.12.2017
Сообщений: 15,694
22.10.2021, 01:42 3
Лучший ответ Сообщение было отмечено random_dude как решение

Решение

Цитата Сообщение от kuppp Посмотреть сообщение
Ничего не было сказано про то, когда количество чётных и нечётных совпадают
в таком случае массив остаётся без изменений

как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{
    srand((int)time(0)); 
    const int n=10, k=n/2;
    int a[n][n], even=0;
    
    for (int i = 0; i < n; i++) 
    {
        for (int j = 0; j < n; j++) 
        {
            a[i][j]=rand()%10;
            cout << a[i][j] << " ";    
        }
        if(a[i][i]%2==0) even++;
        cout << "\n";
    }    
    
    cout << "even: " << even << "  odd: " << n-even << "\n";
    
    if(even!=k)
    {
        for (int i = 0; i < n; i++) 
        {
            if(even>k) a[i][i]=0;
            else if (even<k) a[i][i]=1;        
            for (int j = 0; j < n; j++)       
                cout << a[i][j] << " ";        
            cout << "\n";
        }
    }
 
return 0;
}
1
1673 / 839 / 391
Регистрация: 17.11.2018
Сообщений: 2,129
22.10.2021, 02:14 4
Цитата Сообщение от Yetty Посмотреть сообщение
if (even<k)
излишнее условие, можно его почикать...

Добавлено через 1 минуту
или так:
C++
1
a[i][i]=(even<k);
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.10.2021, 02:14
Помогаю со студенческими работами здесь

Найти произведение суммы положительных чисел в главной диагонали на количество четных чисел побочной диагонали матрицы
Задание работы : Найти произведение суммы положительных чисел в главной диагонали на количество...

Найти произведение суммы положительных чисел в главной диагонали на количество четных чисел побочной диагонали матрицы F(6,6).
Нужно программу составить в паскале (лабы): 2)Найти произведение суммы положительных чисел в...

Дополните программу расчетом количества четных элементов выше главной диагонали матрицы и количества нечетных элементов
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #define n 13 int main(void) {

Рекурсивная процедура. Определить результат сравнения количества четных и количества нечетных чисел
Помогите пожалуйста с программой. Условие : Используя рекурсивную процедуру или функцию,...

Все нулевые элементы расположены ниже главной диагонали на нечетных строках и выше главной диагонали - на четных
Добрый день. Компилирую в dev c++, язык СИ, комплируется, но после ввода размерности массива,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru