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

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

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2010, 14:16   #1
CaTaNa
Пользователь
 
Регистрация: 28.11.2009
Сообщений: 14
По умолчанию ошибка. Можете разобрать.? c++ 2008 visual studio.

задача Дана целочисленная матрица А размером NxM. Определить количество столбцов, не содержащих ни одного нулевого элемента.
Код:
#include <iostream>
#include <time.h>
using namespace std;
void main()
{
int const n=5,m=5;
int a[n][m];
int sum=0;
srand (time(0));
for (int i=0;i<n;i++)
{ 
for(int j=0;j<n;j++)
{ 
a[i][j]=rand()%10;
cout<<a[i][j]<<" ";
cout<<endl;
}
int new_sum=0;
for (int i=0;i<m;i++)
for (int j=0;j<n;j++)
if (a[j][i]==0)
sum++;
if(sum==0)
new_sum++;
else
sum=0;}
cout <<new_sum<<endl;
}

Последний раз редактировалось Stilet; 04.02.2010 в 14:27.
CaTaNa вне форума Ответить с цитированием
Старый 04.02.2010, 14:30   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
#include <iostream>
#include <time.h>
using namespace std;
void main()
{
int const n=5,m=5;
int a[n][m];
int sum=0;
srand (time(0));

for (int i=0;i<n;i++){
 for(int j=0;j<n;j++){
  a[i][j]=rand()%10;
  cout<<a[i][j]<<" ";
 }    cout<<endl;
}

int new_sum=0,k;
for (int i=0;i<m;i++) {k=1;
 for (int j=0;j<n;j++) {
  k*=a[i][j];
 }
 new_sum+=(k==0)?0:1;
}
cout<<new_sum;
cin.get();
 }
Понятна твоя ошибка?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.02.2010, 14:45   #3
CaTaNa
Пользователь
 
Регистрация: 28.11.2009
Сообщений: 14
По умолчанию

Соль то в том что и у тебя не правильно. Ты проверь. Задание " Определить количество столбцов, не содержащих ни одного нулевого элемента" Я вводил твою прогу, если в одном столбце 2 нулевых элемента он их и считает.
CaTaNa вне форума Ответить с цитированием
Старый 04.02.2010, 15:03   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
CaTaNa
Соль в том что тебе лень поменять на строку k*=a[j][i];
Неужели так сложно покопаться немного в программе.
Ты хотя бы поспрашивал как она работает вместо тупого копипасте.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.02.2010, 15:10   #5
CaTaNa
Пользователь
 
Регистрация: 28.11.2009
Сообщений: 14
По умолчанию

И в правду есть пару вопросов.
1)зачем нам нужна переменная k?
2) new_sum+=(k==0)?0:1; зачем всё это делаеться.
3) cin.get(); - вот это я 1 раз в жизни вижу.
CaTaNa вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В чем ошибка visual studio 2008 c++ CaTaNa Visual C++ 4 08.11.2012 13:07
Microsoft Visual Studio 2008 и Unicode ошибка компиляции --=SaNitinDG=- Visual C++ 7 27.01.2010 17:20
Ошибка устоновки MSDN в Visual Studio 2008 rus cab10 Error --=SaNitinDG=- Общие вопросы C/C++ 0 23.01.2010 20:59
Visual Studio Standard 2008 против Visual Studio Express 2008. Стоит ли покупать? Casper-SC Софт 4 31.12.2009 11:46
VISUAL STUDIO 2008 defaul language - как переключить в VISUAL STUDIO 2008 язык программирования, использ Эйнж Общие вопросы C/C++ 0 27.12.2009 20:39