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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
#1

Вывести числа со специальным форматом - C++

24.08.2013, 21:35. Просмотров 499. Ответов 10
Метки нет (Все метки)

Всем привет!
Есть задание: "Напишите программу, считывающую из файла числа, разделенные пробелами, и выводящую в другой файл числа, используя научный формат и точность, равную восьми в четырех полях по двадцать символов в строке".
Что хотят в этом задании? Ведь не вместить 4 поля в одну строку из 20 символов (если точность 8 - это не вмещается).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2013, 21:35     Вывести числа со специальным форматом
Посмотрите здесь:

Вывести содержимое файла на экран в соответствии с заданным форматом - C++
Дано файл f. Вывести этот файл на экран так что бы в каждой строчке было не больше, чем 40 символов и количество строк было минимальным.

Сортировка методом каскадного слияния со специальным распределением - C++
Задание - реализовать этот алгоритм для однмоерного динамического массива. попытки почитать Кнута успехом не увенчались - не понятно. Буду...

Строка: Проверить, является ли заданный символ буквой, числом или специальным символом? - C++
Напишите программу, в которой пользователь должен ввести 1 символ. По окончанию программа должна вывести, является ли этот символ буквой,...

Форматом записи в файл - C++
Господа, столкнулся с таким вот траблом... Написал програмку "Записать в файл прямого доступа N действительных чисел. Найти наибольшее из...

Нужно ввести два числа, а вывести ряд от первого числа до второго - C++
Например, ввели 2 и 5, а вывели : 2345

С помощью рекурсии вывести все числа от 1 до введенного пользователем числа k - C++
С помощью рекурсии вывести все числа от 1 до введенного пользователем числа k. Не понимаю, как сделать это рекурсией. Язык С++

Ввести два числа, а вывести ряд от первого числа до второго - C++
Например, ввести 5 и 2, а на выводе нужно чтобы было : 5 4 3 2 .

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
24.08.2013, 21:50     Вывести числа со специальным форматом #2
наверное в задании требуется получить таблицу с 4 столбцами ширина которых равна 20
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <fstream>
#include <iomanip>
 
int main()
{
    std::ifstream file("values.txt");
    std::ofstream result("result.txt");
    double value;
    int i = 0;
    result << std::setprecision(8);
    result << std::fixed;
    while (file >> value) {
        result << std::setw(20) << value;
        if (++i % 4 == 0) result << std::endl;
    }
    return 0;
}
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
24.08.2013, 21:52  [ТС]     Вывести числа со специальным форматом #3
Olivеr, но ведь сказано, что строки длиной 20 символов.

Write a program that reads a file of whitespace-separated numbers and outputs a file of numbers using scientific format and precision 8 in four fields of 20 characters per line.
Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
24.08.2013, 21:52     Вывести числа со специальным форматом #4
Dani, ну так да, каждая ячейка длиной 20, туда впихнуть число с точностью 8 знаков
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
24.08.2013, 21:53  [ТС]     Вывести числа со специальным форматом #5
Olivеr, ячейка - это поле же, а строка - из ячеек.

Добавлено через 49 секунд
Цитата Сообщение от Olivеr Посмотреть сообщение
result << std::fixed;
scientific
Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
24.08.2013, 21:55     Вывести числа со специальным форматом #6
Цитата Сообщение от Dani Посмотреть сообщение
scientific
в смысле экспоненциальный формат?
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
24.08.2013, 21:56  [ТС]     Вывести числа со специальным форматом #7
Цитата Сообщение от Dani Посмотреть сообщение
научный формат
дословно "научный".
Но дело не в этом (потому и смайлик )
Все же не могу понять про эти ячейки.
Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
24.08.2013, 22:07     Вывести числа со специальным форматом #8
1 2 3 4 5 6 7 8 547359.34573458345864583
1.00000000e+000 2.00
000000e+000 3.000000
00e+000 4.00000000e+
000 5.00000000e+000
6.00000000e+000 7.00
000000e+000 8.000000
00e+000 5.47359346e+
005
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 <iostream>
#include <fstream>
#include <sstream>
#include <iomanip>
 
int main()
{
    std::ifstream file("values.txt");
    std::ofstream result("result.txt");
    std::stringstream ss;
    double value;
    ss << std::setprecision(8);
    ss << std::scientific;
    while (file >> value)
        ss << value << ' ';
    char c;
    int i = 0;
    ss << std::noskipws;
    while (ss >> c) {
        result << c;
        if (++i % 20 == 0)
            result << std::endl;
    }
    return 0;
}
Добавлено через 13 секунд
может так?
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
24.08.2013, 22:09  [ТС]     Вывести числа со специальным форматом #9
Может быть, но какие тут где 4 поля?
Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
24.08.2013, 22:16     Вывести числа со специальным форматом #10
а так?
Изображения
 
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.08.2013, 23:12     Вывести числа со специальным форматом
Еще ссылки по теме:

Классы. Вывести значение числа цифр в дробной части числа - C++
#include &quot;stdafx.h&quot; #include &lt;locale.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; class Chislo { ...

Ввести числа, пока не введен 0 и вывести все введеные числа - C++
Здравствуйте! Скажите пожалуйста, мне нужно реализовать ввод чисел, пока не будет введен 0. После того как был введен ноль, мне нужно...

Вывести все числа до заданного числа, которые делятся на каждую свою цифру. - C++
Нужно написать программу по выводу всех чисел до заданного n, которые делятся на каждую свою цифру. #include &lt;iostream&gt; using...

С клавиатуры вводятся целые числа. Вывести все числа и количество элементов, больших 10 - C++
С клавиатуры вводятся целые числа. Признак конца ввода – введено число -1. Вывести все числа и количество элементов, больших 10. Формат...

вывести на экран числа,вот по примеру ,там числа и знаки изменить надо - C++
Вывести на экран числа в виде слейдующей таблицы: 6 6 6 6 6 7 7 7 7 8 8 8 9 9 10 пример:


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

Или воспользуйтесь поиском по форуму:
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
24.08.2013, 23:12  [ТС]     Вывести числа со специальным форматом #11
Olivеr, Using scientific and fixed formats, a programmer can control exactly how much
space a value takes up on output. That's clearly useful for printing tables, etc.
The equivalent mechanism for integer values is called fields. You can specify exactly how
many character positions an integer value or string value will occupy using the "set field width"
manipulator setw().
Это вряд ли столбцы, просто число в строку.

Добавлено через 47 минут
Olivеr, скорее всего это имеется в виду длина этого field = 20, т.к. сказано, что 4 field в строке должно быть. А этот размер как-раз в точности влазит в строку в консоли (ширина стандартная, не менял).
Спасибо за помощь!
Yandex
Объявления
24.08.2013, 23:12     Вывести числа со специальным форматом
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru