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

multiple definition of perebor(int)

30.05.2011, 16:06. Показов 2571. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru