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

написать программку на С++ Тема:целочисленная арифметика - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заменить каждое число массива на расположене справа и большее заменяемого http://www.cyberforum.ru/cpp-beginners/thread667564.html
Здравствуйте! Помогите, пожалуйста, соствить алгоритм для массива :gsorry: В массиве нужно заменить каждое число на другое, которое расположено справа и больше заменяемого. В противном случае заменить на ноль. т.е. если было -4 5 8 0 1 , нужно получить 8 8 0 1 0 очень нужна помощь :gsorry:
C++ Необходимо написать программу сортирующую эту строки по алфавиту и выводящую результат в другой файл. Уважаемые программисты, помогите пожалуйста девушке. Есть задание, но как-то я давно не садилась за код и не очень помню, ка к правильно делать его и по правильной ли хотя бы общей схеме я иду. Задание: Существует файл со строками в кодировке koi8-r.Необходимо написать программу сортирующую эту строки по алфавиту и выводящую результат в другой файл. 1) Вопрос стоит ли на данную кодировку... http://www.cyberforum.ru/cpp-beginners/thread667563.html
C++ Ввести массив случайных чисел в файл .Есть код
#include "stdafx.h" #include <iostream> #include <fstream> #include <stdlib.h> #include <time.h> using namespace std; int main(void) { srand(time(NULL));
Отсортировать массив по возрастанию C++
Отсортировать массив по возрастанию методом поиска минимального элемента.
C++ нестатическая ссылка на член должна указываться относительного заданного объекта http://www.cyberforum.ru/cpp-beginners/thread667545.html
Подскажите что не так? (ошибка в конструкторе puckMan.cpp) gameElement.h #pragma once class gameElement { public: struct characteristics
C++ Найти сумму,разность,скалярное произведение и квадрат евклидовой нормы Найти сумму,разность,скалярное произведение и квадрат евклидовой нормы двух векторов в n-мерном пространстве. подробнее

Показать сообщение отдельно
diagon
Higher
 Аватар для diagon
1921 / 1187 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
09.10.2012, 23:39     написать программку на С++ Тема:целочисленная арифметика
Как вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
int main()
{
    double x = 846429.731525;
    
    int left = x;
    int right = (long long)(x * 1e6) % 1000000;
 
    left = left / 100 * 10 + left % 10;
 
    right = right / 100000 * 10000 + right % 10000;
 
    int sum = 0;
    for (int tmp = left / 10; tmp; tmp /= 10)
        sum += tmp % 10;
 
    left = left % 10 + sum * 10;
 
    std::cout << left << '.' << right << std::endl;
}
С даблами вряд ли получится сделать, так как они постоянно округляются.

Причем в студии это работает, а в gcc неправильно находит дробную часть(из-за округления).

Добавлено через 2 минуты
В общем, подобрал эпсилон, который работает и в gcc и в студии.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
int main()
{
   const double EPS = 1e-4;
 
   double x = 846429.731525;
 
   int left = x;
   int right = (long long)(x * 1e6 + EPS) % 1000000;
 
   left = left / 100 * 10 + left % 10;
 
   right = right / 100000 * 10000 + right % 10000;
 
   int sum = 0;
   for (int tmp = left / 10; tmp; tmp /= 10)
      sum += tmp % 10;
 
   left = left % 10 + sum * 10;
 
   std::cout << left << '.' << right << std::endl;
}
Если не будет работать, попробуйте поиграться с 5 строкой.
 
Текущее время: 22:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru