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

Массив: Количество строк, не содержащих ни одного нулевого элемента - C++

Восстановить пароль Регистрация
 
KOPC1886
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
26.04.2012, 23:22     Массив: Количество строк, не содержащих ни одного нулевого элемента #1
Всем привет!) У меня такая задача.
Дана целочисленная прямоугольная матрица. Определить:
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
// andrei2.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int str=3;
    const int stolb=3;
    int mass[str][stolb];
    int nul=0;
    for(int i=0; i<str; i++)
    {
        for (int k=0; k<stolb; k++)
        {
            cin >>mass[i][k];
            //mass[i][k]=1;
            //cout <<endl;
        }
 
    }
    for(int i=0; i<str; i++)
    {
        for (int k=0; k<stolb; k++)
        {
            if (mass[i][k]==0) 
            {
                nul++;
                
            }           
        }
    }
    cout <<nul<<endl;
 
    return 0;
}
Добавлено через 1 час 49 минут

Не по теме:

Помогите пожалуйста

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2012, 23:22     Массив: Количество строк, не содержащих ни одного нулевого элемента
Посмотрите здесь:

Количество строк, не содержащих не одного нулевого элемента C++
C++ Количество строк, не содержащих ни одного нулевого элемента
Определить: количество строк, не содержащих ни одного нулевого элемента; C++
Определить количество строк матрицы, не содержащих ни одного нулевого элемента C++
Матрица: определить количество строк, не содержащих ни одного нулевого элемента C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Venzo
 Аватар для Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
27.04.2012, 00:00     Массив: Количество строк, не содержащих ни одного нулевого элемента #2
C++
1
2
3
4
5
6
7
8
9
10
11
    for(int i=0; i<str; i++)
    {
        for (int k=0; k<stolb; k++)
        {
            if (mass[i][k] == 0) 
            {
                 nul++;
                 break;
            }
        }
    }
вроде так
KOPC1886
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
27.04.2012, 00:13  [ТС]     Массив: Количество строк, не содержащих ни одного нулевого элемента #3
ZoRT, тогда он прервет ведь и дальше не будет просматривать числа.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,410
27.04.2012, 02:37     Массив: Количество строк, не содержащих ни одного нулевого элемента #4
ну грубо говоря так:
C++
1
2
3
4
5
6
7
8
9
int count = 0;
bool b;
for (int i=0; i < str; i++)
{
    b = false;
    for (int j = 0; j < stolb; j++)
        if (mass[i][j] == 0) b = true;
    if (!b) count++;
}
Venzo
 Аватар для Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
27.04.2012, 16:37     Массив: Количество строк, не содержащих ни одного нулевого элемента #5
KOPC1886, мы считаем сколько строк содержат 0. Соответственно кол-во строк не содержащих 0 будет (str-nul)
По идее, вариант с прерыванием будет быстрее работать(в некотором случае): если в строке найден ноль, то увеличиваем счетчик и переходим к следующей строке, а не просматриваем строку до конца.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
27.04.2012, 17:16     Массив: Количество строк, не содержащих ни одного нулевого элемента #6
Цитата Сообщение от KOPC1886 Посмотреть сообщение
for(int i=0; i<str; i++)
* * {
* * * * for (int k=0; k<stolb; k++)
* * * * {
* * * * * * if (mass[i][k]==0)
* * * * * * {
* * * * * * * * nul++;
break;//обработка следующей строки
} * * * * *
* * * * }
* * }
nul= колво строк с нулевым символом
KOPC1886
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
27.04.2012, 21:03  [ТС]     Массив: Количество строк, не содержащих ни одного нулевого элемента #7
Спасибо Всем сделал!) А вот как сделать 2 пункт, как найти макс число я знаю. А вот про встречающее более одного раза?
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
27.04.2012, 21:33     Массив: Количество строк, не содержащих ни одного нулевого элемента #8
есть массив nomer[size_matrix], и массив chisla[size_matrix] и указатель ykaz
заносим первое число в chisla[0], nomer[0]=1; ykaz=1
начинаем цикл
C++
1
2
3
4
5
6
7
8
9
10
for(int i=1,i2;i<size_matrix;i++)
{
for(i2=0;i2<ykaz;i2++)
{
if(chisla[i2]==(*matrix)[i]);
{
nomer[i2]++;
break;
}
}
if(ykaz==i2+1)
{
chisla[ykaz]=(*matrix)[i]);
nomer[ykaz]=1;
ykaz++;
}
}
это альфа вариант - писал в блокноте
KOPC1886
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
27.04.2012, 21:47  [ТС]     Массив: Количество строк, не содержащих ни одного нулевого элемента #9
Van111, я ничего не понял) Можно без указателей и по проще?)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2012, 22:05     Массив: Количество строк, не содержащих ни одного нулевого элемента
Еще ссылки по теме:

C++ Определить количество строк не содержащих ни одного нулевого элемента
C++ Определить количество строк, не содержащих ни одного нулевого элемента
Определить количество строк, не содержащих ни одного нулевого элемента C++

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

Или воспользуйтесь поиском по форуму:
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
27.04.2012, 22:05     Массив: Количество строк, не содержащих ни одного нулевого элемента #10
Цитата Сообщение от KOPC1886 Посмотреть сообщение
Van111, я ничего не понял) Можно без указателей и по проще?)
(*matrix)[]- это перебор вашей матрицы, плюс этого способа - в одном цикле
chisla[] варианты, nomer[] количество совпадений, то есть chisla[0]=5; nomer[0]=3, значит в матрице три числа 5, ykaz -просто левая переменная обозначающая количество вариант -можете перемеиновать
Yandex
Объявления
27.04.2012, 22:05     Массив: Количество строк, не содержащих ни одного нулевого элемента
Ответ Создать тему
Опции темы

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