Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2012, 14:37   #1
Pycbka
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 30
По умолчанию Двумерный массив.

Определить количество столбцов матрицы, в которых все элементы нулевые.

На языке c++


Вот программа, но она считает столбцы в которых нет нулей.
Код:
#include <stdio.h>
#include <windows.h>
#include <math.h>
#include <conio.h>
main()
{
int i, j, n, m,kol,k,B[10][10];
printf("BBedite 4uclo ctPok\n");
scanf("%d", &n);
printf("BBedite 4uclo cToL6coB\n");
scanf("%d", &m);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
printf("\n BBeguTe B[%d][%d]=",i,j);
scanf("%d",&B[i][j]);
}
k=0;
for(j=0;j<m;j++)
{
kol=0;
for(i=0;i<n;i++)

if(B[i][j]==0)kol++;
if(kol==0)k++;
printf("Vse Hylevie -%d",k);
printf("\n");
}
puts("MaccuB");
printf("\n");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
printf("%3d ",B[i][j]);
printf("\n");
}
fflush(stdin);
getchar();
return(0);   
}

Что нужно исправить в
Код:
k=0;
for(j=0;j<m;j++)
{
kol=0;
for(i=0;i<n;i++)

if(B[i][j]==0)kol++;
if(kol==0)k++;
чтобы программа работала правильно..

Последний раз редактировалось Stilet; 19.02.2012 в 15:37.
Pycbka вне форума Ответить с цитированием
Старый 19.02.2012, 16:57   #2
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

kol - количество нулевых элементов.
k - количество столбцов, в которых нет нулевых элементов.

Значит, вместо условия в строке if(kol==0)k++; нужно написать if(kol==количество_строк_в_столбце) k++;
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 19.02.2012, 23:10   #3
Pycbka
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 30
По умолчанию

Что то не совсем понял вас
Pycbka вне форума Ответить с цитированием
Старый 19.02.2012, 23:22   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Рискну твое переподделать:
Код:
#include <stdio.h>
#include <windows.h>
#include <math.h>
#include <conio.h>
main()
{
int i, j, n, m,kol,k,B[10][10],q[10]={0};
printf("BBedite 4uclo ctPok\n");
scanf("%d", &n);
printf("BBedite 4uclo cToL6coB\n");
scanf("%d", &m);

for(i=0;i<n;i++) for(j=0;j<m;j++) {
 printf("\n BBeguTe B[%d][%d]=",i,j);
 scanf("%d",&B[i][j]);

/* Если очередной элемент нуль то увеличиваем счетчик нулей в
в этой колонке*/
 q[j]+=(B[i][j])?1:0;
}
j=0;
/*Если нулей в колонке 9 то значит она вся "пуста"*/
for(int i=0;i<10;i++) j+=(q[i]==9)?1:0;
printf("Кол-во нулевых столбиков = %d",j);
getchar();
return(0);   
}
Идея ясна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.02.2012, 23:27   #5
Pycbka
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 30
По умолчанию

if(kol==n) k++; И заработало всё на ура.
Pycbka вне форума Ответить с цитированием
Старый 19.02.2012, 23:31   #6
Pycbka
Пользователь
 
Регистрация: 24.09.2011
Сообщений: 30
По умолчанию

Спасибо большое за помощь.
Pycbka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив и Двумерный массив eugene1437 Общие вопросы C/C++ 15 25.05.2011 19:17
двумерный массив munlight Помощь студентам 1 16.12.2010 15:50
ДВУМЕРНЫЙ МАССИВ vova6161 Помощь студентам 1 15.12.2010 21:33
двумерный массив mawrick Помощь студентам 0 16.07.2010 18:24
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40