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

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

Войти
Регистрация
Восстановить пароль
 
 
mster-doc
14 / 14 / 4
Регистрация: 10.11.2012
Сообщений: 239
#1

Не корректность кода (определение простых чисел) - C++

12.01.2013, 14:30. Просмотров 414. Ответов 15
Метки нет (Все метки)

Здравствуйте. Помогите исправить ошибки.
В программе определяющей простые числа
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
#include <iostream>
 
using namespace std;
 
 
int  rec(int n)
{
    if(n==0||n==1) return 1;
    
   
}
 
int main()
{
    int a,n,i;
    cout << "Input number:";
    cin >> n;
    
    
    a=n/i;
   for (i=2;i<n;i++)
   {
       if (n%i==0)
       {
                  cout << " 4islo ne prostoe, deliteli:" << i;
       }
   }
   cout <<" prostoe\n" << rec(n);
  
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2013, 14:30     Не корректность кода (определение простых чисел)
Посмотрите здесь:

C++, Определение простых чисел, нужен совет - C++
Мне необходимо написать алгоритм определения простых чисел от 1 до 100. Уже три часа переписываю код, ничего не выходит. Пробовал по...

Рефакторинг кода вывода простых чисел - C++
#include &lt;iostream&gt; #include &lt;ctime&gt; int main() { clock_t t = clock(); { std::size_t size = 1000; ...

Не понятен смысл кода вывода простых чисел - C++
Привет, совсем недавно начал изучать С++, читаю книгу, да и до этого как-то были аленькие опыты, так вот, есть код: #include...

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

Проверьте корректность работы кода - C++
#include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;stdio.h&gt; #define b 15 using namespace std; int...

Метод хорд - проверить корректность реализации кода - C++
Приветствую, форумчане. Хочу обратиться к вам за помощью, вот еле написала программу для метода хорд, методом шары если честно, так как...

Программирование метода градиентного спуска - проверка кода на корректность - C++
Здравствуйте! мне необходимо сдать лабораторную работу по методу градиентного спуска. я запрограммировал этот метод поиска минимума...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 543
12.01.2013, 14:36     Не корректность кода (определение простых чисел) #2
Цитата Сообщение от mster-doc Посмотреть сообщение
C++
1
a=n/i;
И чему равно " i " ?
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
12.01.2013, 14:37     Не корректность кода (определение простых чисел) #3
Цитата Сообщение от mster-doc Посмотреть сообщение
C++
1
a=n/i;
а зачем вам эта строчка, да и еше ко всему у вас на этой строке не инициализирована i

Добавлено через 1 минуту
Цитата Сообщение от mster-doc Посмотреть сообщение
int *rec(int n)
{
* * if(n==0||n==1) return 1;
}
и какой смысл этой функции она у вас будет работать только в 2 случаях и результат один
Xipxop
481 / 9 / 2
Регистрация: 28.12.2011
Сообщений: 151
12.01.2013, 14:39     Не корректность кода (определение простых чисел) #4
вот тут ты необозначил чему равно i.
C++
1
2
3
4
5
6
int a,n,i;
    cout << "Input number:";
    cin >> n;
    
    
    a=n/i;
Объясню: a=n\i но i это НИЧТО, тк ты несказал компьютеру, что оно обозначает(например число 2)
mster-doc
14 / 14 / 4
Регистрация: 10.11.2012
Сообщений: 239
12.01.2013, 14:48  [ТС]     Не корректность кода (определение простых чисел) #5
Всё, спасибо, писал что-то думал о другом
вот
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
using namespace std;
 
int main()
{
    int n;
    cout << "Input number:";
    cin >> n;
    
    
   for (int i=2;i<n;i++)
   {
       if (n%i==0)
       {
                  cout << " 4islo ne prostoe, deliteli:" << i;
       }
   }
   cout <<" prostoe\n";
  
    system("pause");
    return 0;
}
Добавлено через 1 минуту
только всёровно немного работает криво
если ввести число 6 то программа выводит делители и думает что 2 не простое число
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
12.01.2013, 14:51     Не корректность кода (определение простых чисел) #6
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
using namespace std;
 
int main()
{
    int n;
    bool flag = true; 
    cout << "Input number:";
    cin >> n;
    
    
   for (int i=2;i<n;i++)
   {
       if (n%i==0)
       {
                  cout << " 4islo ne prostoe, deliteli:" << i;
                  flag = false;
       }
   }
   if (!flag)
   cout <<" prostoe\n";
  
    system("pause");
    return 0;
}
ну потому что вы водите просто так n добавте условие например такое
mster-doc
14 / 14 / 4
Регистрация: 10.11.2012
Сообщений: 239
12.01.2013, 14:57  [ТС]     Не корректность кода (определение простых чисел) #7
всёровно также(
iifat
2225 / 1378 / 102
Регистрация: 05.06.2011
Сообщений: 3,799
12.01.2013, 15:19     Не корректность кода (определение простых чисел) #8
Цитата Сообщение от Nixy Посмотреть сообщение
C++
1
if (!flag)
C++
1
if (flag)
Ну, у тебя это в 19 строке.
mster-doc
14 / 14 / 4
Регистрация: 10.11.2012
Сообщений: 239
12.01.2013, 15:21  [ТС]     Не корректность кода (определение простых чисел) #9
всёровно не помагло
FreeMinder
36 / 36 / 2
Регистрация: 29.08.2012
Сообщений: 59
12.01.2013, 15:39     Не корректность кода (определение простых чисел) #10
Цитата Сообщение от mster-doc Посмотреть сообщение
если ввести число 6 то программа выводит делители и думает что 2 не простое число
И правильно, 6 делится на 3 и на 2
А на счёт двойки - цикл начинается с 2, поэтому срабатывает 2%2 == 0, для двойки отдельное условие задайте,
если n == 2 число простое и выход из программы
Pepsy
47 / 32 / 4
Регистрация: 05.01.2013
Сообщений: 307
12.01.2013, 15:43     Не корректность кода (определение простых чисел) #11
Цитата Сообщение от mster-doc Посмотреть сообщение
int a,n,i;
* * cout << "Input number:";
* * cin >> n;
a=n/i;
Задайте значение i
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
12.01.2013, 15:44     Не корректность кода (определение простых чисел) #12
лучше цикл с 1 начать просто

Добавлено через 17 секунд
а не отдельное условие 2
FreeMinder
36 / 36 / 2
Регистрация: 29.08.2012
Сообщений: 59
12.01.2013, 15:50     Не корректность кода (определение простых чисел) #13
Цитата Сообщение от Nixy Посмотреть сообщение
лучше цикл с 1 начать просто
Добавлено через 17 секунд
а не отдельное условие 2
n % 1 всегда без остатка)))
тогда цикл с 1 и вот так:
C++
1
if (i>1 && n%i==0)
iifat
2225 / 1378 / 102
Регистрация: 05.06.2011
Сообщений: 3,799
12.01.2013, 15:54     Не корректность кода (определение простых чисел) #14
Цитата Сообщение от FreeMinder Посмотреть сообщение
цикл начинается с 2, поэтому срабатывает 2%2 == 0
Точно срабатывает? По идее, проверка до тела даже в первый раз -- цикл вообще не срабатывает.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2013, 16:00     Не корректность кода (определение простых чисел)
Еще ссылки по теме:

Портирование кода на С++ (проверка вводимых данных пользователем на корректность) - C++
Требуется портировать код с С# на С++. Код на шарпе - очень простой. В нем не используются языковые особенности шарпа, перевести, я думаю,...

Определение времени выполнения кода - C++
Нужно определить сколько выполняется тот или иной цикл, подскажите поз, как это сделать

С++ и бесконечность простых чисел - C++
Тысячи лет назад математики знали, что количество простых числ бесконечно и придумали простое доказателство &quot;от противного&quot;: Предположим,...

Поиск простых чисел - C++
to idetify if the given K is prime or not. Prime number is the number that can be divided by 1 and by itself ONLY. If given number is...

Поиск простых чисел - C++
Знаю, что тема избитая, но решил написать алгоритм поиска простых чисел. int j,i,k /*количество простых*/ ,nech,prime; ...


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

Или воспользуйтесь поиском по форуму:
FreeMinder
36 / 36 / 2
Регистрация: 29.08.2012
Сообщений: 59
12.01.2013, 16:00     Не корректность кода (определение простых чисел) #15
iifat, вы правы, не подумал приняв на веру слова
Цитата Сообщение от mster-doc Посмотреть сообщение
и думает что 2 не простое число
Yandex
Объявления
12.01.2013, 16:00     Не корректность кода (определение простых чисел)
Ответ Создать тему
Опции темы

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