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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2012, 14:53   #1
Lenty
Пользователь
 
Регистрация: 16.06.2010
Сообщений: 16
Вопрос Найти ошибку

Здравствуйте

Помогите найти ошибку

Задача.

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

Код:

Код:
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#define N 4
#define M 5
void main(){
clrscr();

 
    int i,j,cnt,flag,A[M][N],ch[M];

    for(i=0;i<M;++i)
    cout<<"\nMatpuca: \n";

    for(i=0;i<M;++i)
    {
        for(j=0;j<N;++j)
        {
	    A[i][j]=rand()%100;
	    cout<<A[i][j]<<"  ";
        }
	cout<<"\n";
    }

    cnt=0;
    for(j=0;j<N;++j)
    {
        flag=0;
        i=0;
        while((i<M)&&(flag==0))
        {
	    if(A[i][j]==0) flag=1;
	    i++;
        }
	if(flag==0) cnt++;
    }
    cout<<"\n Kolu4ectBo ctol6coB: "<<cnt;

    cout<<"\n Xapaktepuctuka: ";
    for(i=0;i<M;i++)
    {
	for(j=0;j<N;j++)
        {
	    if((A[i][j]>0)&&(A[i][j]%2==0)) Ch[i]=Ch[i]+A[i][j];
        }
       cout<<Ch[i]<<"  ";
    }
    getch();

}
Lenty вне форума Ответить с цитированием
Старый 13.06.2012, 16:12   #2
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

В чем ошибка? Не компилируется, или что-то неправильно работает, или программа строит роботов и пытается захватить мир?
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 13.06.2012, 21:54   #3
Lenty
Пользователь
 
Регистрация: 16.06.2010
Сообщений: 16
Радость

Цитата:
Сообщение от Granus Посмотреть сообщение
В чем ошибка? Не компилируется, или что-то неправильно работает, или программа строит роботов и пытается захватить мир?
Захват Мира - следующая задача

А так... не компилируется.

Где-то накосячил, а понять не могу.
Lenty вне форума Ответить с цитированием
Старый 13.06.2012, 21:59   #4
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

Цитата:
А так... не компилируется.
Тогда приведите ошибку, которую пишет компилятор.
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 13.06.2012, 22:02   #5
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

А компилятор знает где накосячил и сообщение где ошибка даже должен был показать. Если ты сообщение прочитать не можешь, тогда уже ладно кидай сюда, может что и подскажем.

Объявил с маленькой буквы.
Код:
ch[M];
Здесь пишешь с большой буквы.
Код:
if((A[i][j]>0)&&(A[i][j]%2==0)) Ch[i]=Ch[i]+A[i][j];
cout<<Ch[i]<<"  ";

Последний раз редактировалось coNsept; 13.06.2012 в 22:04.
coNsept вне форума Ответить с цитированием
Старый 13.06.2012, 22:11   #6
Lenty
Пользователь
 
Регистрация: 16.06.2010
Сообщений: 16
По умолчанию

1. Прототип к функции RAND

2. Не известен символ Ch
Lenty вне форума Ответить с цитированием
Старый 13.06.2012, 22:49   #7
Lenty
Пользователь
 
Регистрация: 16.06.2010
Сообщений: 16
По умолчанию

Исправил свои ошибки

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

Код:
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#define N 4
#define M 5
void main(){
clrscr();


    int i,j,cnt,flag,A[M][N],ch[M];
     cout<<"\nMatpuca: \n";

    for(i=0;i<M;++i)


    for(i=0;i<M;++i)
    {
	for(j=0;j<N;++j)
	{
	    A[i][j]=rand()%100;
	    cout<<A[i][j]<<"  ";
	}
	cout<<"\n";
    }

    cnt=0;
    for(j=0;j<N;++j)
    {
	flag=0;
	i=0;
	while((i<M)&&(flag==0))
	{
	    if(A[i][j]==0) flag=1;
	    i++;
	}
	if(flag==0) cnt++;
    }
    cout<<"\n Kolu4ectBo ctol6coB: "<<cnt;

    cout<<"\n Xapaktepuctuka: ";
    for(i=0;i<M;i++)
    {
	for(j=0;j<N;j++)
	{
	    if((A[i][j]>0)&&(A[i][j]%2==0)) ch[i]=ch[i]+A[i][j];
	}
       cout<<ch[i]<<"  ";
    }
    getch();

}
Lenty вне форума Ответить с цитированием
Старый 15.06.2012, 09:44   #8
Yeant88
Новичок
Джуниор
 
Регистрация: 15.06.2012
Сообщений: 1
По умолчанию

ты забыл присвоить начальное значение характеристики:

Код:
for(i=0;i<M;i++)
    {
	ch[i] = 0;
	for(j=0;j<N;j++)
        {
	    if((A[i][j]>0)&&(A[i][j]%2==0)) ch[i]=ch[i]+A[i][j];
        }
       cout<<ch[i]<<"  ";
    }
должно нормально заработать

Последний раз редактировалось ACE Valery; 15.06.2012 в 13:21.
Yeant88 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти ошибку. stas45rus Помощь студентам 3 17.01.2012 20:07
найти ошибку Славик__077 Общие вопросы C/C++ 0 31.01.2011 14:39
найти ошибку Veronik@ Общие вопросы C/C++ 0 24.11.2010 21:50
найти ошибку sergio11 Общие вопросы C/C++ 2 03.09.2010 19:29
найти ошибку rUs_LAN Общие вопросы C/C++ 8 14.05.2009 12:02