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

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

Войти
Регистрация
Восстановить пароль
 
Kuanish
0 / 0 / 0
Регистрация: 16.07.2012
Сообщений: 24
#1

задача непонятная - C++

02.08.2012, 20:42. Просмотров 660. Ответов 17
Метки нет (Все метки)

Объясните, пожалуйста, что нужно сделать, а то формулу не могу вывести, т.е. что нужно делать и с какой последовательностью. Было бы здорово если объяснение с примером )
Миниатюры
задача непонятная  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2012, 20:42     задача непонятная
Посмотрите здесь:

Транспортная задача, непонятная ошибка в коде! - C++
Добрый день всем, есть вопрос, требующий срочного решения! Ниже приведен исходник программы, составлющей первичное распределение ТЗ...

Непонятная задача на массивы из книги Герберта Шилдта - C++
Решил заняться изучением C++. Для этих целей купил себе книгу "C++ для начинающих. Шаг за шагом" автора Герберта Шилдта (2011 год). В ней...

Непонятная ошибка - C++
Задание:С помощью табуляции сделать прогу,которая выводит таблицу.Надо ,чтоб там был цикл While /* * proga.cpp * * Created on:...

непонятная математика - C++
ну в общем вот: _Студент_, Ваша тема закрыта, поскольку Вы допустили в ней нарушения сразу нескольких положений правил нашего...

Непонятная ошибка - C++
Добрый день. Переделывал код http://www.cyberforum.ru/cpp-beginners/thread53080.html под свои нужды. Немогу понять в чём ошибка. Заранее...

Непонятная ошибка - C++
Программа должна заменять в строке все пары АВ на С, пишу в Visual Studio, после ввода строки открывается вкладка output.c и показывает...

непонятная ошибка( - C++
// 1.cpp : main project file. #include "stdafx.h" #include <cstdio> // бібліотека введення-виводу #include <cstring> //...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DaskOFF
112 / 112 / 9
Регистрация: 02.05.2012
Сообщений: 523
Записей в блоге: 1
02.08.2012, 20:48     задача непонятная #2
delete
AlieNear
24 / 0 / 2
Регистрация: 29.05.2012
Сообщений: 4
02.08.2012, 20:52     задача непонятная #3
Привет. Суть такова, тебе дается число вида X_1X_2X_3X_4, где X_i-цифра. Что нужно сделать - сформировать число вида ((X_3+7)%10)((X_4+7)%10)((X_1+7)%10)((X_2+7)%10).
Не очень понято, чего именно хотят - остатка от деления (т.е. результат %), или же результат целочисленного деления (как написано в условии - /).
Вся трудность задачи сводится к одному - выделить 4 цифры из числа. Что с ними делать написано выше.

Добавлено через 2 минуты
Цитата Сообщение от DaskOFF Посмотреть сообщение
(1+2+3+4+7)
Судя по тексту задачи, надо каждую цифру отдельно посчитать.
DaskOFF
112 / 112 / 9
Регистрация: 02.05.2012
Сообщений: 523
Записей в блоге: 1
02.08.2012, 20:53     задача непонятная #4
Цитата Сообщение от AlieNear Посмотреть сообщение
Добавлено через 2 минуты

Судя по тексту задачи, надо каждую цифру отдельно посчитать.
да, я не так понял
Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
02.08.2012, 20:56     задача непонятная #5
Цитата Сообщение от AlieNear Посмотреть сообщение
Не очень понято, чего именно хотят - остатка от деления (т.е. результат %), или же результат целочисленного деления
Наверно все таки остатка от деления. Потому что любая цифра 0-9 при целочисленном делении на 10 даст 0.
Kuanish
0 / 0 / 0
Регистрация: 16.07.2012
Сообщений: 24
02.08.2012, 20:59  [ТС]     задача непонятная #6
в вашем примере (1+2+3+4+7)/10 = 1,7, как можно привести его к вашему виду?
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.08.2012, 21:02     задача непонятная #7
А по моему, так. 1234 шифруется как: ((1 + 7) % 10) ((2 + 7) % 10) ((3 + 7) % 10) ((4 + 7) % 10). Результат: 8901. Меняем цифры: 0189
Kuanish
0 / 0 / 0
Регистрация: 16.07.2012
Сообщений: 24
02.08.2012, 21:04  [ТС]     задача непонятная #8
похоже это то что нужно, спасибо )
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.08.2012, 21:19     задача непонятная #9
Цитата Сообщение от Kuanish Посмотреть сообщение
похоже это то что нужно, спасибо )
Похоже, а может и неправильно, хотя, скорее всего, правильно.

Добавлено через 13 минут
А расшифровка, например, так: меняем местами, получаем 8901. Если цифра меньше или равна 7, то вычитаем из неё 7, если больше, то прибавляем 10 и вычитаем 7. (8 - 7) (9 - 7) (0 + 10 - 7) (1 + 10 - 7). Результат - 1234.
Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
02.08.2012, 21:32     задача непонятная #10
Цитата Сообщение от alsav22 Посмотреть сообщение
А расшифровка, например, так
Расшифровка получается как бы в обратном направлении?
ValeryS
Модератор
6543 / 5009 / 462
Регистрация: 14.02.2011
Сообщений: 16,656
02.08.2012, 21:41     задача непонятная #11
Цитата Сообщение от alsav22 Посмотреть сообщение
Если цифра меньше или равна 7, то вычитаем из неё 7, если больше, то прибавляем 10 и вычитаем 7.
а теперь
Цитата Сообщение от alsav22 Посмотреть сообщение
(8 - 7) (9 - 7) (0 + 10 - 7) (1 + 10 - 7).
описание и пример как бы не совпадают
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.08.2012, 21:45     задача непонятная #12
Цитата Сообщение от ValeryS Посмотреть сообщение
описание и пример как бы не совпадают
В чём не совпадают? 1234. (8 - 7) это первая цифра; (9 - 7) это вторая; (0 + 10 - 7) это третья; (1 + 10 - 7) это четвёртая.
AlieNear
24 / 0 / 2
Регистрация: 29.05.2012
Сообщений: 4
02.08.2012, 21:47     задача непонятная #13
Если цифра БОЛЬШЕ или равна 7, то вычитаем из неё 7, если МЕНЬШЕ, то прибавляем 10 и вычитаем 7.
Должно быть так, не критическая опечатка, легко понять, если просто вдуматься.

PS: если меньше, можно просто +3
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.08.2012, 21:50     задача непонятная #14
Цитата Сообщение от ValeryS Посмотреть сообщение
Сообщение от alsav22
Если цифра меньше или равна 7, то вычитаем из неё 7, если больше, то прибавляем 10 и вычитаем 7.
Виноват, описка. Наоборот. Меньше заменить на больше.
ValeryS
Модератор
6543 / 5009 / 462
Регистрация: 14.02.2011
Сообщений: 16,656
02.08.2012, 21:53     задача непонятная #15
Цитата Сообщение от alsav22 Посмотреть сообщение
Виноват, описка.
Я так и понял
просто обратил внимание чтоб не стали тупо копировать
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.08.2012, 21:55     задача непонятная #16
Цитата Сообщение от AlieNear Посмотреть сообщение
если меньше, можно просто +3
Правильно.
Kvasik
Сообщений: n/a
03.08.2012, 14:06     задача непонятная #17
Писал чисто с математической точки зрения на скору руку
#include <iostream>
#include <stdlib.h>
#include <Windows.h>
using namespace std;

int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);

cout << "Введите число, уважаемый: ";
char number[5];
cin >> number;

int number1 = atoi(number); // из char в int
int a, b, c, d; // каноническое разложение числа

double x1 = number1 / 1000;
int y1 = (int)x1;
a = y1;
a = (a + 7) % 10;

double x2 = number1 / 100 - y1 * 10;
int y2 = (int)x2;
b = y2;
b = (b + 7) % 10;

double x3 = number1 / 10 - (y1 * 100 + y2 * 10);
int y3 = (int)x3;
c = y3;
c = (c + 7) % 10;

d = number1 % 10;
d = (d + 7) % 10;

cout << "Ваше число полсе шифрования: " << c << d << a << b << endl;

system("pause");
}

Добавлено через 39 минут
извиняюсь, написал бред с ненужным массивом
#include <iostream>
#include <stdlib.h>
#include <Windows.h>
using namespace std;

int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);

cout << "Введите число, уважаемый: ";
int number;
cin >> number;

int a, b, c, d; // каноническое разложение числа

double x1 = number / 1000;
int y1 = (int)x1;
a = y1;
a = (a + 7) % 10;

double x2 = number / 100 - y1 * 10;
int y2 = (int)x2;
b = y2;
b = (b + 7) % 10;

double x3 = number / 10 - (y1 * 100 + y2 * 10);
int y3 = (int)x3;
c = y3;
c = (c + 7) % 10;

d = number % 10;
d = (d + 7) % 10;

cout << "Ваше число после шифрования: " << c << d << a << b << endl;

system("pause");
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2012, 17:12     задача непонятная
Еще ссылки по теме:

Непонятная ошибка - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;locale.h&gt; int i; int fact (int n){ if ( n&lt;1 )...

Непонятная ошибка - C++
Не могу понять, где неправильно. У меня есть такая матрица А 1 4 2 1 3 6 1 5 2 2 3 5 Мне же её надо преобразовать к такому...

Непонятная ошибка - C++
Всем привет! Вообщем вот функция, которая переводит двоичное число в десятичное, + ещё пару кусков кода, чтобы было понятно, что и откуда...

Непонятная ошибка - C++
Доброго времени суток! Не могу понять в чём ошибка. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; void...

Непонятная формула - C++
Всем привет, помогите сделать задание, необходимо рассчитать х по следующей формуле, не могу понять что делать после того, когда я вычла...


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

Или воспользуйтесь поиском по форуму:
Kuanish
0 / 0 / 0
Регистрация: 16.07.2012
Сообщений: 24
03.08.2012, 17:12  [ТС]     задача непонятная #18
Цитата Сообщение от alsav22 Посмотреть сообщение
А расшифровка, например, так
спасибо )

Добавлено через 3 минуты
а я все думал, как же можно перенести операцию "%" на противоположную сторону, чтобы получить x1 из a1 = (x1 + 7) % 10 )))

Добавлено через 19 минут
Можно ли вот это:

C++
1
2
3
4
5
6
7
8
9
10
11
12
    if (a1 >= 7)
        x1 = a1 - 7;
    else x1 = a1 +3;
    if (a2 >= 7)
        x2 = a2 - 7;
    else x2 = a2 +3;
    if (a3 >= 7)
        x3 = a3 - 7;
    else x3 = a3 +3;
    if (a4 >= 7)
        x4 = a4 - 7;
    else x4 = a4 +3;
сделать по компактнее? например в виде цикла?
Yandex
Объявления
03.08.2012, 17:12     задача непонятная
Ответ Создать тему
Опции темы

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