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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.82
ashta
8 / 8 / 1
Регистрация: 28.08.2012
Сообщений: 65
#1

В заданной матрице найти количество элементов равных нулю - C++

05.01.2013, 23:55. Просмотров 3173. Ответов 12
Метки нет (Все метки)

Находит элемент 0, но показывает это в трех строках. Как сделать так, чтобы вывести Количество элементов 0 - столько то.


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
# include<iostream>
# include<stdlib.h> 
 
 
using namespace std;
void main()
{
 
 
const int row=3;
    const int col=4;
    int array [row] [col];
    int n=0;
 
    for (int i=0; i<row; i++)// перебираем строки массива
    {
        for (int j=0; j<col; j++)// перебираем отдельные элементы массива
        {
            array[i][j]=rand()%4; // инициализация элементов значениями в диапазоне от 0 до 10
            cout<<array[i][j]<<" ";
        }
        cout<<"\n\n";
    }
 
    // поиск в строках нулевого элемента
 
    for (int i=0; i<row; i++){//  // перебираем отдельные строки (одномерные массивы в совокупности)
        {
        for (int j=0; j<col; j++)// // изменение индекса столбца для текущей строки
        { 
            if (array [i][j]==0)
                n++;                
            
        }
    }
    cout<<"Kolichestvo elementov 0 "<<n<<"\n";
    }
    
}
 
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2013, 23:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В заданной матрице найти количество элементов равных нулю (C++):

Найти количество элементов массива равных нулю - C++
Дан одномерный массив заданный генератором случайных чисел. Найти количество элементов массива, равных 0.А так же, сумму элементов массива,...

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

В заданных массивах найти количество элементов равных нулю и заменить их на -100 в случае выполнения условия - C++
Помогите пожалуйста. В массивах Х1..Х5, Y1..Y7, Z1..Z14 определить количество равных нулю элементов. Если их больше половины, то первый и...

решение двумерных массивов (Вычислить сумму элементов не равных нулю и посчитать их количество, найти номера столбцов с положительными элементами) - C++
решить задачи и составить блок-схемы: ввести двумерный массив С. Вычислить сумму элементов не равных нулю и посчитать их количество....

Вычислить количество элементов массива, равных нулю - C++
1 задание) Вычислить количество элементов массива, равных нулю. 2 задание) Вычислить сумму элементов массива, расположенных после...

Определите количество элементов массива равных нулю. - C++
1. Определите количество элементов массива равных нулю.

12
David Sylva
1291 / 953 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
06.01.2013, 00:16 #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
#include<iostream>
#include<cstdlib> 
 
 
using namespace std;
int main()
{
    const int row=3;
    const int col=4;
    int array [row] [col];
    int n=0;
 
    for (int i=0; i<row; i++)// перебираем строки массива
    {
        for (int j=0; j<col; j++)// перебираем отдельные элементы массива
        {
            array[i][j]=rand()%4; // инициализация элементов значениями в диапазоне от 0 до 10
            cout<<array[i][j]<<" ";
        }
        cout<<"\n\n";
    }
 
    // поиск в строках нулевого элемента
 
    for (int i=0; i<row; i++)//  // перебираем отдельные строки (одномерные массивы в совокупности)
        for (int j=0; j<col; j++)// // изменение индекса столбца для текущей строки 
            if (array [i][j]==0)
                n++;                
            
    cout<<"Kolichestvo elementov 0 "<<n<<"\n";
    
  }
Добавлено через 23 секунды

Не по теме:

void main писать не корректно

1
LiveRos
62 / 67 / 1
Регистрация: 05.10.2012
Сообщений: 240
06.01.2013, 00:17 #3
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
# include<iostream>
# include<stdlib.h>
 
 
using namespace std;
void main()
{
 
 
const int row=3;
    const int col=4;
    int array [row] [col];
    int n=0;
 
    for (int i=0; i<row; i++)// перебираем строки массива
    {
        for (int j=0; j<col; j++)// перебираем отдельные элементы массива
        {
            array[i][j]=rand()%4; // инициализация элементов значениями в диапазоне от 0 до 10
            cout<<array[i][j]<<" ";
        }
        cout<<"\n\n";
    }
 
    // поиск в строках нулевого элемента
 
    for (int i=0; i<row; i++){//  // перебираем отдельные строки (одномерные массивы в совокупности)
        {
        for (int j=0; j<col; j++)// // изменение индекса столбца для текущей строки
        {
            if (array [i][j]==0)
                n++;
 
        }
    }
   }
cout<<"Kolichestvo elementov 0 - "<<n<<"\n";
system("pause");
}
Почему финальный вывод данных входит в тело цыкла? Соответственно сколько нолей - столько раз и выводится сообщение.
1
Ghost77728
0 / 0 / 0
Регистрация: 30.11.2013
Сообщений: 12
30.11.2013, 17:27 #4
Почему именно так: array[i][j]=rand()%4; ?
0
ValeryS
Модератор
6729 / 5138 / 485
Регистрация: 14.02.2011
Сообщений: 17,245
30.11.2013, 17:34 #5
Цитата Сообщение от LiveRos Посмотреть сообщение
array[i][j]=rand()%4; // инициализация элементов значениями в диапазоне от 0 до 10
ну это ты сгоряча
значения будут 0 1 2 3
0
ironist
0 / 0 / 2
Регистрация: 14.02.2014
Сообщений: 14
14.02.2014, 22:33 #6
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
#include<iostream>
#include<stdlib.h> 
#include<time.h> 
using namespace std;
void main()
{
    const int row=3,cols=4;
    int arr[row][cols];
    short repeat=0;
    srand(time(NULL)); 
    for (int i=0;i<row;i++)
    {
        for(int j=0;j<cols;j++)
        {
            arr[i][j]=rand()%10; //Заполняем массив случайными числами от 0 до 9.
            cout<<arr[i][j]<<" ";
        }
        cout<<"\n\n";
    }
    for (int i=0;i<row;i++) //Перебираем строки.
        for(int j=0;j<cols;j++) //Перебираем столбцы.
            if(arr[i][j]==0) repeat++;  //В случае совпадения, наращиваем переменную.   
    if(repeat==0) cout<<"No repeat!"<<endl;
    else cout<<"Repeat 0: "<<repeat<<endl;
}
0
Daheimm
2 / 2 / 1
Регистрация: 30.11.2015
Сообщений: 14
12.12.2015, 17:08 #7
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
#include<iostream>
#include <ctime>
using namespace std;
 
 
 
void main()
 
{
    
    int iarray[3][4];
    int common = 0;
 
setlocale(LC_ALL, "Russian");
 
    srand(ime(NULL));
 
 
    for (int i = 0;i < 3;i++)
    {
        for (int a = 0;a < 4;a++)
 
        {
            iarray[i][a] = rand() % 2;
            cout << iarray[i][a]<<"\t";
 
            if (iarray[i][a] == 0)common += 1;
            
            }
        cout << endl;
        }
 
    cout <<"Zero = "<< common<<endl;
    }
0
ValeryS
Модератор
6729 / 5138 / 485
Регистрация: 14.02.2011
Сообщений: 17,245
12.12.2015, 17:20 #8
Цитата Сообщение от Daheimm Посмотреть сообщение
void main()
{
ошибка
нужно
C++
1
int main()
0
Dimension
Dimension
570 / 439 / 135
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
12.12.2015, 17:43 #9
вы бы еще через 5 лет сюда написали
Цитата Сообщение от ValeryS Посмотреть сообщение
ошибка
нужно
он же ничего не возвращает
0
KOPOJI
Эксперт HTML/CSSЭксперт PHP
16702 / 6624 / 433
Регистрация: 12.06.2012
Сообщений: 19,879
Завершенные тесты: 1
12.12.2015, 17:49 #10
Dimension, вообще-то должен возвращать статус-код завершения программы, 0 - успешное завершение, любое ненулевое значение - аварийное завершение

Добавлено через 1 минуту
это просто некоторые IDE а-ля VS позволяют такую ересь

тип main должен быть int, а то, что отсутствует непосредственно сам код возврата значения в большинстве плюсовых программ (в смысле, строчки return 0; ) - так это только потому, что компилятор С++ в случае отсутствия этой строчки подразумевает, что она присутствует - т.е., что возвращен код 0.
0
ValeryS
Модератор
6729 / 5138 / 485
Регистрация: 14.02.2011
Сообщений: 17,245
12.12.2015, 18:08 #11
Цитата Сообщение от Dimension Посмотреть сообщение
вы бы еще через 5 лет сюда написали
А что через пять лет стандарт изменится?
0
Dimension
Dimension
570 / 439 / 135
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
12.12.2015, 18:43 #12
Цитата Сообщение от ValeryS Посмотреть сообщение
А что через пять лет стандарт изменится?
может быть ,но я думаю автор темы давно решил проблему
0
ValeryS
Модератор
6729 / 5138 / 485
Регистрация: 14.02.2011
Сообщений: 17,245
12.12.2015, 18:51 #13
Цитата Сообщение от Dimension Посмотреть сообщение
,но я думаю автор темы давно решил
я указал ошибку не автора, хотя у него такая же, а Daheimm, который сегодня прислал код
Цитата Сообщение от Dimension Посмотреть сообщение
может быть
даже скорее всего но int main незыблемо
0
12.12.2015, 18:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2015, 18:51
Привет! Вот еще темы с ответами:

Определите количество элементов массива равных нулю - C++
Определите количество элементов массива равных нулю

Вычислить количество элементов в массиве, равных нулю - C++
Помогите пожалусто через 2 часа в институт пилить а мне зачет сделать нужно не в службу а в дружбу выручите

Двумерный массив. Определить количество равных нулю элементов. - C++
в массиве определить количество равных нулю элементов. Если их больше половины , то первый и последний элемент заменить на -100

Двумерный массив. Определить количество равных нулю элементов - C++
В массивах X1..X5, Y1..Y7, Z1..Z14 определить количество равных нулю элементов. Если их больше половины, то первый и последний элементы...


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

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

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