Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
KyKi
3 / 3 / 0
Регистрация: 12.09.2013
Сообщений: 134
#1

Написать на С++ - C++

26.10.2013, 20:30. Просмотров 1293. Ответов 35
Метки нет (Все метки)

Пожалуйста,помогите решить пару задач.А в некоторых просто ошибки найти не могу.
Кликните здесь для просмотра всего текста
Координаты постоянно выдает последней точки,не знаю,что делать
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()
{
    setlocale(LC_ALL,"Russian");
    int x1,x2,x3,x4,y1,y2,y3,y4;
    cout<<"\n Введите координаты трех вершин прямоугольника, стороны которого параллельны координатным осям"<<endl;
    cout<<"\n Введите координаты 1-ой вершины:"<<endl;
    cin>>x1>>y1;
    cout<<"\n Введите координаты 2-ой вершины:"<<endl;
    cin>>x2>>y2;
    cout<<"\n Введите координаты 3-ой вершины:"<<endl;
    cin>>x3>>y3;
    if (x1=x2)  
        x4=x3;
    else if (x1=x3)  
             x4=x2;
    else x4=x1;
    if (y1=y2)  
        y4=y3;
    else if (y1=y3)  
             y4=y2;
    else  y4=y1;
    cout<<"\n Координаты 4-ой вершины"<<x4<<y4<<endl;
    return 0;
}



Кликните здесь для просмотра всего текста
Тут почему-то выводит 2 направления в конце(
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
/*Локатор ориентирован на одну из сторон света(С-север,З-запад,Ю-юг,В-восток) и может принимать три цифровые команды поворота:1-поворот налево, -1-поворот направо,
 2-поворот на 180градусов. Дан символ С-исходная ориентация локатора и целые числа N1,N2-две посланные команды.Вывести ориентацию локатора после выполнения этих команд*/
#include <iostream>
using namespace std;
 
int main()
{
    setlocale (LC_ALL,"Russian");
    int N,W,S,E,x,N1,N2,N3;                 //N-север,W-запад,S-юг,E-восток
    char C;
    cout<< "\n Укажите на какую из сторон ориентирован локатор (N-север,W-запад,S-юг,E-восток):";
    cin>>C;
    if (C='N')
        x=0;
    else if (C='W')
        x=1;
    else x=2;
    if (C='E') 
        x=3;
    cout<< "\n Введите первую цифровую команду (1-поворот на лево, -1-поворот направо, 2-поворот на 180) N1=";
    cin>>N1;
    cout<< "\n Введите вторую цифровую команду (1-поворот на лево, -1-поворот направо, 2-поворот на 180) N2=";
    cin>>N2;
    N3=N1+N2;
    if (x=0)
    cout<< "\n Ориентация локатора - Север"<<endl;
    else 
    cout<< "\n Ориентация локатора - Запад"<<endl;
    if (x=2)
    cout<< "\n Ориентация локатора - Юг"<<endl;
    else 
    cout<< "\n Ориентация локатора - Восток"<<endl;
    return 0;
}


Кликните здесь для просмотра всего текста
Ну тут совсем печалька
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
/*Дано вещественное число X и целое число N (> 0). Найти значение выражения
x-x^3(3!)+x^5/(5!)-...+(-1)^N*x^(2N+1)/((2N+1)!)
(N! = 1·2·…·N). Полученное число является приближенным значением
функции Sin в точке X. */
#include <iostream>
#include <cmath>
using namespace std;
 
int main()
{
    setlocale (LC_ALL,"Russian");
    double x;
    int N,S,ch,zn,chl,t,eps;
    eps=0.001;
    S=1;
    cout<<"\n Введите число (N>0) N=";
    cin>>N;
    cout<<"\n Введите число (|x|<1) x=";
    cin>>x;
    t=sin(x);
    N!=N*N;
    chl=pow(-1,N)*pow(x,2*N+1)/(2*N+1);
    S=S+chl;
   cout<<"\n S="<<S<<endl;
   cout<<"\n t="<<t<<endl;
   return 0;
}


Кликните здесь для просмотра всего текста
В ответе выводит значение А
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*Даны целые положительные числа A и B. Найти их наибольший об-
щий делитель (НОД), используя алгоритм Евклида:
НОД(A, B) = НОД(B, A mod B), если B в‰* 0; НОД(A, 0) = A.  */
#include <iostream>
using namespace std;
 
int main()
{
    setlocale (LC_ALL,"Russian");
    int A,B;
    cout<<"\n Введите число A=";
    cin>>A;
    cout<<"\n Введите число B=";
    cin>>B;
    while (A<0 && A>0 && B<0 && B>0)
    {   
        if (A>=B)
            A=A/B;
        else B=B/A;
    }
    cout<< "\n Наибольший общий делитель NOD="<<(A,B)<<endl;
    return 0;
}


И вот пару пару задач совсем не могу придумать как решать
Кликните здесь для просмотра всего текста
1.Дано целое число N (> 1) и набор из N вещественных чисел. Если
данный набор образует убывающую последовательность, то вывести 0;
в противном случае вывести номер первого числа, нарушающего
закономерность.
2. Дано целое число K, а также K наборов ненулевых целых чисел. Ка-
ждый набор содержит не менее двух элементов, признаком его завершения
является число 0. Найти количество наборов, элементы которых возраста-
ют.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2013, 20:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать на С++ (C++):

Написать класс по строительству домов. Написать программу, демонстрирующую работу с классом. - C++
Собственно, в С++ немного насасываю, код читать умею, а прогать - нет. К сожалению, обстоятельства сложились так, что я поступил именно...

Помогите написать формулу ,никак немогу написать (2k)! в ней - C++
Помогите написать формулу ,никак немогу написать (2k)! в ней

Надо написать программу на while или do while и написать алгоритм - C++
Помогите пожалуйста с задачей:(. Даны действительные числа x , y ( x &gt; 1). Получить наименьшее число вида xn,что превышает y , где n -...

Написать программу, которая выводит значения факториалов чисел от 0 до N. Для вычисления факториала числа написать функцию пользователя - C++
Написать программу, которая выводит значения факториалов чисел от 0 до N. Для вычисления факториала числа написать функцию пользователя.

написать написать функцию, возвращающую номер минимального элемента в простом списке - Lisp
написать функцию, возвращающую номер минимального элемента в простом списке.

не могу написать написать программу на вычисление U=max - QBasic
вот условия: даны числа x,y,z. Вычислить U=max. (z,min (y,x)). Помогите, пожалуйста, решить ((((

35
Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
26.10.2013, 22:03 #16
Shtirliz72, ))) пасиб что сказал
а то я собиралась листать все книги и инет)))
0
KyKi
3 / 3 / 0
Регистрация: 12.09.2013
Сообщений: 134
26.10.2013, 22:19  [ТС] #17
Цитата Сообщение от Shtirliz72 Посмотреть сообщение
В первом - поймите разницу между = и ==.
Остальные сейчас посмотрю.
По поводу первой задачи,вы имеете ввиду,что там должно быть так?
C++
1
if (x1==x2)  x4==x3;
0
Shtirliz72
201 / 161 / 38
Регистрация: 25.10.2013
Сообщений: 527
26.10.2013, 22:22 #18
Цитата Сообщение от KyKi Посмотреть сообщение
По поводу первой задачи,вы имеете ввиду,что там должно быть так?
C++
1
if (x1==x2)  x4==x3;
Что я имею в виду достаточно просто узнать: надо просто прочитать что такое оператор =, а что такое оператор == !
И всё, никого гадания не надо. Надо всего лишь хотя бы узнать как эти операторы называются.
0
KyKi
3 / 3 / 0
Регистрация: 12.09.2013
Сообщений: 134
26.10.2013, 22:26  [ТС] #19
Цитата Сообщение от Shtirliz72 Посмотреть сообщение
Что я имею в виду достаточно просто узнать: надо просто прочитать что такое оператор =, а что такое оператор == !
И всё, никого гадания не надо. Надо всего лишь хотя бы узнать как эти операторы называются.
я понимаю разницу между присваиванием и равно..можете просто помочь и объяснить в чем там ошибка?мозг после круглосуточных сидений над этими задачами уже не соображает совсем(
0
Shtirliz72
201 / 161 / 38
Регистрация: 25.10.2013
Сообщений: 527
26.10.2013, 22:48 #20
Цитата Сообщение от KyKi Посмотреть сообщение
я понимаю разницу между присваиванием и равно
Ещё раз, на бис, как ты назвал каждый из операторов? Мне тебе третий раз указать на то, чтобы ты узнал чем они отличаются и как они называются? О какой помощи тебе идёт речь если даже пройдя по ссылке на готовое описание ты умудряешься говорить такие бредовые вещи?
Ведь они же согласно названию используются!
0
de-pre
32 / 31 / 3
Регистрация: 04.07.2013
Сообщений: 232
Записей в блоге: 1
27.10.2013, 00:20 #21
Первое задание,например,так можно

Кликните здесь для просмотра всего текста
C++ (Qt)
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
#include <iostream>
#include <istream>
#include <conio.h>
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    int x1,x2,x3,x4,y1,y2,y3,y4;
    cout<<" Введите координаты трех вершин прямоугольника, стороны которого параллельны координатным осям\n";
    cout<<" Введите координаты 1-ой вершины:\n";
    cin>>x1>>y1;
    cout<<" Введите координаты 2-ой вершины:\n";
    cin>>x2>>y2;
    cout<<" Введите координаты 3-ой вершины:\n";
    cin>>x3>>y3;
    if (x1==x2 && y2==y3)
    {
        x4=x3;
        y4=y1;
    }
    else
        {
        x4=x2;
        y4=y1;
    }
    cout<<"четвертая вершина"<<x4<<";"<<y4;
    getch();
}


Добавлено через 5 минут
хотя проверка выполнения условия,конечно,еще требует уточнения

Добавлено через 4 минуты
Да и не понятно,как мы вводим координаты вершин - последовательно, от первой до третьей (тогда что считать первой,второй и третьей вершиной?),или же вводим координаты вершин в произвольном порядке (при этом опять же,не ясно,что считается первой вершиной,а что второй и третьей, я принял,что первая вершина - левая снизу,вторая левая сверху,третья-справа вверху,четвертая-справа внизу).
1
KyKi
3 / 3 / 0
Регистрация: 12.09.2013
Сообщений: 134
27.10.2013, 00:39  [ТС] #22
Цитата Сообщение от de-pre Посмотреть сообщение
Первое задание,например,так можно

Кликните здесь для просмотра всего текста
C++ (Qt)
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
#include <iostream>
#include <istream>
#include <conio.h>
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    int x1,x2,x3,x4,y1,y2,y3,y4;
    cout<<" Введите координаты трех вершин прямоугольника, стороны которого параллельны координатным осям\n";
    cout<<" Введите координаты 1-ой вершины:\n";
    cin>>x1>>y1;
    cout<<" Введите координаты 2-ой вершины:\n";
    cin>>x2>>y2;
    cout<<" Введите координаты 3-ой вершины:\n";
    cin>>x3>>y3;
    if (x1==x2 && y2==y3)
    {
        x4=x3;
        y4=y1;
    }
    else
        {
        x4=x2;
        y4=y1;
    }
    cout<<"четвертая вершина"<<x4<<";"<<y4;
    getch();
}


Добавлено через 5 минут
хотя проверка выполнения условия,конечно,еще требует уточнения

Добавлено через 4 минуты
Да и не понятно,как мы вводим координаты вершин - последовательно, от первой до третьей (тогда что считать первой,второй и третьей вершиной?),или же вводим координаты вершин в произвольном порядке (при этом опять же,не ясно,что считается первой вершиной,а что второй и третьей, я принял,что первая вершина - левая снизу,вторая левая сверху,третья-справа вверху,четвертая-справа внизу).
я так же вершины принимала)огромное спасибо,вы очень помогли)а не могли бы глянуть,что не так я во второй задаче делаю??)
0
de-pre
32 / 31 / 3
Регистрация: 04.07.2013
Сообщений: 232
Записей в блоге: 1
27.10.2013, 00:44 #23
Цитата Сообщение от KyKi Посмотреть сообщение
я так же вершины принимала)огромное спасибо,вы очень помогли)
Ну если так же,и считать,что проверка выполнения условия не нужна,то блок if-else можно выкинутьи переписать всё так:
Кликните здесь для просмотра всего текста
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <istream>
#include <conio.h>
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    int x1,x2,x3,x4,y1,y2,y3,y4;
    cout<<" Введите координаты трех вершин прямоугольника, стороны которого параллельны координатным осям\n";
    cout<<" Введите координаты 1-ой вершины:\n";
    cin>>x1>>y1;
    cout<<" Введите координаты 2-ой вершины:\n";
    cin>>x2>>y2;
    cout<<" Введите координаты 3-ой вершины:\n";
    cin>>x3>>y3;
    x4=x3;
    y4=y1;
    cout<<"четвертая вершина"<<x4<<";"<<y4;
    getch();
}
1
KyKi
3 / 3 / 0
Регистрация: 12.09.2013
Сообщений: 134
27.10.2013, 00:47  [ТС] #24
Цитата Сообщение от de-pre Посмотреть сообщение
Ну если так же,и считать,что проверка выполнения условия не нужна,то блок if-else можно выкинутьи переписать всё так:
Кликните здесь для просмотра всего текста
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <istream>
#include <conio.h>
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
    int x1,x2,x3,x4,y1,y2,y3,y4;
    cout<<" Введите координаты трех вершин прямоугольника, стороны которого параллельны координатным осям\n";
    cout<<" Введите координаты 1-ой вершины:\n";
    cin>>x1>>y1;
    cout<<" Введите координаты 2-ой вершины:\n";
    cin>>x2>>y2;
    cout<<" Введите координаты 3-ой вершины:\n";
    cin>>x3>>y3;
    x4=x3;
    y4=y1;
    cout<<"четвертая вершина"<<x4<<";"<<y4;
    getch();
}
Да не)я думаю дописать проверку)а то если вводить координаты не параллельные к осям,оно все равно выдает ответ)
А можете глянуть что во второй задаче не так?
0
de-pre
32 / 31 / 3
Регистрация: 04.07.2013
Сообщений: 232
Записей в блоге: 1
27.10.2013, 00:47 #25
Цитата Сообщение от KyKi Посмотреть сообщение
а не могли бы глянуть,что не так я во второй задаче делаю??)
"Студент может всё"
Но уже утром.
0
KyKi
3 / 3 / 0
Регистрация: 12.09.2013
Сообщений: 134
27.10.2013, 15:14  [ТС] #26
Цитата Сообщение от de-pre Посмотреть сообщение
"Студент может всё"
Но уже утром.
Ох как понимаю)))))Но все равно огромное спасибо за помощь

Добавлено через 14 часов 25 минут
Справилась со вторым заданием,вот код,может кому-то пригодится)
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
int main()
{
    setlocale (LC_ALL,"Russian");
    int N,W,S,E,x,N1,N2,N3;                 //N-север,W-запад,S-юг,E-восток
    char C;
    cout<< "\n Укажите на какую из сторон ориентирован локатор (N-север,W-запад,S-юг,E-восток):";
    cin>>C;
    
    if (C='N')
        x=0;
    else if (C='W')
        x=1;
    else x=2;
    if (C='E') 
        x=3;
    cout<< "\n Введите первую цифровую команду (1-поворот на лево, -1-поворот направо, 2-поворот на 180) N1=";
    cin>>N1;
    cout<< "\n Введите вторую цифровую команду (1-поворот на лево, -1-поворот направо, 2-поворот на 180) N2=";
    cin>>N2;
    N3=N1+N2;
    switch(N3)
    {
    case 0:
    cout<< "\n Ориентация локатора - Север"<<endl;
    break;
    case 1:
    cout<< "\n Ориентация локатора - Запад"<<endl;
    break;
    case 2:
    cout<< "\n Ориентация локатора - Юг"<<endl;
    break;
    case 3:
    cout<< "\n Ориентация локатора - Восток"<<endl;
    break;
    }
    return 0;
}
А вот с 3-ей все еще печально(может кто-нибудь подсказать??
0
Shtirliz72
201 / 161 / 38
Регистрация: 25.10.2013
Сообщений: 527
27.10.2013, 15:25 #27
Цитата Сообщение от KyKi Посмотреть сообщение
Справилась со вторым заданием,вот код,может кому-то пригодится)
Девушка, вы не справились со вторым заданием. Вы так и не поняли, чем == отличается от =. Я же не зря пытался до вас достучаться по этой теме.
= - операция присваивания.
== - операция сравнения
и в
C++
1
if (C='N')
Вы не сравниваете переменную С со значением 'N', а присваиваете ей это значение.
0
KyKi
3 / 3 / 0
Регистрация: 12.09.2013
Сообщений: 134
27.10.2013, 15:34  [ТС] #28
Цитата Сообщение от Shtirliz72 Посмотреть сообщение
Девушка, вы не справились со вторым заданием. Вы так и не поняли, чем == отличается от =. Я же не зря пытался до вас достучаться по этой теме.
= - операция присваивания.
== - операция сравнения
и в
C++
1
if (C='N')
Вы не сравниваете переменную С со значением 'N', а присваиваете ей это значение.
что удивительно,что работает оно и с = и с ==...
0
Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
27.10.2013, 15:38 #29
Shtirliz72, ну кому то важно что б вышло "ответо пободные " вещи

все таки не достучались )))
0
Shtirliz72
201 / 161 / 38
Регистрация: 25.10.2013
Сообщений: 527
27.10.2013, 15:43 #30
Цитата Сообщение от KyKi Посмотреть сообщение
что удивительно,что работает оно и с = и с ==...
Нет ничего удивительного. Приравнивание - это операция, возвращает собственно то, что присваивалось. Поэтому поэтому if(a=5) эквивалентно условию if(5) и, соответственно, выполняет всегда. А if(a=0) эквивалентно if(0) - и никогда не выполняется.
2
27.10.2013, 15:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2013, 15:43
Привет! Вот еще темы с ответами:

нужно написать простой php скрипт или расказать как его написать php токо учю на примерах - PHP БД
что нужно от скрипта 3 поля для ввода данных 1.поле 1 2.поле 2 3.поле 3 после заполнения полей все это отсылается в бд но тут...

Как написать веб приложение "Виртуальный блокнот"? Подскажите с чего можно начать, чтобы написать такое? - PHP
Как написать веб приложение &quot;Виртуальный блокнот&quot;: Пользователь заходит на сайт. Затем нажимает кнопку добавить, вводит имя файла и его...

VBA Написать, что программа делает программа, написать комментарий к каждой строке - VBA
Option Explicit Sub SortVect(InV() As Single, OutVect() As Integer, N As Integer) ' 26.10.2016. Dim p As Integer, q As Integer,...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

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