Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Triall
3 / 3 / 1
Регистрация: 16.02.2011
Сообщений: 68
#1

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

17.03.2013, 03:45. Просмотров 292. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2013, 03:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос не могу разобраться с вектором (C++):

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

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

Не могу разобраться с кодом - C++
Не могу разобраться с участком кода, а именно зачем нужны &quot;++&quot; *buffer-&gt;DataEnd++ = data32;

не могу разобраться с матрицей. - C++
Здравствуйте. Дело в том что я лох в программировании На C++ и нужна помощь с задачей. Задача: Дана матрица А(4,3) 1. Найти...

Не могу разобраться с регуляркой C++ - C++
Привет всем, помогите кто знает, у меня есть строка: string str=&quot;NUM 16093.99 /NUMBER ... /NUMBER /NUMBER&quot;; Возможно ли как то,...

не могу разобраться с Условием! - C++
Напишите программу принимающую на выходе символ оператора с двумя опредантами и выводящую на экран результат вычисления! пример (+ 100...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
17.03.2013, 04:01 #2
Ошибку в студию.
И что вы этим хотели сказать
Цитата Сообщение от Triall Посмотреть сообщение
for (int j = 0; j < n; j+i)
?

Добавлено через 1 минуту
И кстати, ничего, что возвращается локальная переменная, которая уничтожается при выходе из тела функции?
0
Triall
3 / 3 / 1
Регистрация: 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
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
17.03.2013, 04:19 #4
Triall, насчет локальной переменной - намудрил я, перепутал с указателем.

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

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

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

Добавлено через 7 минут
Попробовал запустить в CodeBlocks все заработало...
Значит надо пилить vim.
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
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
Triall
3 / 3 / 1
Регистрация: 16.02.2011
Сообщений: 68
17.03.2013, 04:38  [ТС] #7
MrGluck, А вы не знаете плагина для vim что бы тоже за меня создавал make файлы ?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
17.03.2013, 04:44 #8
Triall, называется "руки юзера". Я всегда так делаю)
А вообще, это вам не IDE, лишь текстовый редактор, автоматизированного процесса сборки проектов от него не ждите, он создан лишь текст набирать.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2013, 04:44
Привет! Вот еще темы с ответами:

не могу разобраться в задачке - C++
Доброго времени суток! Что то не получается скомпилировать задачку! буду рад помощи tg(x) - (5-x)4 вот код: #include &quot;stdafx.h&quot;...

Не могу разобраться в потоках - C++
Есть программа которая считывает строку с файла и переводит в Азбуку Морзе,вроде бы всеправильнонаписано но почему то не выполняется...

Не могу разобраться с сортировками - C++
Преподаватель дал задание написать алгоритмы. Я написал и мне все казалось верным, но в самой обыкновенной сортировке пузырьком у меня...

C++ не могу разобраться в нём - C++
Привет всем помогите пожалуйста кто может у меня такая проблема не могу решить задачи по C++, в Программировании я практически нечего...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.03.2013, 04:44
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru