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

Разбиение на слагаемые - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переделать в функции с рабочим указателем. http://www.cyberforum.ru/cpp-beginners/thread192831.html
1.void zadacha1(int n, int **a) { int max; int k=0,k1,k2=0,i,j; for (i=0; i<=n; i++) max=-INT_MAX; prosm(n,a);
C++ Из консольного в графический //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <conio.h> #include <stdio.h> #include <iostream.h> //--------------------------------------------------------------------------- #pragma argsused http://www.cyberforum.ru/cpp-beginners/thread192817.html
C++ Структуры,массивы
Необходимо сформировать массив структур. Структуры вводятся с клавиатуры. с клавиатуры вводится не вся структура, а только ее отдельные поля. Необходимо выполнить обработку сформированного массива структур и результаты обработки вывести на экран дисплея. В программе следует в максимальной степени использовать функции. Например, функции должны использоваться для ввода структур, обработки...
В текстовом файле записана формула. Вычислить значение данной формулы C++
1. В текстовом файле записана без ошибок формула вида: цифра или R(формула, формула), или L(формула, формула), где R обозначает функцию взять правое число, L – левое число. Вычислить значение данной формулы. Например: R(8, R(3, L(4,5))) = 4). #include <iostream> #include <conio.h> stek fail_is_ocheredi (stek *s) { struct stek *tmp1; tmp1 = s; if (ns == NULL) //при нулевом...
C++ Циклическая очередь http://www.cyberforum.ru/cpp-beginners/thread192805.html
Всем доброго времени суток.Нужно написать программу с функциями вставки нового эл-та, удаления произвольного эл-та, корректировки произвольного эл-та, вывода на экранЮ для циклической очереди.#include <iostream> #include <fstream> #include <windows.h> using namespace std; struct sp {char street; sp *next; sp *back;
C++ paskal. циклы вывести на экран натуральные числа лежащие в интервале и делящиеся нацело на 5 подробнее

Показать сообщение отдельно
archinko
13 / 13 / 2
Регистрация: 02.03.2010
Сообщений: 29
18.11.2010, 22:08     Разбиение на слагаемые
Код вроде правильный. Для отрицательных чисел вводим две переменные - znakx и znaky, которые будут определять знак х и знак у. Ну а в цыкле переменные i и j будем гнать не просто от 0 до х (от 0 до у соответственно), а от -х до х( -у до у соответственно). Ну а переменные znakx и znaky помогут понять в какую сторону гнать эти переменные, от плюса к минусу или от минуса к плюсу.

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
#include <stdio.h>
 
int main(int argc, char** argv) {
    int x,y,a=0,b=0,znakx=1,znaky=1,i,j;
    scanf("%i%i",&x,&y);
    if(x<0) znakx=-1;
    if(y<0) znaky=-1;
 
   printf("ec/lu cymma %i, a proisvedenie %i to\n",x,y);
    for (j=-y;j!=y+znaky;j+=znaky)
    {for (i=-x;i!=x+znakx;i+=znakx){
        a=i+j;
        b=i*j;
    if ((a==x)&&(b==y))
    printf("a=%i     b=%i\n",i,j);}}
    printf("ec/lu cymma %i, a proisvedenie %i to\n",y,x);
   for (j=-y;j!=y+znaky;j+=znaky)
   {for (i=-x;i!=x+znakx;i+=znakx){
        a=i+j;
        b=i*j;
    if ((a==y)&&(b==x))
    printf("a=%i     b=%i\n",i,j);}
   }
 
 
    return 0;
}
Добавлено через 54 минуты
Лучше конечно такую задачу делать не брутфорсом )) . Тут нужно всего лишь решить две простенких систем уровнений :
1) a+b=x
a*b=y
2) a+b=y
a*b=x
х и у нам даны. Таким образом можно найти даже не целые a и b.
 
Текущее время: 07:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru