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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2013, 20:09   #1
mihav
 
Регистрация: 17.01.2013
Сообщений: 4
По умолчанию использование функций в С++

Добрый вечер! Помогите, необходимо по условию посчитать положительные числа во всех столбцах, но программа считает только в последнем, не пойму, что не так

Код:
#include<stdio.h>
#include<conio.h>

const int m=10,n=10;
void inparr(int a[n][m])

{
int  n, m, i, j;
printf("Vvedite kolichestvo strok\n", n);
scanf("%d",&n);
printf("Vvedite kolichestvo stolbchov\n", m);
scanf("%d",&m);
printf ("Vvedite n stroki po m chisel\n");
for (i=0;i<n;i++)
 for (j=0;j<m;j++)
  scanf("%d",&a[i][j]);
}

void outarr(int a[n][m])
{
int m,n,i,j;
printf ("Matrica a:\n");
 for (i=0; i<n; i++)
  {for (j=0; j<m; j++)
printf ("%5d", a[i][j]);
printf ("\n");
}
}
                                              
int processarr(int a[n][m])
{
int  m,n,i,j,s;
for (j=0; j<m; j++)
{
s=0;
for (i=0; i<n; i++)
if (a[i][j]>0) s+=a[i][j];
}
return s;
}

void main()
{
int b[n][m];
clrscr();
inparr(b);
outarr(b);
printf ("summa polojitelnih chisel v stolbche=%d\n", processarr(b));
}

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

Код:
...
void processarr(int **a,int n,int m)
{
int  i,j,s;
for (j=0; j<m; j++){ s=0;
 for (i=0; i<n; i++) if (a[i][j]>0) s+=a[i][j];
 printf ("summa polojitelnih chisel v stolbche %d=%d\n", j, s);
}
}

void main()
{
int b[n][m];
clrscr();
inparr(b);
outarr(b);
processarr(&b,n,m);
}
Подходит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.03.2013, 20:43   #3
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Цитата:
посчитать положительные числа во всех столбцах
Что вы этим хотели сказать? По коду вы какую-то сумму считаете...

Эти
Код:
int  m,n
внутри функций, кроме имени в листинге, не имеют ничего общего с
Код:
const int m=10,n=10;
Вы вводите размерности массива, но нигде их не сохраняете для других функций и не передаете.

Код:
for (j=0; j<m; j++)
{
s=0;
for (i=0; i<n; i++)
if (a[i][j]>0) s+=a[i][j];
}
return s;
Прочитайте, что вы написали сделать. Для каждого столюца установить сумму равной 0, посчитать сумму. Вопрос, что вернет функция?

П.С. Stilet, уже и модераторы стали онлайн-решателями?..
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Старый 07.03.2013, 21:04   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
уже и модераторы стали онлайн-решателями?..
А чем я от других отличаюсь?
Должность модера != Бохх Олимпа.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.03.2013, 22:08   #5
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Мне просто показалось, что это форум, где помагают разобратся, а не бесплатны онлайн-решательный сайт... Но, видимо, я что-то не понял.
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Старый 07.03.2013, 22:45   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Но, видимо, я что-то не понял.
Верно. Не понял
Я не писал все за него. Программа рабочая, просто требовала корректировок. Если она написана топикпастером то почему бы не поправить.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.03.2013, 00:07   #7
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Ну, скопипастил он себе ваш код.. и? научился, разобрался, подумал хотя бы?..
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Старый 08.03.2013, 08:21   #8
mihav
 
Регистрация: 17.01.2013
Сообщений: 4
Радость использование функций в С++

Спасибо!! Буду пробовать. Господа и товарищи не ругайтесь пожалуйста
mihav вне форума Ответить с цитированием
Старый 08.03.2013, 08:31   #9
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Да мы просто флудим от безделья )))
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Старый 08.03.2013, 12:46   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
и? научился, разобрался, подумал хотя бы?
Нет не научился. В скажем 60% случаев не научился. Но! Если всетки потом тараканы тамошние стукнут совестью в темечко, то научится. На это и расчет - давать лишь столько сколько требуется.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование функций C в VB All_Ex Обсуждение статей 0 13.06.2012 13:49
Использование функций С++ Eskared Помощь студентам 2 05.12.2011 19:12
Использование функций в Си (=Hello=) Общие вопросы C/C++ 46 11.11.2011 17:41
использование функций в качестве параметров других функций mono Помощь студентам 0 20.04.2009 18:25
Использование функций prikolist Общие вопросы C/C++ 15 06.04.2009 18:42