3 / 3 / 3
Регистрация: 16.02.2011
Сообщений: 68
1

не могу разобраться с вектором

17.03.2013, 03:45. Показов 426. Ответов 7
Метки нет (Все метки)

Доброй ночи.
Никак не пойму почему не работает.
Есть 3 файла
3.cpp
C++
1
2
3
4
5
6
7
8
#include <stdio.h>
#include "lib/simply.h"
 
int main(void)
{
    std::vector <int> vec(eratosthenes(100));
    return 0;
}
lib/simply.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include "simply.h"
 
std::vector <int> eratosthenes(int n)
{
    std::vector <int> array(2, 0);
    for (int i = 2; i < n; i++)
        array.push_back(i);
    std::vector <int> result;
    int i = 2;
    while (i < n)
    {
        if (array[i] != 0)
        {
            result.push_back(array[i]);
            for (int j = 0; j < n; j+i)
                array[j] = 0;
        }
        i++;
    }
    return result;
}
lib/simply.h
C++
1
2
3
4
5
6
7
#ifndef _simply_H
#define _simply_H
 
#include <vector>
std::vector <int> eratosthenes(int);
 
#endif
Не хочет компилится.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2013, 03:45
Ответы с готовыми решениями:

не могу разобраться..
Вывести на экран все натуральные числа из диапазона от A до B, в записи которых цифра 7 встречается...

Не могу разобраться с С++
Всем Привет, так я кодеру в Делфи. Не давно нашел что мне нужно но оy написан на С. Вот и начался у...

Не могу разобраться в задаче
В командных олимпиадах по программированию для решения предлагается не больше 11 задач. Команда...

Не могу разобраться с rand()
Вот собственно код. Должен загадывать 3 случайных числа (первое от 1 до 10, второе до 5, третье до...

7
Форумчанин
Эксперт CЭксперт С++
8190 / 5040 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.03.2013, 04:01 2
Ошибку в студию.
И что вы этим хотели сказать
Цитата Сообщение от Triall Посмотреть сообщение
for (int j = 0; j < n; j+i)
?

Добавлено через 1 минуту
И кстати, ничего, что возвращается локальная переменная, которая уничтожается при выходе из тела функции?
0
3 / 3 / 3
Регистрация: 16.02.2011
Сообщений: 68
17.03.2013, 04:10  [ТС] 3
Цитата Сообщение от MrGluck Посмотреть сообщение
И что вы этим хотели сказать
Ошибка вышла... Там должно быть
C++
1
for (int j = i; j < n; j+i)
А ошибка такая
undefined reference to 'eratosthenes(int)
Добавлено через 2 минуты
Цитата Сообщение от MrGluck Посмотреть сообщение
И кстати, ничего, что возвращается локальная переменная, которая уничтожается при выходе из тела функции?
Но ведь функция должна ее вернуть, или она локальные не возвращает ?
0
Форумчанин
Эксперт CЭксперт С++
8190 / 5040 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.03.2013, 04:19 4
Triall, насчет локальной переменной - намудрил я, перепутал с указателем.

Цитата Сообщение от Triall Посмотреть сообщение
Ошибка вышла... Там должно быть
for (int j = i; j < n; j+i)
В чем смысл j+i? мб имеется ввиду j += i ?
И вектор возвращать лучше по ссылке, не зачем копии лишние создавать.

Добавлено через 49 секунд
Насчет ошибки - файлы в одном проекте?
0
3 / 3 / 3
Регистрация: 16.02.2011
Сообщений: 68
17.03.2013, 04:29  [ТС] 5
Цитата Сообщение от MrGluck Посмотреть сообщение
В чем смысл j+i? мб имеется ввиду j += i ?
Опять вы правы... Что то на ночь уже не соображаю.

Файлы без поректа, пишу в vim'е

Добавлено через 7 минут
Попробовал запустить в CodeBlocks все заработало...
Значит надо пилить vim.
0
Форумчанин
Эксперт CЭксперт С++
8190 / 5040 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.03.2013, 04:36 6
Triall, если вы на linux, то можете набрать след. команду:
Код
g++ lib/simply.cpp -c -o simply.o && g++ 3.cpp simply.o && ./a.out
Добавлено через 1 минуту
Triall, заработало т.к. IDE за вас создала Makefile
1
3 / 3 / 3
Регистрация: 16.02.2011
Сообщений: 68
17.03.2013, 04:38  [ТС] 7
MrGluck, А вы не знаете плагина для vim что бы тоже за меня создавал make файлы ?
0
Форумчанин
Эксперт CЭксперт С++
8190 / 5040 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.03.2013, 04:44 8
Triall, называется "руки юзера". Я всегда так делаю)
А вообще, это вам не IDE, лишь текстовый редактор, автоматизированного процесса сборки проектов от него не ждите, он создан лишь текст набирать.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.03.2013, 04:44
Помогаю со студенческими работами здесь

массивы.не могу разобраться
1. В массиве X из N элементов (N не больше 30) определить максимальный элемент и его номер. Число N...

Не могу разобраться с потоками
В общем суть задачи моей такова - есть файл , ну допустим в нем 1000 строк ,и я поставил своей...

Не могу разобраться с сортировкой
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;locale.h&gt; #include &lt;string&gt; using namespace...

Не могу разобраться с файлами
помогите разобраться с файлами на Си, по примитиву, на премеро.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru