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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2009, 20:02   #1
world12_tk
Форумчанин
 
Регистрация: 24.02.2009
Сообщений: 269
По умолчанию программирование линейной структуры

Добрый вечер..... у меня возникла маленькая проблема..... я написал программу, которая определяет, равна ли сумма двух первых разрядов заданного четырехзначного целого числа, сумме двух его последних разрядов. Вот мой исходник:
Код:
#include <stdio.h>
#include <math.h>
void main()
{
 int n;
 int rest,whole;
 int rest1,whole1,rest2,whole2;

 printf("введите четырех значное целое число: /n");
 scanf("%d",&n);

 whole=modf(n,100);
 rest=fmod (n,100);
 whole1=modf(whole,10);
 rest1=fmod(whole,10);
 whole2=modf(rest,10);
 rest2=fmod(rest,10);
 sum1=whole1+rest1;
 sum2=whole2+rest2;

 if (sum1==sum2)
   printf("равны");
 else
   printf ("*не равны");


}
Проблема в том, что я не могу с помощью функции modf взять целую часть..
Заранее спасибо

Модератор: тег CODE

Последний раз редактировалось MaTBeu; 09.03.2009 в 20:36.
world12_tk вне форума Ответить с цитированием
Старый 09.03.2009, 20:19   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

У вас же целое число. Так зачем вам modf?
Код:
#include <stdio.h>
#include <conio.h>

int main(){
int N,a[4],k=0;
printf("Vvedite chislo: ");
scanf("%d",&N);

while(N>0)
 {
  a[k++]=N%10;
  N/=10;
 }
if(a[0]+a[1] == a[2]+a[3])
 printf("Ravny\n");
else printf("NE ravny\n");

getch();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 09.03.2009, 21:10   #3
world12_tk
Форумчанин
 
Регистрация: 24.02.2009
Сообщений: 269
По умолчанию

дело в том, что мне запрещено использовать в этой задачи циклы..... поэтому я и испльзую функции modf и fmod
world12_tk вне форума Ответить с цитированием
Старый 09.03.2009, 21:16   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Ну вот вам без цикла:
Код:
#include <stdio.h>
#include <conio.h>

int main(){
int N,a1,a2,a3,a4;
printf("Vvedite chislo: ");
scanf("%d",&N);

a1 = N % 10;
N /= 10;
a2 = N % 10;
N /= 10;
a3 = N%10;
N /= 10;
a4 = N %10;

if(a1+a2 == a3+a4)
 printf("Ravny\n");
else printf("NE ravny\n");

getch();
return 0;
}
А modf
Код:
double modf(double x, double *intptr);
нужна для разбивки вещественного числа на целую и дробную часть.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 09.03.2009, 21:21   #5
world12_tk
Форумчанин
 
Регистрация: 24.02.2009
Сообщений: 269
По умолчанию

спасибочки огромное...... вы меня просто спасли..... вот тока вопросик еще один что означает *intptr?
world12_tk вне форума Ответить с цитированием
Старый 09.03.2009, 21:29   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
вот тока вопросик еще один что означает *intptr?
Функция modf разрывает значение с плавающей точкой x на дробную и целую части. Возвращается знаковая дробная часть x. Целая часть хранится в intptr как значение с плавающей точкой.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнить матрицу линейной последовательностью Настенька..Блонди Помощь студентам 5 05.02.2009 20:53
Программирование алгоритмов циклической структуры для задач табулирования функций одной переменной с пост bbk_serg Помощь студентам 1 10.01.2009 18:16
Помогите с задачей.(Пскаль).по теме программирование алгоритмов разветвляющейся структуры. svobodys Помощь студентам 6 12.10.2008 08:18
Ошибки при линейной интерполяции в Delphi(( Auster Помощь студентам 14 23.04.2008 21:27