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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
KOPC1886
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
#1

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

26.04.2012, 23:22. Просмотров 877. Ответов 9
Метки нет (Все метки)

Всем привет!) У меня такая задача.
Дана целочисленная прямоугольная матрица. Определить:
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 минут

Не по теме:

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2012, 23:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив: Количество строк, не содержащих ни одного нулевого элемента (C++):

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

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

Определить количество строк, не содержащих ни одного нулевого элемента - C++
Помогите написать программу,предмет просто не профильный Написать программу в соответствии с вариантом, выделив под массив динамически...

Определить количество строк, не содержащих ни одного нулевого элемента - C++
Дана целочисленная прямоугольная матрицы. Определить: 1.Количество строк, не содержащих ни одного нулевого элемента. 2.Максимальное из...

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

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

9
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;
            }
        }
    }
вроде так
1
KOPC1886
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
27.04.2012, 00:13  [ТС] #3
ZoRT, тогда он прервет ведь и дальше не будет просматривать числа.
0
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,017
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++;
}
1
Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
27.04.2012, 16:37 #5
KOPC1886, мы считаем сколько строк содержат 0. Соответственно кол-во строк не содержащих 0 будет (str-nul)
По идее, вариант с прерыванием будет быстрее работать(в некотором случае): если в строке найден ноль, то увеличиваем счетчик и переходим к следующей строке, а не просматриваем строку до конца.
1
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 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= колво строк с нулевым символом
1
KOPC1886
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
27.04.2012, 21:03  [ТС] #7
Спасибо Всем сделал!) А вот как сделать 2 пункт, как найти макс число я знаю. А вот про встречающее более одного раза?
0
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 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++;
}
}
это альфа вариант - писал в блокноте
0
KOPC1886
27 / 6 / 0
Регистрация: 28.10.2010
Сообщений: 352
27.04.2012, 21:47  [ТС] #9
Van111, я ничего не понял) Можно без указателей и по проще?)
0
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
27.04.2012, 22:05 #10
Цитата Сообщение от KOPC1886 Посмотреть сообщение
Van111, я ничего не понял) Можно без указателей и по проще?)
(*matrix)[]- это перебор вашей матрицы, плюс этого способа - в одном цикле
chisla[] варианты, nomer[] количество совпадений, то есть chisla[0]=5; nomer[0]=3, значит в матрице три числа 5, ykaz -просто левая переменная обозначающая количество вариант -можете перемеиновать
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2012, 22:05
Привет! Вот еще темы с ответами:

Определить количество строк, не содержащих ни одного нулевого элемента - C++
#include &lt;iostream&gt; using namespace std; void main() { setlocale(LC_ALL, &quot;Russian&quot;); int mass=256;// обьявили двумерный...

Определить: количество строк, не содержащих ни одного нулевого элемента; - C++
Составить функцию Run которая позволит выполнить следующие действия с двухмерными массивами (если задачу решить нельзя, то сообщит об...

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

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


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

Или воспользуйтесь поиском по форуму:
10
Yandex
Объявления
27.04.2012, 22:05
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru