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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2011, 10:40   #1
akabunga
 
Регистрация: 26.10.2011
Сообщений: 6
По умолчанию Контрольная по Сишке

Ввести с клавиатуры последовательность чисел
(как положительных, так и отрицательных, как целых,
так и вещественных). Создать свои пользовательские функции.
Первая из них сортирует вещественные числа по возрастанию.
Вторая - ищет числа, содержащие последовательность цифр "000".
Третья выводит НОД целых положительных чисел.
Четвертая выводит результат на экран.
Реализовать, используя указатели на функции.

Пока что разбиваю на части, столкнулся с проблемкой, как выделить из массива только вещественные и закинуть в новый массив? где тут ошибка?


#include "stdafx.h"
#include "conio.h"
#include "stdio.h"
#include "math.h"

int _tmain(int argc, _TCHAR* argv[])
{
double a[10],l=0;
int i,r,k=0,j=0;

for(i=0;i<10;i++)
{
scanf("%lf",&a[i]);
r=fmod(a[i],1);
if(r!=0)
{
a[j]=a[i];
j++;
}
k=j;


}
for(j=0;j<k;j++)
printf("%.2lf\n",a[j]);


getch();
return 0;
}
akabunga вне форума Ответить с цитированием
Старый 26.10.2011, 10:44   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Вопрос: в каком диапазоне находятся возможные значение функции fmod(a[i],1) ?
Abstraction вне форума Ответить с цитированием
Старый 26.10.2011, 11:48   #3
akabunga
 
Регистрация: 26.10.2011
Сообщений: 6
По умолчанию

если я все правильно написал, то фмод показывает остаток, то есть он может принимать значение 0 если нету остатка или значения от 1 до 9, если остаток есть.
akabunga вне форума Ответить с цитированием
Старый 26.10.2011, 11:52   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Остатком от деления a на b (при положительном b) называется такое r, что 0<=r<b и для некоторого целого q, a=q*b+r. Это определение, если что.
Вопрос: чему равно b?
Вопрос2: в каком диапазоне при этом находится r, всё-таки?

P.S. fmod() в MSDN.

Последний раз редактировалось Abstraction; 26.10.2011 в 11:55.
Abstraction вне форума Ответить с цитированием
Старый 26.10.2011, 12:06   #5
akabunga
 
Регистрация: 26.10.2011
Сообщений: 6
По умолчанию

a= a[i] b=1
r значит от 0 до 1
akabunga вне форума Ответить с цитированием
Старый 26.10.2011, 12:08   #6
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
r значит от 0 до 1
Следующий вопрос: что будет, если число от 0 до 1 (но строго меньше 1) записать в переменную r типа int?
Abstraction вне форума Ответить с цитированием
Старый 26.10.2011, 12:16   #7
akabunga
 
Регистрация: 26.10.2011
Сообщений: 6
По умолчанию

да я уже понял, спасибо) мне казалось остаток от 1 до 9 почему-то
akabunga вне форума Ответить с цитированием
Старый 26.10.2011, 12:18   #8
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Замечу в качестве постскриптума, что целые числа можно рассматривать как подмножество вещественных, и отличить по записи целое число 5 от вещественного числа 5 лично я не в состоянии. Но это уже вопрос к формулировке задания.
Abstraction вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу задачки на сишке под линуксом zerg Общие вопросы C/C++ 1 04.12.2009 21:59
Меню на сишке NeveX Общие вопросы C/C++ 1 10.07.2009 17:06
строки на Сишке mensh Помощь студентам 3 04.11.2008 14:12