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

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

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

Восстановить пароль

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 30.09.2014, 20:42   #1
mr.TigranSargsyan
 
Регистрация: 30.09.2014
Сообщений: 6
Восклицание прошу помогите!!!

здрасти всем! задача найти максимальный элемент массива. пишу программу

Код:
#include <iostream>
using namespace std;
int all[6];
int max=all[0];
int a(int max)
{ 
for (int i=1; i<6; i++)
if (all[i]>max)
max=all[i];
return max;
}
void main()
{
int a;
for (int i=0; i<6; i++)
cin>>all[i];
cout<<a(all[0])<<endl;
}
выводит (17) : error C2064: результатом вычисления фрагмента не является функция, принимающая 1 аргументов.

помогите плиз.

Последний раз редактировалось Stilet; 30.09.2014 в 21:21.
mr.TigranSargsyan вне форума
Старый 30.09.2014, 21:00   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Код:
#include <iostream>
using namespace std;

int all[6];
int max=all[0];

int a(int max) {
	for (int i=1; i<6; i++)
		if (all[i]>max)
			max=all[i];
	return max;
}

void main() {
	int a;
	for (int i=0; i<6; i++)
		cin>>all[i];
	cout<<a(all[0])<<endl;
}
rrrFer вне форума
Старый 30.09.2014, 21:04   #3
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

int max=all[0];

Я не знаю что ты пытаешься сделать тут. all - это массив из шести неинициализированных элементов. Ты пытаешься получить значение первого элемента. Скорее всего ты получишь мусор, но в общем случае - это неопределенное поведение.

void main() {

Функция main возвращает целое число, а не void.

cout<<a(all[0])<<endl;

У тебя "a" - это функция, и точно такое же имя ты присвоил локальной переменной. В этом случае ты будешь использовать локальную переменную, но ты обращаешься к ней как к функции.

Либо переименую локальную переменную, либо удали ее вообще (она не используется вроде бы).
rrrFer вне форума
Старый 30.09.2014, 21:07   #4
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Код:
#include <iostream>
using namespace std;

int all[6];
int max=all[0];

int a(int max) {
	for (int i=1; i<6; i++)
		if (all[i]>max)
			max=all[i];
	return max;
}

int main() {
	for (int i=0; i<6; i++)
		cin>>all[i];
	cout<<a(all[0])<<endl;
}
Ну т.е. вот так - оно будет собираться, но я не знаю что ты хотел тут написать. Глобальная переменная max у тебя не используется, кстати

Можно переписать так:
Код:
#include <iostream>
using namespace std;

int all[6];

int a(int max) {
	for (int i=1; i<6; i++)
		if (all[i]>max)
			max=all[i];
	return max;
}

int main() {
	for (int i=0; i<6; i++)
		cin>>all[i];
	cout<<a(all[0])<<endl;
}
Или так:
Код:
#include <iostream>
using namespace std;

int all[6];

int a() {
	int max=all[0];
	
	for (int i=1; i<6; i++)
		if (all[i]>max)
			max=all[i];
		
	return max;
}

int main() {
	for (int i=0; i<6; i++)
		cin>>all[i];
	
	cout<<a()<<endl;
}
Но оба варианта плохие, глобальную переменную стоит удалить как-то

Последний раз редактировалось rrrFer; 30.09.2014 в 21:09.
rrrFer вне форума
Старый 30.09.2014, 21:08   #5
mr.TigranSargsyan
 
Регистрация: 30.09.2014
Сообщений: 6
По умолчанию

можешь написать конкретно как надо?
mr.TigranSargsyan вне форума
Старый 30.09.2014, 21:11   #6
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Еще конкретней? xD
rrrFer вне форума
Старый 30.09.2014, 21:14   #7
mr.TigranSargsyan
 
Регистрация: 30.09.2014
Сообщений: 6
По умолчанию

Код:
#include <iostream>
using namespace std;

int all[6];
int max=all[0];

int a(int max) {
	for (int i=1; i<6; i++)
		if (all[i]>max)
			max=all[i];
	return max;
}

int main() {
	for (int i=0; i<6; i++)
		cin>>all[i];
	cout<<a(all[0])<<endl;
}
так получилось, ток у меня еще один вопрос, у меня после окончания показывает ответ и выбрасывает из программы, что делать?

Последний раз редактировалось ACE Valery; 30.09.2014 в 22:32.
mr.TigranSargsyan вне форума
Старый 30.09.2014, 21:22   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
int a(int max)
и
Цитата:
int a;
Что это за int a; ? Убери его.
Цитата:
и выбрасывает из программы, что делать?
cin.get(); поставь вконце программы.
I'm learning to live...

Последний раз редактировалось Stilet; 30.09.2014 в 21:26.
Stilet вне форума
Старый 30.09.2014, 21:25   #9
mr.TigranSargsyan
 
Регистрация: 30.09.2014
Сообщений: 6
По умолчанию

как будет выглядить конечняя программа без Int a?

Последний раз редактировалось mr.TigranSargsyan; 30.09.2014 в 21:28.
mr.TigranSargsyan вне форума
Старый 30.09.2014, 21:36   #10
mr.TigranSargsyan
 
Регистрация: 30.09.2014
Сообщений: 6
По умолчанию

так?

Код:
#include <iostream>
using namespace std;
int all[6];
int a() 
{
	int max=all[0];	
	for (int i=1; i<6; i++)
	if (all[i]>max)
	max=all[i];		
	return max;
}

int main() 
{
	for (int i=0; i<6; i++)
	cin>>all[i];	
	cout<<a()<<endl;
}

Последний раз редактировалось ACE Valery; 30.09.2014 в 22:33.
mr.TigranSargsyan вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
прошу, помогите tatuana_ Паскаль, Turbo Pascal, PascalABC.NET 1 28.12.2013 21:40
Прошу помогите!!!!Help... Ximer Паскаль, Turbo Pascal, PascalABC.NET 4 25.01.2009 10:35