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

Наименьший общий делитель. Алгоритм Евклида. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Небольшая программа на матрицу http://www.cyberforum.ru/cpp-beginners/thread41487.html
Небольшую прогу задали на практике яеё никак невдуплю! вот условие В представленной матрицы 3 на 5 получить матрицу 3 на 3 исключением двух нечетным столбцов. Если кто может подскажите!! тока её на С нужно и на паскале делать (не на С++)
C++ Файл произвольного доступа Здравствуйте, снова к файлам, такая задача. Допустим, у меня есть текстовый файл с данными - код, название, количество, и со значениями по умолчанию - 0, пустая строка, 0, соответственно. Как здесь: ofstream OutWare ("hardware.txt", ios::out); if (!OutWare) { cerr << "File OutWare cannot be opened\n"; exit(1); } Hardware blankWare = { 0, " ", 0 }; http://www.cyberforum.ru/cpp-beginners/thread41478.html
Окно программы очень быстро закрываеться и нельзя просмотреть результат C++
Привет. Я студентка первого курса. Я написала програму (С ++ Console Wizard). Программа после компиляции разрешает вводить нужные данные, а результа не выводиться (точне окно очень быстро закрываеться и результат не успеть просмотреть. ) Что делать???
C++ Векторы
Даны векторы x и y размерности n, и квадратные матрицы А и В размерности n*n. Вычислить (Ах, Ву). Алгоритмы умножения матрицы на вектор и скалярного произведения векторов реализовать в выгляде функций.
C++ Вычисления значений аргумента http://www.cyberforum.ru/cpp-beginners/thread41449.html
Составить программу вычисления значений оргумента, приближенного значения суммы и функции у (х) на отрезке с шагом h = (b-a)/M. Добавлено через 14 минут 40 секунд Сумма s= x/pow(2,i); i=1; Функция y(x)=pow(cos(x),2); отрезок
C++ Две матрицы У меня есть два кода. Нужно код второй матрицы вставить в первый в указаное место (строка 127). Несколько дней уже его мучаю... У меня не получается, помогите, кто-нибудь. :'( 1ый код. #include <vcl.h> #include <iostream> #include <string> #include <sstream> // в некоторых версиях STL называется stringstream #include <map> #include <conio.h> #include <math.h> подробнее

Показать сообщение отдельно
Виталий Vi
3 / 3 / 0
Регистрация: 22.06.2009
Сообщений: 6

Наименьший общий делитель. Алгоритм Евклида. - C++

22.06.2009, 22:57. Просмотров 10738. Ответов 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
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
84
85
86
87
88
89
int protect(int maxnum,int minnum);
int _tmain(int &n, int &m);
 
int nod (int n, int m)
{
int d;
d = n%m;
//printf ("promeshutochnii resultat: nod = %d", d);
printf ("\n");
if (d==0) return q;
else d = nod (m,d);
return d;
}
 
int _tmain(int &n, int &m)
{
printf ("Naimenishii Obshii Delitel`. Algoritm Evklida.");
printf ("\n");
printf ("\n");
 
printf ("vvedite n= ");
n=protect(INT_MAX, INT_MIN);
printf ("vvedite m= ");
m=protect(INT_MAX, INT_MIN);
int k;
if (n>=m) k = nod(n,m);
else k = nod(m,n);
printf ("Resultat: \n");
printf ("NOD = %d \n", k);
int h = n*m/k;
printf ("NOK = %d", h);
getch();
return 0;
}
 
int protect(int maxnum,int minnum)
{
const int max=6;
int i=0,k=0; // счетчик знаков
char a[max]={0}, //числовой массив на 6 символов
x=0; // вводимое значение строки
int q=0; // переменная , отвечающая за выводимый результат
 
do {
x=_getch();
if (x>=48 && x<=57 && i<max) //если вводены числа
{
printf ("%c",x);
a[i]=x;
i++;
}
 
if (x==8 && i>0) // если нажата <BACKSPACE>
{
printf ("%c %c",8,8);
i--;
if (a[i]=='e') {k=0;i--;}
a[i]=0;
}
 
if (x==101 && i>0 && i<max-1 && k==0)//если нажата "е"
{
printf("%c",x);
a[i]=x;
i++; k=1;
}
 
if (x==45 && i==0) // если нажата клавиша "-"
{
printf ("%c",x);
a[i]=x;
++i;
}
}
 
while (x!=13 || i==0); // делать пока не нажата клавиша <ENTER>
q=atoi (a);//преобразуем массив строк в числовое значение
if(q<minnum || q>maxnum)
{
a[i]='\0';
for (int j=i;j>0;j--)
{
printf("\b \b");
}
return protect(maxnum,minnum);
}
else
return q;
}

эт рекурсия. работает правильно. но как поставил защиту вылетает на строках n=protect(INT_MAX, INT_MIN);
m=protect(INT_MAX, INT_MIN);
подобную защиту делал на других, а здесь без вариантов. в чем проблема??
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru