Форум программистов, компьютерный форум CyberForum.ru

Массив: Найти номер строки матрицы, в которой больше всего единичных элементов. - C++

Восстановить пароль Регистрация
 
XotekX
0 / 0 / 0
Регистрация: 23.09.2012
Сообщений: 20
19.09.2013, 22:49     Массив: Найти номер строки матрицы, в которой больше всего единичных элементов. #1
Дана квадратная матрица А порядка n. Найти номер строки матрицы, в которой больше всего единичных элементов.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2013, 22:49     Массив: Найти номер строки матрицы, в которой больше всего единичных элементов.
Посмотрите здесь:

C++ Дан двумерный массив. Найти номер строки, где больше всего нулей.
Определить номер той строки, в которой больше всего согласных букв C++
C++ Двумерный массив: найти номер строки, в которой находится самое минимальное количество одинаковых элементов
C++ Дано двумерный массив целых чисел. Найти номер строки, в которой сумма отрицательных нечетных элементов наибольшая
C++ Определить номер строки квадратной матрицы , сумма элементов которой минимальна
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
19.09.2013, 23:59     Массив: Найти номер строки матрицы, в которой больше всего единичных элементов. #2
А что не получается?
XotekX
0 / 0 / 0
Регистрация: 23.09.2012
Сообщений: 20
20.09.2013, 00:22  [ТС]     Массив: Найти номер строки матрицы, в которой больше всего единичных элементов. #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <stdlib.h>
#include <iomanip>
using namespace std;
int main()
{
    srand(time(0));
    int arr[3][3]={rand()%100,rand()%100,rand()%100,rand()%100,rand()%100,rand()%100,rand()%100,rand()%100,rand()%100};
    for(int i=0; i<3; i++)
        for(int j=0;j<3;j++)
    {
        cout<<"masiv["<<i<<"]["<<j<<"]:";
        cout<<arr[i][j]<<endl;
    }
        cout<<"bolshe vsego edinicnix elementov v stroke"<<endl;
 
    system ("pause"); 
    
    return 0;
}
номер строки матрицы недогоняю как вычислить.
lipnev
60 / 60 / 1
Регистрация: 14.09.2013
Сообщений: 145
20.09.2013, 01:17     Массив: Найти номер строки матрицы, в которой больше всего единичных элементов. #4
XotekX, вычислить-то несложно. Вот
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    int one[3]={0};
    for(int i=0; i<3; i++)
        for(int j=0;j<3;j++)
        {
            if (arr[i][j]==1) one[i]=one[i]+1;
        }
    int nomer=-1;
    int maximum=0;
    for (int i=0; i<3; i++)
        if (maximum<one[i]){
            maximum=one[i];
            nomer=i;
        }
Но есть ещё пара замечаний. Во-первых, при заполнении массива случайными элементами, ты используешь слишком большой диапазон - от 0 до 100. Уменьши хотя бы до 10 ( rand()%10 ), иначе единичные элементы у тебя будут появляться очень редко. Во-вторых, даже в этом случае иногда будут ситуации, когда в матрице не будет единичных элементов. Поэтому при выводе результата было бы неплохо учесть такую ситуацию. Например так:
C++
1
2
3
4
5
6
if (nomer>-1){
            cout<<"bolshe vsego edinicnix elementov v stroke "<<nomer+1<<endl;
        }
        else{
            cout<<"edinicnix elementov net"<<endl;
        }
Yandex
Объявления
20.09.2013, 01:17     Массив: Найти номер строки матрицы, в которой больше всего единичных элементов.
Ответ Создать тему
Опции темы

Текущее время: 15:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru