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

Последовательность чисел - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти название предприятия, заплатившего меньше всего налогов http://www.cyberforum.ru/cpp-beginners/thread455107.html
Добрый день, Вот задание: 1. Добавлять данные структуры с указанными полями в файл 2. Просматривать структуры из файла 3. Функции программы сделать в виде меню 4. Поля записи: код предприятия, название, сумма уплаченных налогов. Операция: найти название предприятия, заплатившего меньше всего налогов. Вот отдельно написал работу с файлом: struct Firm { char code;
C++ Сложность в реализации команды Программа открывает окно, заголовком которого является командная строка. Обеспечить возможность перетаскивания окна за любую точку его содержимого. http://www.cyberforum.ru/cpp-beginners/thread455095.html
C++ Вывод в файл на русском языке
Добрый день!!! Ребят, проконсультируйте, пожалуйста) Программа, которая записывает текст в файл до тех пор, пока не введена пустая строка. Собственно говоря, как сделать так, чтобы вывод в файл, если я ввожу строку на русском языке, выполнялся корректно. Т.е. строка "русский язык" отображается в файле как "агббЄЁ© п§лЄ" .На английском все нормально) И еще один вопрос: файл не открывается,...
C++ Описание функции ltoa
ltoa ( string,10) Это превращение из инт в чар. Что значит параметр 10?
C++ вывести на экран все строки файла содержащие двузначные числа http://www.cyberforum.ru/cpp-beginners/thread455071.html
Задание: вывести на экран все строки файла содержащие двузначные числа мой код: #include <iostream.h> #include <stdio.h> #include <ctype.h> #include <string.h>
C++ Написать функцию PrnStruct() с одним параметром типа TMyStruct, выводящую на печать значения полей структуры. Разработать тип данных TMyStruct– структуру, содержащую поля различных типов. В функции main() описать переменную данного типа TMyStruct, присвоить полям данной структуры значения с помощью оперции присваивания. Написать функцию PrnStruct() с одним параметром типа TMyStruct, выводящую на печать значения полей структуры. Обратиться к данной функции из функции main(), чтобы увидеть на экране... подробнее

Показать сообщение отдельно
Roof
 Аватар для Roof
154 / 154 / 10
Регистрация: 03.11.2010
Сообщений: 393
29.02.2012, 21:14     Последовательность чисел
Вот функция, которую я придумал для решения данной задачи, постарался пояснить ход своих мыслей в комментариях функции.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <cstdlib>
using namespace std;
 
#define STEP 77 // шаг последовательности
#define BEGIN -103 // начальное значение последовательности
 
// передаем в функцию случайное число ( исходное для проверки ),начальное значение, шаг
int round77( int value_source, int value_begin, int step ) {
    // для уравновешивания отнимаем от исходного числа начальное значение, получаем текущее значение
    int value_current = value_source - value_begin;
    int value_result; // для хранения результата функции
 
    // если текущее значение нацело делится на шаг, то исходное значение округлять не нужно
    if ( !( value_current % step ) )
        return value_source; // его мы и вернем
    else { // а если не делится нацело
        // вычисляем между какими целыми числами находится результат деления текущего значения на шаг
        int koef_first = value_current / step;
        int koef_last = koef_first + 1;
        // вычисляем между какими числами последовательности находится наше случайное число
        int round_first = step * koef_first + value_begin;
        int round_last = step * koef_last + value_begin;
        // вычисляем к какому из чисел последовательности ближе наше случайное число
        if ( abs( round_first - value_source )
                < abs( round_last - value_source ) )
            value_result = round_first;
        else
            value_result = round_last;
 
    }
    return value_result; //и возвращаем это число
}
 
int main() {
 
    cout << "Для значения 167 " << round77( 167, BEGIN, STEP ) << endl;
    cout << "Для значения 166 " << round77( 166, BEGIN, STEP ) << endl;
    cout << "Для значения 32 " << round77( 32, BEGIN, STEP ) << endl;
    cout << "Для значения 200 " << round77( 200, BEGIN, STEP ) << endl;
    cout << "Для значения 263 " << round77( 263, BEGIN, STEP ) << endl;
    cout << "Для значения 128 " << round77( 128, BEGIN, STEP ) << endl;
    return 0;
}
Консоль
Для значения 167 205
Для значения 166 128
Для значения 32 51
Для значения 200 205
Для значения 263 282
Для значения 128 128
 
Текущее время: 02:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru