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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
KyKi
3 / 3 / 0
Регистрация: 12.09.2013
Сообщений: 129
26.10.2013, 20:30     Написать на С++ #1
Пожалуйста,помогите решить пару задач.А в некоторых просто ошибки найти не могу.
Кликните здесь для просмотра всего текста
Координаты постоянно выдает последней точки,не знаю,что делать
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. Найти количество наборов, элементы которых возраста-
ют.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2013, 20:30     Написать на С++
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Жанерке
 Аватар для Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
26.10.2013, 21:07     Написать на С++ #2
KyKi, у меня есть похожая задача :
1,
Если в результате замены отрицательных элементов массива их квадратами элементы массива по строкам образуют убывающую последовательность, то найти сумму элементов каждой строки, иначе определить – произведение
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
int d[20][20] ;
cout<<"\n квадраттап онделген  \n";
d[i][j]=0;
for (i=0;i<n;i++)
{
for (j=0; j<m; j++)
{
if (arr[i][j]<0) d[i][j]=pow(arr[i][j],2);
else d[i][j]= arr[i][j] ;
cout<<d[i][j]<<"  ";
}
cout<<endl;
}
// здесь начинается проверка
int   s[20],kemu[20];
for (i=0;i<n;i++){
 kemu[i]=0;
for (j=0; j<m; j++){
if(d[i][j]>d[i][j+1]) kemu[i]++; }
//cout <<i<<"kemu"<< kemu[i]<<"  \n";
}
 
for (i=0;i<n;i++){
if (kemu[i]==n-1) s[i]=0; //если строка массива убывающая то s равно нулю
if (kemu[i]<(n-1))     s[i]=1; //если строка массива не убывающая то s равно единичке 
for (j=0; j<m; j++)
{if (kemu[i]==n-1) { s[i]=s[i]+d[i][j];}
if (kemu[i]<(n-1))  s[i]*=d[i][j];}
cout<<i<<"s "<<s[i]<<" ";}
проста подкоректируй под свою задачу

Добавлено через 3 минуты
Цитата Сообщение от KyKi Посмотреть сообщение
N!=N*N;
а разве факториал так пишут
<<!=>> разве не знак не равно ??
Shtirliz72
200 / 160 / 38
Регистрация: 25.10.2013
Сообщений: 527
26.10.2013, 21:07     Написать на С++ #3
Цитата Сообщение от KyKi Посмотреть сообщение
Пожалуйста,помогите решить пару задач.А в некоторых просто ошибки найти не могу.
В первом - поймите разницу между = и ==.
Остальные сейчас посмотрю.
Жанерке
 Аватар для Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
26.10.2013, 21:09     Написать на С++ #4
факториал с помощью цикла пишут насколько я знаю
первый раз вижу что факториал так писали в коде
Shtirliz72
200 / 160 / 38
Регистрация: 25.10.2013
Сообщений: 527
26.10.2013, 21:16     Написать на С++ #5
Во втором - тоже самое.
В третьем - узнайте чем отличается int от float или double, а также узнайте что делает операция !=

Добавлено через 2 минуты
В четвертой - у вас цикл while при таких условиях никогда не сработает, а (A,B) - вообще не должна давать компилироваться программе, вызывая ошибку.

Добавлено через 2 минуты
В общем - неплохо бы изучить элементарные основы с++, прежде чем пытаться писать на нём. Самоучителей и учебников по с++ в интернете - предостаточно. Возьмите и прочитайте, чтобы хотя бы понимать что вы делаете, а не быть той пресловутой обезъяной с гранатой.
Shtirliz72
200 / 160 / 38
Регистрация: 25.10.2013
Сообщений: 527
26.10.2013, 21:18     Написать на С++ #6
Цитата Сообщение от Жанерке Посмотреть сообщение
факториал с помощью цикла пишут насколько я знаю
первый раз вижу что факториал так писали в коде
э? Так это и не факториал - это бинарная операция неравенства, возвращает тип bool или int в значениях 1 (если неравны) или 0 (если равны).
KyKi
3 / 3 / 0
Регистрация: 12.09.2013
Сообщений: 129
26.10.2013, 21:18  [ТС]     Написать на С++ #7
Цитата Сообщение от Жанерке Посмотреть сообщение
факториал с помощью цикла пишут насколько я знаю
первый раз вижу что факториал так писали в коде
Вот с факториалом у меня проблема,я вообще не понимаю как он работает(
sharpey
130 / 120 / 21
Регистрация: 21.09.2008
Сообщений: 353
26.10.2013, 21:27     Написать на С++ #8
Цитата Сообщение от KyKi Посмотреть сообщение
Вот с факториалом у меня проблема,я вообще не понимаю как он работает(
Глава 10 прекрасной книги. За сегодняшний вечер уже трижды безвозмездно рекламирую.
Andrey027
0 / 0 / 0
Регистрация: 26.10.2013
Сообщений: 75
26.10.2013, 21:30     Написать на С++ #9
Я в программировании совсем никак не шарю. Помогите перестроить программу чтобы она работала как хотелось бы.
KyKi
3 / 3 / 0
Регистрация: 12.09.2013
Сообщений: 129
26.10.2013, 21:32  [ТС]     Написать на С++ #10
Цитата Сообщение от sharpey Посмотреть сообщение
Глава 10 прекрасной книги. За сегодняшний вечер уже трижды безвозмездно рекламирую.
Книгу обязательно прочту)но можно щас в трех словах объяснить как использовать факториал??)
Shtirliz72
200 / 160 / 38
Регистрация: 25.10.2013
Сообщений: 527
26.10.2013, 21:38     Написать на С++ #11
Цитата Сообщение от KyKi Посмотреть сообщение
Книгу обязательно прочту)но можно щас в трех словах объяснить как использовать факториал??)
Ну например как функцию

C++
1
2
3
4
5
unsigned int factorial(unsigned int n)
{
 if(n > 1) return n * factorial(n-1);
 return 1;
}
Жанерке
 Аватар для Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
26.10.2013, 21:42     Написать на С++ #12
Shtirliz72, на вижуал есть такие специальные функций есть или ты вроде примера написал ???

KyKi, можно проста применить цикл если трудно работать с функциями ))
Shtirliz72
200 / 160 / 38
Регистрация: 25.10.2013
Сообщений: 527
26.10.2013, 21:45     Написать на С++ #13
Цитата Сообщение от Жанерке Посмотреть сообщение
на вижуал есть такие специальные функций есть или ты вроде примера написал ???
Что именно? Если факториал - то без понятия, но он 100% есть в std в <math>
Жанерке
 Аватар для Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
26.10.2013, 21:53     Написать на С++ #14
Shtirliz72, не знала , но по ищу ))

KyKi,
вот факториал n числа с помощью цикла

C++
1
2
3
4
5
6
7
8
{  int n,i,N=1;
cin>>n;
for (i=1;i<=n;++i) {
N*=i;    }
cout<<"факториал = "<<N;
getch();
        return 0;
}
для
Цитата Сообщение от KyKi Посмотреть сообщение
(2N+1)
сам(а) подумай ))
Shtirliz72
200 / 160 / 38
Регистрация: 25.10.2013
Сообщений: 527
26.10.2013, 22:01     Написать на С++ #15
Цитата Сообщение от Жанерке Посмотреть сообщение
Shtirliz72, не знала , но по ищу ))
Не надо, не ищи, я соврал. =) Нету его там, я сейчас посмотрел.
Жанерке
 Аватар для Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
26.10.2013, 22:03     Написать на С++ #16
Shtirliz72, ))) пасиб что сказал
а то я собиралась листать все книги и инет)))
KyKi
3 / 3 / 0
Регистрация: 12.09.2013
Сообщений: 129
26.10.2013, 22:19  [ТС]     Написать на С++ #17
Цитата Сообщение от Shtirliz72 Посмотреть сообщение
В первом - поймите разницу между = и ==.
Остальные сейчас посмотрю.
По поводу первой задачи,вы имеете ввиду,что там должно быть так?
C++
1
if (x1==x2)  x4==x3;
Shtirliz72
200 / 160 / 38
Регистрация: 25.10.2013
Сообщений: 527
26.10.2013, 22:22     Написать на С++ #18
Цитата Сообщение от KyKi Посмотреть сообщение
По поводу первой задачи,вы имеете ввиду,что там должно быть так?
C++
1
if (x1==x2)  x4==x3;
Что я имею в виду достаточно просто узнать: надо просто прочитать что такое оператор =, а что такое оператор == !
И всё, никого гадания не надо. Надо всего лишь хотя бы узнать как эти операторы называются.
KyKi
3 / 3 / 0
Регистрация: 12.09.2013
Сообщений: 129
26.10.2013, 22:26  [ТС]     Написать на С++ #19
Цитата Сообщение от Shtirliz72 Посмотреть сообщение
Что я имею в виду достаточно просто узнать: надо просто прочитать что такое оператор =, а что такое оператор == !
И всё, никого гадания не надо. Надо всего лишь хотя бы узнать как эти операторы называются.
я понимаю разницу между присваиванием и равно..можете просто помочь и объяснить в чем там ошибка?мозг после круглосуточных сидений над этими задачами уже не соображает совсем(
Shtirliz72
200 / 160 / 38
Регистрация: 25.10.2013
Сообщений: 527
26.10.2013, 22:48     Написать на С++ #20
Цитата Сообщение от KyKi Посмотреть сообщение
я понимаю разницу между присваиванием и равно
Ещё раз, на бис, как ты назвал каждый из операторов? Мне тебе третий раз указать на то, чтобы ты узнал чем они отличаются и как они называются? О какой помощи тебе идёт речь если даже пройдя по ссылке на готовое описание ты умудряешься говорить такие бредовые вещи?
Ведь они же согласно названию используются!
Yandex
Объявления
26.10.2013, 22:48     Написать на С++
Ответ Создать тему
Опции темы

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