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

Действительное число сократить к заданному разряду - C++

Восстановить пароль Регистрация
 
exile
0 / 0 / 0
Регистрация: 14.06.2011
Сообщений: 13
14.06.2011, 03:49     Действительное число сократить к заданному разряду #1
програмка на Турбо Си. Действительное число сократить к заданному разряду
от типо такой финишер - "введите разряд" - к примеру 3
введите число: 6,372792381739717471
ответ: 6,373.
помогите кто нибудь, а?)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.06.2011, 03:49     Действительное число сократить к заданному разряду
Посмотрите здесь:

C++ Дано действительное число а, натуральное число N. Вычислить : P=a*(a-n)*(a-2*n)*...*(a-n^2)
Дано действительное число A, натуральное число n, вычислить... C++
C++ Даны натуральное число n, действительное число x. Вычислить:
Дано действительное число х, натуральное число n. Вычислить:* C++
Даны натуральное число п, действительное число x. Вычислить C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
tylix
68 / 55 / 6
Регистрация: 10.06.2011
Сообщений: 149
14.06.2011, 04:04     Действительное число сократить к заданному разряду #2
float переменная

ааа.. может тебе просто вывод нужен?
тогда
x = 6,372792381739717471
printf("%.3f", x);
exile
0 / 0 / 0
Регистрация: 14.06.2011
Сообщений: 13
25.06.2011, 01:51  [ТС]     Действительное число сократить к заданному разряду #3
не, мне нужно прогу написать, что бы она сначала спросила разряд, потом спрашивала текст у меня, с неограниченным количетсвом символов, потом находится точка, от неё отчитывается разряд, и если последнее число+1 больше 4, то +1 к числу, ну типо разряд 3, число 3.38751972739 и сокращается - 3.388. я то понимаю алгоритм, я не понимаю в языке просто)

Добавлено через 1 час 42 минуты
оу, помогите - а как лучше изучить язык вообще?
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
25.06.2011, 02:20     Действительное число сократить к заданному разряду #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <string.h>
 
int main()
{
    char numb[20] = { 0 };
    printf("Enter number(example 648.329): ", numb);
    fgets(numb, 20, stdin);
    printf("Enter number of digits: ");
    int digits;
    scanf("%d", &digits);
    fflush(stdin);
    char * ptr = strstr(numb, ".");
    if(ptr[digits + 1] > '4')
    ++ptr[digits];
    ptr[++digits] = '\0';
    printf("%s\n", numb);
    getchar();
    return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от exile Посмотреть сообщение
оу, помогите - а как лучше изучить язык вообще?
а оно вам надо?
exile
0 / 0 / 0
Регистрация: 14.06.2011
Сообщений: 13
25.06.2011, 02:51  [ТС]     Действительное число сократить к заданному разряду #5
ыть, по ходу не Турбо СИ. в майкрософт висуал студио - проект с росширением .с
чего чар если числа вещественные? там флоат идёт, а если текст с символами то дабл) и там неограниченное кол-во символов) лалала
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
25.06.2011, 03:24     Действительное число сократить к заданному разряду #6
Цитата Сообщение от exile Посмотреть сообщение
ыть, по ходу не Турбо СИ. в майкрософт висуал студио - проект с росширением .с
чего чар если числа вещественные? там флоат идёт, а если текст с символами то дабл) и там неограниченное кол-во символов) лалала
сам-то понял что написал

Добавлено через 1 минуту
лаба на тему массивы и строки ^_^
Цитата Сообщение от exile Посмотреть сообщение
я то понимаю алгоритм
и где ж твой алгоритм, умник? думаешь выложил задание на форум, а сам на боковую?
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
25.06.2011, 03:46     Действительное число сократить к заданному разряду #7
Цитата Сообщение от Maxwe11 Посмотреть сообщение
а оно вам надо?
К чему вы клоните?
Jupiter
25.06.2011, 03:48
  #8

Не по теме:

Цитата Сообщение от Chelioss Посмотреть сообщение
К чему вы клоните?
в армию пусть идет

xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
25.06.2011, 04:27     Действительное число сократить к заданному разряду #9
Вот подойдёт, набросал.

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
#include <iostream>
#include <math.h>
using namespace std;
 
 
// работает с doluble-8 byte qword
double   f_trim(double  num, int cnt) {
    double  first = 0.0;  
    double  last = modf(num, &first);
    last = floor(last * pow(10, cnt));
    double fn =  last * ( 1 / pow(10, floor(log10(last))+1 ) ) + first;
    return  fn;
}
 
 
void  main(void){
 
    double pi = f_trim(3.1457895, 2);
    cout << pi << "\n\n";
 
    cout << f_trim(7.789463,      1)  << endl;
    cout << f_trim(999.456782,  3)  << endl;
    cout << f_trim(1234.5796,    2)  << endl;
 
      cin.get();
}
exile
0 / 0 / 0
Регистрация: 14.06.2011
Сообщений: 13
25.06.2011, 13:52  [ТС]     Действительное число сократить к заданному разряду #10
cout - c++
тю алгоритм - делаешь разряд, который ищет точку в тексте, от типо 3,466 должно считать типо - 4*10+6*(10+6). и от если последнее число больше 4х - то всё окидоки, а вообще по лабе там и числа, и символы

Добавлено через 13 минут
Цитата Сообщение от exile Посмотреть сообщение
cout - c++
cout - c++
тю алгоритм - делаешь разряд, который ищет точку в тексте, от типо 3,466 должно считать ячейки следующим образом - 4*10+6*(10+6). и от если последнее число больше 4х - то всё окидоки плюсуем к числу +1, а вообще по лабе там неограниченное количество символов
ыть
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
25.06.2011, 14:34     Действительное число сократить к заданному разряду #11
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от exile Посмотреть сообщение
тю алгоритм
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main(void){
    char buf[BUFSIZ], * pointPtr;
    int afterPoint;
    double res;
 
    while ( printf("Number: ") && scanf("%[0-9.]", buf) == 1 ){
        if ( ( pointPtr = strchr(buf, '.') ) == NULL ){
            printf("No point found. Some big integer value?\n");
            continue;
        }
        printf("Digits after point: ");
        scanf("%d%*c", &afterPoint);
        if ( ( pointPtr - buf + afterPoint ) < strlen(buf) )
            *(pointPtr + afterPoint + 1) = 0;
        res = atof(buf);
 
        printf("Truncated value: %f\n", res);
    }
 
    return 0;
}
exile
0 / 0 / 0
Регистрация: 14.06.2011
Сообщений: 13
25.06.2011, 15:00  [ТС]     Действительное число сократить к заданному разряду #12
атя) спасиб, но тут только числа и до 1го пробела - если есть пробел - пиши-пропало) и не сокращает типо если последнее число 5-9 - то не плюсует оно, ну 3.336 - ко второму - 3.34 должно, а оно 3.33
voral
345 / 325 / 46
Регистрация: 16.03.2008
Сообщений: 1,694
25.06.2011, 15:25     Действительное число сократить к заданному разряду #13
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main(void)
{
    int n;
    double num;
    char format[10];
    scanf("%d",&n);
    scanf("%lf",&num);
    sprintf(format,"%%.%df",n);
    printf(format,num);
    return 0;
}
Добавлено через 3 минуты
размерность format конешно можно посчитать и установить исходя из введеного n
Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
25.06.2011, 15:26     Действительное число сократить к заданному разряду #14
exile, вопрос надо правильно формулировать, вы так не думаете?

Не по теме:

И давайте обойдемся без всяких "атя, ыть, уть, ять", что это еще за язык? Вас никак не понять.

exile
0 / 0 / 0
Регистрация: 14.06.2011
Сообщений: 13
25.06.2011, 15:36  [ТС]     Действительное число сократить к заданному разряду #15
правильно - ок.
тема - массивы и строки
задание - вещественные числа сократить к заданному разряду. я как-то пытался обьяснить что к чему, видать у меня с этим проблемки есть)
voral
345 / 325 / 46
Регистрация: 16.03.2008
Сообщений: 1,694
25.06.2011, 15:42     Действительное число сократить к заданному разряду #16
упс. виноват - не внимательно задачу прочитал

Добавлено через 5 минут
Алгоритм:
1. Получаем со ввода разрядность
2. Начинаем посимвольно считывать строку.
2.1 Если текущий символ число ставим признак, что мы находимся в зоне числа, иначе снимаем признак.
2.2 Если символ точка и мы в зоне числа начинаем считать количество знаков после точки.
2.3 Если количество знаков равно введенному значению то читаем следующей символ анализируем на предмет в какую сторону менять. Если следущий больше 5 значит увеличиваем на единицу.
2.4. Если мы в числе и разрядность уже больше нужного символы цифр не выводим
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2011, 16:07     Действительное число сократить к заданному разряду
Еще ссылки по теме:

C++ Даны натуральное число n, действительное число x. Вычислить:
C++ Дано натуральное число n и действительное число x. Вычислить :
C++ Даны действительное число а, натуральное число n. Вычислить значение выражения.

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

Или воспользуйтесь поиском по форуму:
Nursik77
 Аватар для Nursik77
273 / 233 / 21
Регистрация: 05.04.2011
Сообщений: 645
25.06.2011, 16:07     Действительное число сократить к заданному разряду #17
А можно и тупо кейсами замутить, правда условия к вводу прибавятся.
Yandex
Объявления
25.06.2011, 16:07     Действительное число сократить к заданному разряду
Ответ Создать тему
Опции темы

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