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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2009, 18:02   #1
Ferghost
 
Регистрация: 31.05.2009
Сообщений: 9
Вопрос разбить программу на функции main и пользовательскую функцию

Решил задачу(Дан массив A из N чисел. Получить из A массив B, исключив из A элементы с максимальным значением)теперь необходимо сделать так, что бы программа состояла из функций main и пользовательской функции, выполняющей решение задачи. Функция main должна выполнять только ввод, вывод данных и обращение к пользовательской функции. Данные для пользовательской функции должны передаваться через параметры функции. Подскажите что я делаю не так.
Код:
#include <iostream>
#include <fstream>
using namespace std;
int MyFn(int a,int i,int j,int max,int b);

void main(){

    int max,i,j;
    int a[7]={3,8,29,6,9,30,-999999};
    int b[7];
    i=0;
	b[j]=int MyFn(int a,int i,int j,int max,int b);
	cout<<b[j]<<" \n";
}
 
int MyFn(int a,int i,int j,int max,int b){	
	max=a[0];
    for(i=1;i<7;i++){
        if(max<a[i]){
           max=a[i];
        }
	}
    i=0;
    for(j=0;j<7;j++){
        if(a[j]<max){
           b[i]=a[j]; 
		   ++i;
        }
    }
	for(j=0;j<6;j++){
            
	}
    return 0;
    
}
Ferghost вне форума Ответить с цитированием
Старый 31.05.2009, 18:11   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

о_О Можно сказать, что вы практически все делаете не так.
Код:
#include <iostream>
#include <conio.h>
using namespace std;

int MyFn(int*, int, int*);

int main()
{
int i,n;
int a[7]={3,8,29,6,9,30,-999999};
int b[7];
i=0;
n = MyFn(&a[0],7,&b[0]);
for(i=0; i<n; i++)
 cout<<b[i]<<" \n";
 getch();
}

int MyFn(int *a, int m, int *b)
{
 int i,n=0,max;
	max=a[0];
 for(i=1;i<m;i++)
  if(max<a[i])
   max=a[i];

 for(i=0;i<m;i++)
  if(a[i]!=max) b[n++] = a[i];
return n;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 31.05.2009, 18:15   #3
Ferghost
 
Регистрация: 31.05.2009
Сообщений: 9
По умолчанию прога

Огромное спасибо, работает)
Ferghost вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
(Паскаль) Составить программу, использующую подпрограмму-функцию Викуська_ Помощь студентам 6 21.04.2009 23:32
график функции sinx, построит функцию на основе многочлена (по формуле Лагранжа). Alexcomeback Общие вопросы C/C++ 2 18.04.2009 14:08
Как передать значение переменной из функции в ACCESSе в функцию в EXCELе? musicitsme Microsoft Office Access 1 01.04.2009 10:24
Разбить на функции dma Помощь студентам 1 10.03.2009 07:21
Функция main и main(void) Pord Помощь студентам 1 11.12.2008 15:57