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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2021, 12:38   #1
Tat0107
Новичок
Джуниор
 
Регистрация: 20.03.2021
Сообщений: 5
По умолчанию Массивы С++.Функция не принимает 0 аргументов!!!

На 32 строке(if simple(int n, int mas[i],..)==false) ошибка:Функция не принимает 0 аргументов!.Мне нужно вывести ср. арифм(sr) в textbox1 и индекс наиболее близкого к ср. ар элемента(ind)в textbox2. Что написать в form1.h чтобы эти значения выводились в textbox ах??И как исправить ошибку на 32 строке?.Помогите,пожалйста!
Код:
//файл task.cpp с функциями решения задачи 
#include "stdafx.h"
#include <cmath>

bool simple (int n,int mas[],float& sr, int& ind)
 {
        int i,s,k,min;
		int sum=0;
		
			for (int i=0;i<n;i++)
				if (n>0 && abs(sr-mas[i]<s))
					{sum+=mas[i]; k++;}
			sr=sum/k;
min= abs(sr-mas[0]);ind=0;
			for (int i=1;i<n;i++)	
				{
 s=abs(sr-mas[i]);
if(s<min) {min=s; ind=i;}
				}

					return true;
			return false;
			

  }			

int task(int n,int mas[] ,int newmas[])
{
	float sr;
	int i,ind;
	int k=0;
	if (simple(int n,int mas[i],float& sr,int& ind)==false) return 0;
	for(int i=0;i<n;i++)
		if(mas[i]>0 && ind<n/2);
		{
			newmas[k]=mas[i];
			k++;
		}
		return k;
}

Последний раз редактировалось Tat0107; 20.03.2021 в 12:44.
Tat0107 вне форума Ответить с цитированием
Старый 20.03.2021, 13:02   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Цитата:
Сообщение от Tat0107 Посмотреть сообщение
if (simple(int n,int mas[i],float& sr,int& ind)==false) return 0;
При вызове функции тип параметров не указывается.
Arigato вне форума Ответить с цитированием
Старый 20.03.2021, 13:05   #3
Tat0107
Новичок
Джуниор
 
Регистрация: 20.03.2021
Сообщений: 5
По умолчанию

Arigato, в этом случае ошибка:error C2664: simple: невозможно преобразовать параметр 2 из "int" в "int []"
Tat0107 вне форума Ответить с цитированием
Старый 20.03.2021, 15:28   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Потому что требуется передать массив целиком, а не i-й элемент массива.
Arigato вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Напишите функцию calculateArea. -Если функция принимает одно число "a" - она возвращает площадь квадрата (a*a). -Если функция принимает два числа "a, b" - она возвращает площадь пр Skeydzh Фриланс 4 04.07.2017 22:42
Ошибка в программе: Track не содержит конструктор, который принимает 0 аргументов - C# GrandMaster C# (си шарп) 1 30.03.2016 20:38
Функция, которая на вход принимает строку и в качестве результата возвращает ее копию sswt Помощь студентам 23 24.09.2015 08:09
Функция не принимает 0 аргументов RendomID Помощь студентам 2 26.03.2015 08:59
Проблема с пепедачей аргументов в функцию (массивы + указатели) sekator Общие вопросы C/C++ 2 09.08.2010 13:03