Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 09.04.2017
Сообщений: 23

В матрице найти количество строк не содержащих ни одного нулевого элемента

09.04.2017, 14:27. Показов 2105. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вообще задание такое: дана целочисленная прямоугольная матрица и нужно найти 1)кол-во строк не содержащих ни одного нулевого элемента 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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <iostream>
#include <iomanip>
#include <clocale>
#include <math.h>
#include <stdlib.h>
#include <string>
using namespace std;
 
int main()
{
    setlocale( LC_ALL, "Russian" );
   const int nrow = 4, ncol = 3;
    int b, n, m, j;
   int a[nrow][ncol];
 
 
  cout << "Введите элементы массива:" << endl;
    for ( int i = 0; i < nrow; i++ )
        for ( int j = 0; j < ncol; j++ ) cin >> a[i][j];
    for ( int i = 0; i < nrow; i++ )
    {
        for ( int j = 0; j < ncol; j++ )
            cout << setw(4) << a[i][j] << "  ";
        cout << endl;
    }
    int s = 0;
    int zero;
    for(int i = 0; i < nrow; i++)
    {
        zero = 0;
        for(int j = 0; j < ncol; j++)
        {
 
            if(a[i][j] == 0) zero++;
        }
        if (zero == 0) s++;
 
 
    }
    cout << "Кол-во строк без нулей: " << s << endl;
 
 
{
 
 
int a[i][j], b[i * j / 2], k = 0;
 
for (int t = 0; t < i; ++t)
    for (int w = 0; w < j; ++w)
        if (std::find(b, b + k, a[t][w]) == b + k)
        {
            bool f = true;
            for (int tt = t; tt < n && f; ++tt)
                for (int ww = w + 1; ww < m && f; ++ww)
                    if (a[t][w] == a[tt][ww])
                    {
                        b[k++] = a[t][w];
                        f = false;
                    }
        }
 
cout << "Наибольший повторяющийся элемент: " << k << endl;
 
}
 
 
 
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.04.2017, 14:27
Ответы с готовыми решениями:

Определить количество строк в матрице не содержащих ни одного нулевого элемента
Двумерные массивы. Написать программу, которая вычисляет количество строк в матрице, которые НЕ содержат ни одного нулевого элемента....

В заданной матрице определить количество строк , не содержащих ни одного нулевого элемента
Данная целочисленная прямоугольная матрица . Определить количество строк , не содержащих ни одного нулевого элемента.

максимальное из чисел, встречающихся в заданной матрице, количество строк, не содержащих ни одного нулевого элемента
Помогите доделать программу. Задание: Дана целочисленная квадратная матрица. Определить: 1) количество строк, не содержащих ни одного...

12
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
09.04.2017, 14:42
С++ поставьте теги для начала. Не знаете что это такое? Когда пишете сообщение, кнопка "C++" во 2 ряду сверху.

Добавлено через 6 минут
Цитата Сообщение от Garik11 Посмотреть сообщение
C++
1
cout << "Кол-во строк без нулей: " << s << endl;
- до вот этой строки вроде нормально. А что Вы хотите получить от программы и что она выдает неправильно?

Добавлено через 1 минуту
Фигурная скобка там зачем пустая открывающая сразу после это строки, что я сказал выше.

Добавлено через 54 секунды
Так имя a же уже используется. Его нельзя использовать 2 раз. Вы что программу из 2 частей составили?

Добавлено через 1 минуту
Там во 2 части все наоборот. Ну это гон вообще.
1
0 / 0 / 0
Регистрация: 09.04.2017
Сообщений: 23
09.04.2017, 14:44  [ТС]
В этой части программы я был уверен, она работает хорошо, а вот вторая часть должна выводить максимальный повторяющийся элемент, по алгоритму: все повторяющиеся элементы записываем в отдельный одномерный массив и сравниваем друг с другом, но она выдает ошибку.
0
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
09.04.2017, 14:48
Естественно, потому что там бред написан. Перепишите вторую часть с использованием переменных первой части, если ума хватит. Если Вы знаете алгоритм 2 части, то просто напишите новую программу и все.
0
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,236
09.04.2017, 14:52
Исправил ошибки компиляции
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream>
#include <iomanip>
#include <clocale>
#include <algorithm>
//#include <math.h>
//#include <stdlib.h>
//#include <string>
using namespace std;
 
int main()
{
    setlocale( LC_ALL, "Russian" );
    const int nrow = 4, ncol = 3;
    int a[nrow][ncol],b[nrow*ncol/2];
 
 
    cout << "Введите элементы массива:" << endl;
    for ( int i = 0; i < nrow; i++ )
        for ( int j = 0; j < ncol; j++ ) cin >> a[i][j];
    for ( int i = 0; i < nrow; i++ )
    {
        for ( int j = 0; j < ncol; j++ )
            cout << setw(4) << a[i][j] << "  ";
        cout << endl;
    }
    int s = 0;
    int zero;
    for(int i = 0; i < nrow; i++)
    {
        zero = 0;
        for(int j = 0; j < ncol; j++)
        {
 
            if(a[i][j] == 0) zero++;
        }
        if (zero == 0) s++;
 
 
    }
    cout << "Кол-во строк без нулей: " << s << endl;
 
    int k=0;
    for (int t = 0; t < nrow; ++t)
    {
        for (int w = 0; w < ncol; ++w)
        {
            if (std::find(b, b + k, a[t][w]) == b + k)
            {
                bool f = true;
                for (int tt = t; tt < nrow && f; ++tt)
                    for (int ww = w + 1; ww < ncol && f; ++ww)
                        if (a[t][w] == a[tt][ww])
                        {
                            b[k++] = a[t][w];
                            f = false;
                        }
            }
        }
    }
    cout << "Наибольший повторяющийся элемент: " << k << endl;
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 09.04.2017
Сообщений: 23
09.04.2017, 15:02  [ТС]
Огромное спасибо, считает только вот она не правильно, но с этим разберусь сам)
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
09.04.2017, 16:42
Цитата Сообщение от Garik11 Посмотреть сообщение
2)Максимальный повторяющийся элемент
Чой-то я не совсем понял этот пункт.
Из элементов, имеющих повторы (те. в матрице есть 2 или больше элемента с данным значением) выбрать наибольший? Если так, то не совсем понятно, какое отношение приведенные коды имеют к данной задаче.
Пример
1 10 5
5 4 1
Нужно вывести 5 ? Или как?

Добавлено через 19 минут
Если я угадал с постановкой, тогда как-то так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int i, j, i1, j1, flag=1, Mx=0;
for(i=0; i<nrow; i++) {
  for(j=0; j<ncol; j++) {
    int m = a[i][j];
    if (flag==0 && m <=Mx) continue; // Нет смысла рассматривать этот элемент
    for(i1=i; i1<nrow; i1++) {
       for(j1=(i1==i) ? j+1 : 0; j1<ncol; j1++)
          if (a[i1][j1]==m) break;
       if (j1 < ncol)  {
          if (flag || m>Mx) Mx = m;
          flag = 0;
          break;
       }
    }
  }
}
if (flag) cout << "Повторов нет";
else cout << Mx;
Псевдокод. Не проверял.
0
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
09.04.2017, 17:34
Байт, это, наверное, от сюда
Найти в двумерном массиве максимальный повторяющийся более одного раза элемент
0
0 / 0 / 0
Регистрация: 09.04.2017
Сообщений: 23
09.04.2017, 20:00  [ТС]
Байт, Просто машина)) спасибо за помощь, она работает))
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
09.04.2017, 22:20

Не по теме:

Цитата Сообщение от Garik11 Посмотреть сообщение
Байт, Просто машина
:) Как это понимать? Комплимент? Оскорбление?:)



Добавлено через 1 минуту

Не по теме:

DemolitionMan, Поздравляю! Я с вами!:drink:

0
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
10.04.2017, 07:19
Наверное, комплимент.
0
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
10.04.2017, 07:40
DemolitionMan, живой? Я вот вроде да, только
0
132 / 158 / 87
Регистрация: 06.04.2016
Сообщений: 992
10.04.2017, 10:35
Модераторы, я не хотел писать не по теме, но нужно ответить.
Не по теме:Я живой, а что правда бухал вчера? Я же пошутил. Точнее условно сказал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.04.2017, 10:35
Помогаю со студенческими работами здесь

Определить количество столбцов в матрице, не содержащих ни одного нулевого элемента
Нужна помощь в решении задая. 1) Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни одного...

Определить количество столбцов в матрице, не содержащих ни одного нулевого элемента
1) Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни одного нулевого элемента. 2) Переставить...

Количество строк, не содержащих ни одного нулевого элемента
Ребята, вот есть код мой, но почему-то постоянно считает 0, скажите, где ошибка? // Çàäàíèå 1 ...

Количество строк, не содержащих не одного нулевого элемента
Может кто-то делал и знает как найти количество строк матрицы, не содержащих не одного нулевого элемента.

Определить количество строк, не содержащих ни одного нулевого элемента
Заполнить целочисленный двухмерный массив размера NN случайными числами в диапазоне от -18 до 20 . Определить количество строк, не...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru