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

Помогите написать прогу в С++ - C++

Восстановить пароль Регистрация
 
Влад1993
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 9
29.10.2011, 15:53     Помогите написать прогу в С++ #1
Люди пожалуйста помогите написать в С++ программы для задач ,буду очень благодарен
Задача1
Lin18. Найти решение системы уравнений вида A1·x + B1·y = C1, A2·x + B2·y = C2, заданной своими коэффициентами A1, B1, C1, A2, B2, C2, если известно, что данная система имеет единственное решение.
Задача2
Log18. Даны координаты (как целые от 1 до 8) двух различных полей шахматной доски. Если король за один ход может перейти с одного поля на другое, вывести логическое значение True, в противном случае вывести значение False.
Задача3
U18. Для данного x вычислить значение следующей функции f(x), принимающей вещественные значения: -1 если x <= 0; x, если 0<x<2; 4, если x >= 2.
Народ ВЫРУЧАЙТЕ!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YouDoItWrong
46 / 46 / 7
Регистрация: 29.10.2011
Сообщений: 154
29.10.2011, 16:13     Помогите написать прогу в С++ #2
Первая задача:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
using namespace std;
 
int main() {
    double A1, A2, B1, B2, C1, C2, x, y;
    cin >> A1 >> A2 >> B1 >> B2 >> C1 >> C2;
    y=(C1-A1*A2*C2)/(B1-B2);
    x=(C2-B2*y)/A2;
    cout << x << " " << y << endl;  
    system("pause");
}
Добавлено через 4 минуты
Третья задача:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
double f(double x) {
    if(x<=0) {
        return -1;
    }
    if(x>0 || x<2) {
        return x;
    }
    if(x>=2) {
        return 4;
    }
}
 
int main() {
    double x;
    cin >> x;
    cout << f(x) << endl;
    system("pause");
}
ViT(Vet@l)
27 / 26 / 2
Регистрация: 13.12.2010
Сообщений: 333
29.10.2011, 16:14     Помогите написать прогу в С++ #3
Третья задача
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
#include <iostream>
 
using namespace std;
 
int main()
{
    cout << "Enter x" << endl;
 
    float x;
    int f;
 
    cin >> x;
 
    if(x <= 0)
        f = -1;
 
    if(x > 0 && x < 2)
        f = x;
 
    if(x >= 2)
        f = 4;
 
    cout << "f(x) = " << f;
 
    cin.get();
 
    return 0;
}
YouDoItWrong
46 / 46 / 7
Регистрация: 29.10.2011
Сообщений: 154
29.10.2011, 16:14     Помогите написать прогу в С++ #4
И я не понял условия второй задачи. Распиши подробнее что нужно сделать.
ViT(Vet@l)
27 / 26 / 2
Регистрация: 13.12.2010
Сообщений: 333
29.10.2011, 16:17     Помогите написать прогу в С++ #5
YouDoItWrong, в третьей, надо подключит windows.h
И if(x>0 && x<2) {
return x;

Правильный вариант:
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>
#include <windows.h>
 
using namespace std;
 
double f(double x) {
        if(x<=0) {
                return -1;
        }
        if(x>0 && x<2) {
                return x;
        }
        if(x>=2) {
                return 4;
        }
}
 
int main() {
        double x;
        cin >> x;
        cout << f(x) << endl;
        system("pause");
}
YouDoItWrong
46 / 46 / 7
Регистрация: 29.10.2011
Сообщений: 154
29.10.2011, 16:26     Помогите написать прогу в С++ #6
Цитата Сообщение от ViT(Vet@l) Посмотреть сообщение
YouDoItWrong, в третьей, надо подключит windows.h
Вообще-то не обязательно, это зависит от IDE/компилятора. К примеру в Code::Blocks, VS2009-VS2010, Eclipse этого делать не надо, не однократно проверялось. Ну и в принципе "system("pause")" это из мира MS.

Добавлено через 1 минуту
И да спасибо, что указали на ошибку касательно логического И
ViT(Vet@l)
27 / 26 / 2
Регистрация: 13.12.2010
Сообщений: 333
29.10.2011, 16:32     Помогите написать прогу в С++ #7
У меня Code::Blocks, но без подключения не работало
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
29.10.2011, 16:46     Помогите написать прогу в С++ #8
Цитата Сообщение от ViT(Vet@l) Посмотреть сообщение
У меня Code::Blocks, но без подключения не работало
Не стоит windows.h без веских на то причин подключать, т.к. при этом код автоматом перестает компилироваться на других платформах(да, windows - не единственная ос).
Функция system должна быть в <cstdlib>
Влад1993
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 9
29.10.2011, 16:52  [ТС]     Помогите написать прогу в С++ #9
Спасибо большое,а вторую задачу расписать не могу,она у меня с конспекта,пожалуйста помогите хоть как решить,а то горю сдать 2 дня назад надо было
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
29.10.2011, 16:55     Помогите написать прогу в С++ #10
Цитата Сообщение от ViT(Vet@l) Посмотреть сообщение
в третьей, надо подключит windows.h
А если ТС работает в MacOS?
Влад1993
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 9
29.10.2011, 17:00  [ТС]     Помогите написать прогу в С++ #11
Цитата Сообщение от Влад1993 Посмотреть сообщение
Люди пожалуйста помогите написать в С++ программы для задач ,буду очень благодарен
Задача1
Lin18. Найти решение системы уравнений вида A1·x + B1·y = C1, A2·x + B2·y = C2, заданной своими коэффициентами A1, B1, C1, A2, B2, C2, если известно, что данная система имеет единственное решение.
Задача2
Log18. Даны координаты (как целые от 1 до 8) двух различных полей шахматной доски. Если король за один ход может перейти с одного поля на другое, вывести логическое значение True, в противном случае вывести значение False.
Задача3
U18. Для данного x вычислить значение следующей функции f(x), принимающей вещественные значения: -1 если x <= 0; x, если 0<x<2; 4, если x >= 2.
Народ ВЫРУЧАЙТЕ!!!
Народ со 2-ой задачей незнаю,помогите очень надо,пожалуйста
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
29.10.2011, 17:05     Помогите написать прогу в С++ #12
2 - вроде так, не уверен.
C++
1
2
3
4
5
6
7
8
#include <iostream>
 
int main()
{
    int x1, y1, x2, y2;
    std::cin >> x1 >> y1 >> x2 >> y2;
    std::cout << std::boolalpha << ( abs( (x1 + y1) - (x2 + y2) ) <= 2 );
}
Нет, не так.

Вот(если координаты равны, выведет true):
C++
1
2
3
4
5
6
7
8
#include <iostream>
 
int main()
{
        int x1, y1, x2, y2;
        std::cin >> x1 >> y1 >> x2 >> y2;
        std::cout << std::boolalpha << ( abs(x1 - x2 <= 1) && abs(y1 - y2) <= 1 );
}
YouDoItWrong
46 / 46 / 7
Регистрация: 29.10.2011
Сообщений: 154
29.10.2011, 17:47     Помогите написать прогу в С++ #13
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
 
using namespace std;
 
struct coordinate {
    int x[10];
    int y[10];
};
 
bool can(coordinate map, int size, int x, int y) {
    for(int i = 0; i <  size; i++) {
        if(x+1 == map.x[i] && y+1 == map.y[i]) {
            return true;
        }
        if(x+1 == map.x[i] && y-1 == map.y[i]) {
            return true;
        }
        if(x-1 == map.x[i] && y+1 == map.y[i]) {
            return true;
        }
        if(x-1 == map.x[i] && y-1 == map.y[i]) {
            return true;
        }
    }
    return false;
}
 
 
int main() {
    coordinate map1, map2;
    int size_of_map1, size_of_map2,x,y, map;
    bool k;
    cin >> x >> y;
    cin >> size_of_map1 >> size_of_map2;
    for(int i = 0; i < size_of_map1; i++) {
        cin >> map1.x[i] >> map1.y[i];
        if(x == map1.x[i] && y == map1.y[i]) {
            map =1;
        }
    }
    for(int i = 0; i < size_of_map2; i++) {
        cin >> map2.x[i] >> map2.y[i];
        if(x == map2.x[i] && y == map2.y[i]) {
            map =2;
        }
    }
    if(map == 1) {
        k = can(map2,size_of_map2,x,y);
    } else {
        k = can(map1,size_of_map1,x,y);
    }
    if(k) {
        cout << "can";
    } else {
        cout << "can't";
    }
    system("pause");
    return 0;
}
Добавлено через 5 минут
Вводиться текущие координаты короля (гарантируется что король находится на одном из полей, проверку на принадлежность я не делал), размерность полей 1 и 2, координаты полей максимум 10 координат, и проверяем может ли король переместиться на какую либо клетку из поля А в поле В
2 diagon
Читаем описание <cstdlib>, <stdlib.h>, <mmsystem.h>, и вот эту ссылку. И как я уже писал выше "system("pause")" применимо только в MS Windows.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
29.10.2011, 18:09     Помогите написать прогу в С++ #14
Цитата Сообщение от YouDoItWrong Посмотреть сообщение
Читаем описание <cstdlib>, <stdlib.h>, <mmsystem.h>
Читаем референс ^_^
http://www.cplusplus.com/reference/c...stdlib/system/

Цитата Сообщение от YouDoItWrong Посмотреть сообщение
и вот эту ссылку. И как я уже писал выше "system("pause")" применимо только в MS Windows.
Оно понятно, что pause в том же линухе работать не будет, но тем не менее программа скомпилируется и нормально отработает, разве что в конце баш заругается. Опять же можно подставлять разные значения в зависимости от ос.
Например
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdlib.h>
 
#ifdef __linux__ 
    const char * PAUSE = "read _";
#elif defined (__WIN32__) 
    const char * PAUSE = "pause";
#else
    const char * PAUSE = "";
#endif 
 
int main()
{
    system( PAUSE );
}
Отработает без ошибок во всех ос( в не-винде или линуксе просто ничего не сделает).
А еще лучше не использовать такие костыли, да еще и платформо-зависимые.
YouDoItWrong
46 / 46 / 7
Регистрация: 29.10.2011
Сообщений: 154
29.10.2011, 18:20     Помогите написать прогу в С++ #15
Ну вся соль в том, что pause не задифайнена в *nix системах, не более, да и вообще не хорошо это штука работает, она замораживать процесс и каждый n-ый промежуток времени опрашивает устройства ввода.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2011, 18:45     Помогите написать прогу в С++
Еще ссылки по теме:

C++ Помогите написать прогу..
C++ помогите написать прогу

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

Или воспользуйтесь поиском по форуму:
ViT(Vet@l)
27 / 26 / 2
Регистрация: 13.12.2010
Сообщений: 333
29.10.2011, 18:45     Помогите написать прогу в С++ #16
alkagolik, а кто говорит, что в MacOS будет работать?
Просто человек использовал system("pause"), у меня без подключения windows.h не компилировалось.
Теперь знаю, что в этом случае лучше использовать <cstdlib>, спасибо diagon
Сам предпочитаю cin.get();
Yandex
Объявления
29.10.2011, 18:45     Помогите написать прогу в С++
Ответ Создать тему
Опции темы

Текущее время: 23:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru