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

числа из определённого диапазона. - C++

Восстановить пароль Регистрация
 
In Da Fly
 Аватар для In Da Fly
0 / 0 / 0
Регистрация: 28.05.2010
Сообщений: 22
02.02.2011, 22:07     числа из определённого диапазона. #1
люди у меня короче проблема мне нужно сделать программу в с++ я нашёл в нете подобие моего задания и ещё кое что сам сделал у меня программа должна выдовать определёные числа (простые или взаимнопростые или простые парные) из определённого диапазона.у меня нормально работает поиск простых чисел только а все остальные нет люди помогите мне с проблемой может это програма ху если так то скиньте ссылку или что то что бы скачал.
вот скрипты на три программы:
1 простые числа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream.h>
using namespace std;
int main ()
 {     
   int x,y,n;
   cout<<\"n n=";
   cin>>n;
    for(x=2;x<n;x++){
                        for (y=2;y<=(x/y);y++)
                        if (!(x%y)) break;
                        if (y>(x/y)) cout << x << " -prost. number\n";
                        }
                       getchar ();
                       return 0;
                        }
Простые парные
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
      main() 
  { 
      int number; 
      int num1, num2; 
      int i,p;
      int max_i = number/2;
      for( i=1 ; i <= max_i ; ++i ) {
         if( is_prime(i) && is_prime(number-i) ) {
            num1 = i;
            num2 = number-i;
            break;
            void is_prime( int i)
            {
                 return(factorialMod(i-1,i)+1)%i==0;
         }
      }
}
Взаимно простые:
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
#include <iostream.h>
#include <conio.h>
using namespace std;
void gcd (int,int)
void main ()
{
int start,end,a,b;
cout<<"\n start";
cin >> start;
cout<<"\n end";
cin >> end;
for (int i = start; i < (end+1); ++i)
for (int j =(start+1); j < end; ++j)
if (gcd(i,j) == 1) cout<<i<<j;
 
return 0;
void gcd(int i, int j)
{
     while (j!=0)
     j=i%(i=j);
     return i;
}
getch()
}
Так же надо будет сделать что бы все эти три проги были одной ((( а то у меня не как не получалось Пожалусто помогите бедному студенту. )))

 Комментарий модератора 
Давайте темам более осмысленные названия и не забывайте использовать теги форматирования кода.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Stas96
 Аватар для Stas96
34 / 34 / 3
Регистрация: 31.08.2009
Сообщений: 116
02.02.2011, 23:33     числа из определённого диапазона. #2
Цитата Сообщение от In Da Fly Посмотреть сообщение
Так же надо будет сделать что бы все эти три проги были одной
Это чтобы когда выполнилась первая програ, сразу шла вторая?
Если нет,то можешь поробывать через
C++
1
switch()
Он позволит вам сделать меню, то есть:
1:Поиск простых чисел(Введите 1)
2:
3:......
и т.д
вот код:
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
#include <iostream>
#include <conio.h>
using namespace std;
 
 
 
void main()
{
    int dp;
    cout << "Proga 1" << endl;
    cout << "Proga 2" << endl;
    cout << "Proga 3" << endl;
    
   cin >> dp;
    
 
    switch(dp)
    {
    case 1:
 
int x,y,n;
cout<<"\n" "n=";
cin >> n;
for(x=2;x<n;x++){
for (y=2;y<=(x/y);y++)
if (!(x%y)) break;
if (y>(x/y)) cout << x << " -prost. number\n";
}
getchar ();
 
        break;
 
    case 2:
//Сюда вставляется код
 
        break;
 
 
 
    case 3:
        //Сюда вставляется код
        break;
 
    }
 
}
 
cin.get();
cin.get();
In Da Fly
 Аватар для In Da Fly
0 / 0 / 0
Регистрация: 28.05.2010
Сообщений: 22
03.02.2011, 10:25  [ТС]     числа из определённого диапазона. #3
сейчас проверю
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
03.02.2011, 10:51     числа из определённого диапазона. #4
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 <iostream>
using namespace std;
 
int prost (int x)
{
    int y;
    for (y=2; y<=x/2; y++)
        if (!(x%y)) 
            return 0;
    return 1;
}
int main()
{
    int i, j, n, k, l;
    cout<<"Enter n: ";
    cin>>n;
    cout<<" 1. Prostye.\n 2. Vzaimnoprostye\n 3. Prostye parnye\n";
    cin>>j;
    switch (j)
    {
        case 1:
            for (i=2; i<n; i++)
            {
                k=prost (i);
                if (k)
                    cout<<"Prostoe chislo: "<<i<<endl;
            }
            break;
        case 2:
            for (i=2; i<n; i++)
            {
                k=prost(i);
                l=prost(i+2);
                if (k && l)
                    cout <<"prost. parn. number "<<i<<" "<<i+2<<endl;
            }
            break;
        case 3:     
            for (j=2; j<n; j++)
                for (i=n; i>j; i--)
                {
                    k=prost(j);
                    l=prost(i);
                    if (k && l)
                        cout <<"vzaimno prost. number "<<j<<" "<<i<<endl;
                }
            break;
 
    }
    return 0;
}
Насчет взаимнопростых есть сомнения...
In Da Fly
 Аватар для In Da Fly
0 / 0 / 0
Регистрация: 28.05.2010
Сообщений: 22
03.02.2011, 11:07  [ТС]     числа из определённого диапазона. #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
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <iostream.h>
#include <conio.h>
using namespace std;
 
 
 
void main()
 
 
        int dp;
        cout << "Proga 1" << endl;
        cout << "Proga 2" << endl;
        cout << "Proga 3" << endl;
        
   cin >> dp;
        
 
        switch(dp)
        {
        case 1:
 
int x,y,n;
cout<<"\n" "n=";
cin >> n;
for(x=2;x<n;x++){
for (y=2;y<=(x/y);y++)
if (!(x%y)) break;
if (y>(x/y)) cout << x << " -prost. number\n";
}
getchar ();
 
                break;
 
        case 2:
  { 
      int number; 
      int num1, num2; 
      int i,p;
      int max_i = number/2;
      for( i=1 ; i <= max_i ; ++i ) {
         if( is_prime(i) && is_prime(number-i) ) {
            num1 = i;
            num2 = number-i;
            break;
            void is_prime( int i)
            {
                 return(factorialMod(i-1,i)+1)%i==0;
         }
      }
}
 
 
                break;
 
 
 
        case 3:
 
int start,end,a,b;
cout<<"\n start";
cin >> start;
cout<<"\n end";
cin >> end;
for (int i = start; i < (end+1); ++i)
for (int j =(start+1); j < end; ++j)
if (gcd(i,j) == 1) cout<<i<<j;
 
return 0;
void gcd(int i, int j)
{
     while (j!=0)
     j=i%(i=j);
     return i;
}
                break;
 
        }
 
}
 
cin.get();
cin.get();
end.
не знаю в чём прикол но когда я хочу запустить программу она не запускает досовское окно тупо скомпилировала и всё ... я пользуюсь DEV-C++ 4.9.9.2 может она плохая и из за неё всё , попробуй у себя запустить её если заработает то скинуть мне нормальный с++.

Добавлено через 1 минуту
и в чём сомнения надо говорить что бы программа нормально работала а не утаивать от всех))

Добавлено через 6 минут
Цитата Сообщение от NNN777 Посмотреть сообщение
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 <iostream>
using namespace std;
 
int prost (int x)
{
    int y;
    for (y=2; y<=x/2; y++)
        if (!(x%y)) 
            return 0;
    return 1;
}
int main()
{
    int i, j, n, k, l;
    cout<<"Enter n: ";
    cin>>n;
    cout<<" 1. Prostye.\n 2. Vzaimnoprostye\n 3. Prostye parnye\n";
    cin>>j;
    switch (j)
    {
        case 1:
            for (i=2; i<n; i++)
            {
                k=prost (i);
                if (k)
                    cout<<"Prostoe chislo: "<<i<<endl;
            }
            break;
        case 2:
            for (i=2; i<n; i++)
            {
                k=prost(i);
                l=prost(i+2);
                if (k && l)
                    cout <<"prost. parn. number "<<i<<" "<<i+2<<endl;
            }
            break;
        case 3:     
            for (j=2; j<n; j++)
                for (i=n; i>j; i--)
                {
                    k=prost(j);
                    l=prost(i);
                    if (k && l)
                        cout <<"vzaimno prost. number "<<j<<" "<<i<<endl;
                }
            break;
 
    }
    return 0;
}
Насчет взаимнопростых есть сомнения...
я только что проверил твою программу что ты мне написал , спасибо , но извеняюсь за такой вопрос я её откомпилировал она без ошибок всё нормально , потом запустил её она открылась в дос окне выбрал н и вид числа и она резко вывела в строчку все числа и закрылась , как это можно исправить что бы она не закрывалась .а что бы после нажатия кнопли только тогда закрывалась
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
03.02.2011, 11:11     числа из определённого диапазона. #6
Сомнения в теории, сложно сейчас вспомнить, что такое взаимнопростые числа, а гуглить крайне не хочется)... с этим, думаю, вы и сами справитесь... но вроде как-то так. если окно после запуска сразу вылетает, почитай это http://www.cyberforum.ru/cpp-beginners/thread10807.html
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2011, 11:27     числа из определённого диапазона.
Еще ссылки по теме:

вывод определённого количества нулей после числа C++
C++ Функция, округляющая вещественные числа до определённого количества знаков
C++ Рандом выводит числа вне набранного диапазона

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

Или воспользуйтесь поиском по форуму:
In Da Fly
 Аватар для In Da Fly
0 / 0 / 0
Регистрация: 28.05.2010
Сообщений: 22
03.02.2011, 11:27  [ТС]     числа из определённого диапазона. #7
спасибо я всё сделал !!! ))

Добавлено через 2 минуты
секундочку я нашёл ошибку в программе когда выбираю 2-ой вид то вместо взаимно парных выдаётся простые парные числа.... неполадочка!!!

Добавлено через 3 минуты
всё я исправил, извиняюсь ))
Yandex
Объявления
03.02.2011, 11:27     числа из определённого диапазона.
Ответ Создать тему
Опции темы

Текущее время: 03:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru