С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 13

multiple definition of perebor(int)

30.05.2011, 16:06. Показов 2535. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
//ôóíêöèÿ ïåðåáèðàåò ÷èñëà
//è íà êàæäîå ÷èñëî äåéñòâóåò ôóíêöèåé proverka
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include "proverka.cpp"
 
#define c 100
 
int perebor(int chislo)
{
int j,a=chislo;
int sum=0;
for (;a<c;a++)
    {
                          
     for (j=0;j<a;j++)
         {
          if (proverka(a,j)==1)
             {
          sum+=sum;
                if (sum==a)        
            break;
             }
         }
    //êàæäîå ÷èñëî ïåðåäà¸ì ôóíêöè proverka
     }
return a;
//puts("HAIMEHbIIIEE 4NCJIO");
//printf("%d",a);
}
друзья!
уже час парюсь..пишется ошибка
multiple definition of `perebor(int)'
first defined here
ld returned 1 exit status
C:\C++\Makefile.win [Build Error] [laba4.exe] Error 1

прогаю на дев сипипи..дайте пожалуйста совет.как этоисправить?
пытался на экран выводить не в майне а непосредственно в переборе...тоже самое
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.05.2011, 16:06
Ответы с готовыми решениями:

multiple definition
Мне в проэкте в двух файлах нужно подключить один и тот же заголовочный файл с другого проэкта(header.h). Этот заголовочный файл подключает...

multiple definition of
Друзья помогите разобраться с проблемой! Функции написаны в одном файле и их надо вызвать в другом, например: #include &quot;OP.cpp&quot;...

Multiple definition
В заголовочном файле создаю переменные который используют функции из этой же единицы трансляции, но происходит multiple definition, если...

16
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
30.05.2011, 16:09
Если я не ошибаюсь, perebor у вас объявлен несколько раз... мало кода
0
 Аватар для m1Rr0r
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
30.05.2011, 16:09
а где main ? и proverka ? можно код посмотреть полный?
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
30.05.2011, 16:10
Не видно функции main(), выложите весь исходник?
0
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 13
30.05.2011, 16:11  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//Íàéòè íàèìåíüøåå ñîâåðøåííîå ÷èñëî, áîëüøåå ââåäåííîãî ÷èñëà 
 
#include <cstdlib>
#include "iostream"
#include <stdio.h>
#include "perebor.cpp"
 
int main(void) // ââîäèì ÷èñëî
           //ïåðåäà¸ì ýòî ÷èñëî ôóíêöèè perebor
{
    int chislo;
    puts("BBeDNTE 4ICJIO");
    scanf("%d",&chislo);
    perebor(chislo);
    puts("HAIMEHbIIIEE 4NCJIO");
    printf("%d",perebor(chislo));
    system("PAUSE");
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//Ôóíêöèÿ ïðîâåðÿåò ÷èñëî íà ñîâåðøåííîñòü.
 
#include <cstdlib>
#include <iostream>
#include <stdio.h>
 
inline int proverka(int a,int j)
{
    //âûçâàâ ôóíêöèþ perebor è êàæäîå ÷èñëî èç ýòîé ôóíêöèè ïðîâåðÿåò íà ñîâåðøåííîñòü
    //åñëè ÷èñëî ñîâåðøåííî. òî ýòà ôóíêöèÿ ïåðåäà¸ò ýòî ÷èñëî ôóíêöèè vibor
    if (a%j==0)
    return 1;
    else
    return 0;
}
на vibor не обращайте внимания
0
 Аватар для m1Rr0r
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
30.05.2011, 16:20
запихай это все в один cpp файл, и посмотри как будет вести себя...
0
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 13
30.05.2011, 16:24  [ТС]
в задании.нужно сделать в разных файлах
0
 Аватар для m1Rr0r
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
30.05.2011, 16:32
потом раскидаешь, будет ли работать в одном, думаю ошибка именно в инклудах, потому как компилятор думает что у тебя много функций perebor(), если я не ошибаюсь
0
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 13
30.05.2011, 16:36  [ТС]
я пытаюсь в майне в принт эфе сделать перебор(а)..пишет, что а не декларирован...хотя а-это и есть число которое мне нужно найти.и оно отлично определено в функции перебор.
сделал в одном файле..чёто не проканало
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
30.05.2011, 16:37
xGamer, НЕ стоит инклудить cpp файл.
0
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 13
30.05.2011, 16:41  [ТС]
без инклуда компилятор требует декларировать
0
 Аватар для m1Rr0r
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
30.05.2011, 16:45
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <cstdlib>
#include "iostream"
#include <stdio.h>
 
int main(void) // вводим число
           //передаём это число функции perebor
{
    int chislo;
    puts("BBeDNTE 4ICJIO");
    scanf("%d",&chislo);
    perebor(chislo);
    puts("HAIMEHbIIIEE 4NCJIO");
    printf("%d",perebor(chislo));
    system("PAUSE");
}
 
 
inline int proverka(int a,int j)
{
    //вызвав функцию perebor и каждое число из этой функции проверяет на совершенность
    //если число совершенно. то эта функция передаёт это число функции vibor
    if (a%j==0)
    return 1;
    else
    return 0;
}
 
#define c 100
 
int perebor(int chislo)
{
int j,a=chislo;
int sum=0;
for (;a<c;a++)
    {
                          
     for (j=0;j<a;j++)
         {
          if (proverka(a,j)==1)
             {
          sum+=sum;
                if (sum==a)        
            break;
             }
         }
    //каждое число передаём функци proverka
     }
return a;
//puts("HAIMEHbIIIEE 4NCJIO");
//printf("%d",a);
}
имел ввиду как то так, стандартные инклуды, main, функции.
если компилятор ругаеться что не знает функций, перед мейном укажи их, но не описывай
0
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 13
30.05.2011, 17:03  [ТС]
не получается.
0
 Аватар для m1Rr0r
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
30.05.2011, 18:28
слушай, опиши на пальцах чего прога делает твоя, может помогу исправить, а то я читал читал код твой но так и не понял, что за проверка на совершенность, и чего у тебя в цилке 0 делиться по модулю на 0 зачем это, не понятно, напиши чего сделать то хош...
0
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
30.05.2011, 18:34
Цитата Сообщение от xGamer Посмотреть сообщение
без инклуда компилятор требует декларировать
И всё-таки инклуд perebor.cpp убери, а вместо него добавь прототип функции:
C
1
int perebor(int chislo);
0
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 13
30.05.2011, 19:14  [ТС]
в общем.программа ищет совершенное число, которое наиболее близко к введённому..и больше его...тоесть следущее совершенное число после введённого..вот я в майне ввожу..передаю это число функции перебор..там я перебираю числа, проверяя их на совершенность...там наверно у меня ошибка с суммой.....sum.там надо наверно после каждого неподходящего числа очищать эту переменную

Добавлено через 1 минуту
Цитата Сообщение от m1Rr0r Посмотреть сообщение
слушай, опиши на пальцах чего прога делает твоя, может помогу исправить, а то я читал читал код твой но так и не понял, что за проверка на совершенность, и чего у тебя в цилке 0 делиться по модулю на 0 зачем это, не понятно, напиши чего сделать то хош...
я сделал как ты говориш и ругается компилчтор!
пишет что не декларированная функция...я же уже говорил что не канает

странно.но после третьего нажатия на кнопку посотроить.ушла декларация

Добавлено через 15 минут
теперь в общем файлик билдится...но!.я ввожу число...меркер переводится на сл строку.потом вылезает окошко..мол программа не работает...успевает вывестись НАИМЕНЬШЕЕ ЧИСЛО
потом начинают работать 2 остальные функции...так что что то в них там...
0
65 / 71 / 9
Регистрация: 25.06.2009
Сообщений: 244
30.05.2011, 19:59
как я понял вы инклудили cpp файл в нем же самом(это означает что текст скопирован два раза, а если честно хз, может и бесконечное число раз)...
естественно он не потребует декларации, но и тел функции две теперь,

grizlik78
И всё-таки инклуд perebor.cpp убери, а вместо него добавь прототип функции:
C++
1
int perebor(int chislo);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.05.2011, 19:59
Помогаю со студенческими работами здесь

Ошибка multiple definition
В строке 4 компилятор выдает ошибку &quot;multiple definition of 'fin'&quot;. Проблема в том, что в этой строке вообще нет слова fin. Объясните,...

Непобедимый `multiple definition`
Доброго времени суток. Решил отрефакторить довольно большой проект, уже 10 раз пожалел что взялся за это дело :) не могу победить...

Multiple definition для константы
Есть некий заголовочный файл с набором констант, который нужен во многих классах: #ifndef RCCCONSTS_H #define RCCCONSTS_H ...

Что такое multiple definition of
Здравствуйте форумчане, объясните новичку почему компилятор ругается, что я не правильно делаю? Я создал два класса Date и Book и решил...

Multiple definition - несколько определений
Написал программу(не очень слаженную, но) используя множественное наследование. #include &lt;/home/demien/Рабочий...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru