Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 2
Регистрация: 03.05.2016
Сообщений: 56
1

Найти количество столбцов матрицы, содержащих хотя бы один нулевой элемент

23.11.2016, 23:19. Просмотров 2164. Ответов 5
Метки нет (Все метки)


Всем привет Помогите , пожалуйста закончить программу .
Задание : Создайте двумерный массив типа int, используя генератор случайных чисел. Найдите количество столбцов, содержащих хотя бы один нулевой элемент.

Не знаю, как посчитать количество столбцов , содержащих хотя бы один ноль .
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
#include <cstdlib>
#include <clocale>
#include <ctime>
#include <iostream>
using namespace std; 
int main () 
 
{
         setlocale( LC_ALL,"Russian" );
         int a[4][4];
srand(time(NULL));
rand();
 
for(int i=0;i<4;i++){ 
for(int j=0;j<4;j++){
 a[i][j]=rand()%76-25;
cout<<"a["<<i<<"]["<<j<<"]="<<a[i][j]<<"\t";
} 
cout<<endl;
} 
 
bool b=true; 
int i,j;
for(j=0;j<4;j++){
b=true;
for( i=0;i<4;i++){  
if (a[i][j]=0){ 
b=false; 
break; 
}
}
if(!b)cout<<"столбец"<<j<<"содержит ноль"<<endl;
}
cout<<endl;
system("pause");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2016, 23:19
Ответы с готовыми решениями:

Найти количество столбцов матрицы, содержащих хотя бы один нулевой элемент
Как-то не могу сдружиться с С++,поэтому прошу помощи ( Условие Дана целочисленная прямоугольная...

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

Количество столбцов матрицы, содержащих хотя бы один нулевой элемент
Здравствуйте. Помогите, пожалуйста, разобраться с заданием, знаю, что подобных тем много, но, к...

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

5
J5
25 / 25 / 9
Регистрация: 22.12.2013
Сообщений: 107
23.11.2016, 23:36 2
ArtemS, в 27 строке у вас не сравнение а присваивание 0, т.е. ошибка. В строке 23 нет необходимости объявлять переменные i и j. Просто создайте еще одну переменную которая будет увеличиваться, если в данном столбце при проверке будет найден 0, причем, при первом нахождении, в заданном столбце, вы должны сразу же перейти к проверке следующего столбца (за что отвечает второй индекс массива). Пример следующий:
C++
1
2
3
4
5
6
7
int count = 0;//переменная для подсчета числа столбцов содержащих хотя бы один нулевой элемент
for(i = 0; i < 4; i++)
 for(j = 0; j < 4; j++)
  if (!a[j][i]){//если считать первый индекс строками, а второй столбцами
                 ++count;
                 break;//благодаря этому оператору мы прекращаем проверку остальных элементов столбца и переходим на следующий
  }
0
0 / 0 / 2
Регистрация: 03.05.2016
Сообщений: 56
24.11.2016, 00:08  [ТС] 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
#include <cstdlib>
#include <clocale>
#include <ctime>
#include <iostream>
using namespace std; 
int main () 
 
{
         setlocale( LC_ALL,"Russian" );
         int a[4][4];
srand(time(NULL));
rand();
 
for(int i=0;i<4;i++){ 
for(int j=0;j<4;j++){
 a[i][j]=rand()%76-25;
cout<<"a["<<i<<"]["<<j<<"]="<<a[i][j]<<"\t";
} 
cout<<endl;
} 
  
int count = 0;
for(j=0;j<4;j++){
for( i=0;i<4;i++){  
if (!a[i][j]){ 
++count;
break; 
}
}
cout<<"Количество столбцов с нулями "<<count<<endl;
}
cout<<endl;
system("pause");
}
0
J5
25 / 25 / 9
Регистрация: 22.12.2013
Сообщений: 107
24.11.2016, 00:21 4
ArtemS, да.
0
0 / 0 / 2
Регистрация: 03.05.2016
Сообщений: 56
24.11.2016, 05:30  [ТС] 5
Но программа почему то не захотела работать...
0
Модератор
Эксперт С++
10446 / 8703 / 5258
Регистрация: 18.12.2011
Сообщений: 23,251
24.11.2016, 08:37 6
Цитата Сообщение от ArtemS Посмотреть сообщение
почему то не захотела работат
Список ошибок
Предупреждение 1 warning C4244: аргумент: преобразование 'time_t' в 'unsigned int', возможна потеря данных d:\current\cpp\test\test3.cpp 11
Ошибка 2 error C2065: j: необъявленный идентификатор d:\current\cpp\test\test3.cpp 23
Ошибка 3 error C2065: j: необъявленный идентификатор d:\current\cpp\test\test3.cpp 23
Ошибка 4 error C2065: j: необъявленный идентификатор d:\current\cpp\test\test3.cpp 23
Ошибка 5 error C2065: i: необъявленный идентификатор d:\current\cpp\test\test3.cpp 24
Ошибка 6 error C2065: i: необъявленный идентификатор d:\current\cpp\test\test3.cpp 24
Ошибка 7 error C2065: i: необъявленный идентификатор d:\current\cpp\test\test3.cpp 24
Ошибка 8 error C2065: i: необъявленный идентификатор d:\current\cpp\test\test3.cpp 25
Ошибка 9 error C2065: j: необъявленный идентификатор d:\current\cpp\test\test3.cpp 25
Первую (предупреждение) исправьте так
C++
1
srand((unsigned)time(NULL));
А остальные догадайтесь, как исправить, сравнив
Цитата Сообщение от ArtemS Посмотреть сообщение
C++
1
for(int i=0;i<4;i++){ for(int j=0;j<4;j++){
и
Цитата Сообщение от ArtemS Посмотреть сообщение
C++
1
for(j=0;j<4;j++){ for( i=0;i<4;i++){
И имеет смысл вынести строку 30 наружу цикла (зачем печатать это сообщение в каждом столбце).
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2016, 08:37

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

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

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

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

Определить количество столбцов,содержащих хотя бы один нулевой элемент
В общем код я написала,но он возвращает нули..Пожалуйста, скажите в чем ошибка? int raven_0 (int...


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

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

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