Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2009, 17:51   #1
KimiRaikkonen
Пользователь
 
Аватар для KimiRaikkonen
 
Регистрация: 08.11.2009
Сообщений: 33
По умолчанию Проблемы по проге в Си++

Есть прога, которая работает, но там есть недочет. Вот прога:
#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{
int a,b,i,n,m;
clrscr();
puts("Vvedite m i n");
scanf("%d%d", &m,&n);
puts("4isla kratnie m i n:");
for(i=1;i<(m*n);i++)
{
a=i%n;
b=i%m;
if((a==0)&&(b==0))
printf("%d\n",i);
}
getchar();
return(0);


Но при m=3,n=4 прога не выдает результат. Кто знает, что не так?
Лишь утратив всё до конца, мы обретаем свободу....
KimiRaikkonen вне форума Ответить с цитированием
Старый 28.12.2009, 17:58   #2
KimiRaikkonen
Пользователь
 
Аватар для KimiRaikkonen
 
Регистрация: 08.11.2009
Сообщений: 33
По умолчанию

И еще один вопрос. Тож есть прога,рабочая, тока опять есть недачет....
Вот задание:Дано натуральное n. Получить все натуральные числа <n взаимно простые с ним.
Вот прога:
#include <conio.h>
#include <stdio.h>
#include <math.h>
main()
{
int k;
float n,c,i,j;
double a,b;
clrscr();
printf("Vvedite naturalnoe chislo n\n");
scanf("%f",&n);
fflush(stdin);
printf("Prostiye naturalnie chisla men'she n:\n");
k=0;
for (i=2;i<n;i=i+1)
{
for (j=1;j<i+1;j=j+1)
{
c=i/j;
a=modf(c,&b);
if (a==0) k=k+1;
}
if (k==2) printf("%2.0f\n",i);
k=0;
}
getch();
return(0);
}
Допустим, если ввести 6, то простые выдает 2,3,5...а ведь 6 делится на2 и 3.....как исправить ошибку?
Лишь утратив всё до конца, мы обретаем свободу....
KimiRaikkonen вне форума Ответить с цитированием
Старый 28.12.2009, 17:58   #3
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

1)
Код:
for(i=1;i<(m*n);i++)
{
a=i%n;
b=i%m;
if((a==0)&&(b==0))
Код:
a=n%i;
b=m%i;
кроме того я бы сначала определила что больше m или n и цикл огранизовала до меньшего числа.
2)Что такое взаимно простые числа?.
Неприятности приходят и уходят, а жизнь продолжается!

Последний раз редактировалось Sweta; 28.12.2009 в 18:05.
Sweta вне форума Ответить с цитированием
Старый 28.12.2009, 18:04   #4
KimiRaikkonen
Пользователь
 
Аватар для KimiRaikkonen
 
Регистрация: 08.11.2009
Сообщений: 33
По умолчанию

пасибо) Ща попробуем)
Лишь утратив всё до конца, мы обретаем свободу....
KimiRaikkonen вне форума Ответить с цитированием
Старый 28.12.2009, 18:13   #5
KimiRaikkonen
Пользователь
 
Аватар для KimiRaikkonen
 
Регистрация: 08.11.2009
Сообщений: 33
По умолчанию

Цитата:
Сообщение от Sweta Посмотреть сообщение
1)
2)Что такое взаимно простые числа?.
Числа, которые делятся только на себя и на единицу
Лишь утратив всё до конца, мы обретаем свободу....
KimiRaikkonen вне форума Ответить с цитированием
Старый 28.12.2009, 18:17   #6
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Это простые. А взаимно?
Я думаю, что здесь Вам без массива не обойтись. Идея такая.
В цикле проверяем делится ли данное число без остатка на i, далее проверяем является ли i - простым (как проверить посмотрите по форуму, вчера кому-то писала, но лучше сделайте сами) и заносить данное число в массив. Распечатать без последнего элемента в массиве. И еще в Си и С++ удобней писать for(i=2;i<n;i++)
for (j=1;j<=i;j++)
Неприятности приходят и уходят, а жизнь продолжается!

Последний раз редактировалось Sweta; 28.12.2009 в 18:26.
Sweta вне форума Ответить с цитированием
Старый 28.12.2009, 18:20   #7
KimiRaikkonen
Пользователь
 
Аватар для KimiRaikkonen
 
Регистрация: 08.11.2009
Сообщений: 33
По умолчанию

[QUOTE=Sweta;427060]1)
Код:
a=n%i;
b=m%i;
С этим кодом немного не то выдает) т.е. для чисел 10 и 5 кратные получается=1 и 5....... Но походу кратные 10 и 5=10,20,30..... Но прога их не выдает....
Лишь утратив всё до конца, мы обретаем свободу....
KimiRaikkonen вне форума Ответить с цитированием
Старый 28.12.2009, 18:22   #8
KimiRaikkonen
Пользователь
 
Аватар для KimiRaikkonen
 
Регистрация: 08.11.2009
Сообщений: 33
По умолчанию

Цитата:
Сообщение от Sweta Посмотреть сообщение
Это простые. А взаимно?
Получается, чтобы заданное число не делилось на простые числа...как с 6.....она ж делится на 2 и 3......и сами 2 и 3 делятся на себя..... так что 6,2 и3 не взаимно простые чисал....
Лишь утратив всё до конца, мы обретаем свободу....
KimiRaikkonen вне форума Ответить с цитированием
Старый 28.12.2009, 19:41   #9
KimiRaikkonen
Пользователь
 
Аватар для KimiRaikkonen
 
Регистрация: 08.11.2009
Сообщений: 33
По умолчанию

Помогите про взаимно простые числа.....)))) И еще вопрос: Если взять числа 3 и 4, то у них нет общих кратных?(с условием,ч то общие кратные должны быть <3*4)
Лишь утратив всё до конца, мы обретаем свободу....
KimiRaikkonen вне форума Ответить с цитированием
Старый 28.12.2009, 20:19   #10
v01d
Пользователь
 
Регистрация: 22.11.2008
Сообщений: 33
По умолчанию

НОК 3 и 4 = 12, так что нет.
v01d вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по проге rus1107 Общие вопросы C/C++ 8 04.08.2009 13:29
Русский в проге gamer123 Помощь студентам 6 22.06.2009 14:14
Не точности по проге Sasuke-sama Общие вопросы C/C++ 3 01.06.2009 19:51
Ошибка в проге :( Defender42 Помощь студентам 15 29.05.2009 02:08
Ошибка в проге Detrix Помощь студентам 1 12.03.2008 08:28