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

Если 3 переменные вещественного типа упорядочены по возрастанию или убыванию, то удвоить их - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить площадь трапеции http://www.cyberforum.ru/cpp-beginners/thread1076029.html
Вместо переменной использовать ссылку на нее. Задание вычислить площадь трапеции. Я написал прогу но как то не уверил в ней и в своих знаниях. #include "stdafx.h" #include <iostream> using namespace std; double trap(double &a, double &b,double &h) { return (((a+b)/2)*h);
C++ Найти количество положительных элементов в матрице Разработать программу на языке программирования C++: А) В матрице а(6,8) найти количество положительных элементов. Б) Сложить две матрицы а(7,3) и b(7,3) и найти наибольший элемент в полученной сумме. http://www.cyberforum.ru/cpp-beginners/thread1076014.html
C++ Каждый элемент матрицы A (3, 3) разделить на произведение ее нечетных положительных элементов
#include"stdafx.h" #include<iostream> #include<iomanip> #include<cmath> #include<time.h> int main() { float mas; srand(time(NULL)); for (int i = 0; i < 3; i++, std::cout << std::endl)
Записать в переданную переменную результат с помощью указателя C++
суть задания, чтобы в переданную переменную записать результат через указатель y =|x - cos(x)| #include "stdafx.h" #include <iostream> #include <math.h> using namespace std; double cos(double *x, double *pi) { return abs(*x - cos((*x**pi)/180)); }
C++ Переструктурировать исходник в структуру программирования ООП http://www.cyberforum.ru/cpp-beginners/thread1075993.html
Не так давно изучаю C++ и вот столкнулся с проблемой Написал исходник в C::B который работает со строками и от меня теперь потребовали переструктурировать его в структуру программирования ООП(объектно-ориентированное-программирование) на VS, как это сделать я вообще не представляю. Я знаю конечно как работать в VS, но переделать в ООП - это не понятно... Помогите... подскажите... пожалуйста,...
C++ Даны отрезки а, в, с и d. Для каждой тройки этих отрезков, из которых можно построить треугольник, напечатать площадь данного треугольника. (Определи Даны отрезки а, в, с и d. Для каждой тройки этих отрезков, из которых можно построить треугольник, напечатать площадь данного треугольника. (Определить функцию, вычисляющую площадь треугольника, если она существует) подробнее

Показать сообщение отдельно
ada lavleis
1 / 1 / 0
Регистрация: 17.09.2013
Сообщений: 130

Если 3 переменные вещественного типа упорядочены по возрастанию или убыванию, то удвоить их - C++

20.01.2014, 00:16. Просмотров 312. Ответов 3
Метки (Все метки)

доброй ночи, уважаемые программисты и успевающие в учебе студенты. помогите, пожалуйста, написать программу на C++ (в визуальной вкладке).

ВОТ ЗАДАНИЕ:
дано три переменные вещественного типа. если их значения упорядочены по возрастанию или убыванию, то удвоить их; иначе заменить значение каждой переменной на противоположное. вывести значения переменных.

у меня есть 3 варианта написания этой программы, а вы выберите тот, который лучше подходит и напишите, пожалуйста, какие компоненты нужно кинуть на форму и что на них писать.

вот 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
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
60
61
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    double a,b,c;
    a=3;
    b=2;
    c=1;
 
 // чтобы можно было вводить убрать комментарии
  
  /*
  
  cout<<"введите a"
 cin>>a;
 
  cout<<"введите b"
 cin>>b;
 
  cout<<"введите b"
 cin>>b;
 
  */
 
 
// если b меньше 
// на этом интервале или b больше на этом интервале 
// то есть между а и с  то последовательность не упорядочена
// иначе  " упорядочена";    
if(((c>b) && (b<a)) || ((c<b)&&(b>a)))
    {
      cout<< "последовательность не упорядочена" ;
            
            a=-a;
            b=-b;
            c=-c;
    }      
 else 
     {
     cout<<" упорядоченна";
            a*=2;
            b*=2;
            c*=2;
    }
  
  // вывоод
  cout<<" a= " <<a<<" b= "<<b<< " c= "<<c;
 
   // cin.get();    
   
   //cout<<" dsdsd";
   
     
     
               
    system("PAUSE");
    return EXIT_SUCCESS;
}
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
#include <iostream.h>
#include "stdlib.h"
 
using namespace std;
 
int main()
{
const int N = 3;
double a[N];//= {2.9,-1.2,-1.2};
 
for(int i=0; i<N; i++)
{
  cout<<"Enter "<<i<<" ";
  cin>>a[i];
}
 
int j=0;
if(a[0] > a[1] || a[0] < a[1])// Определим тип последовательности по первым переменным
{// Если последовательность возрастает или убывает заходим
    for(int i=1; i<N; i++)
    {
      if(a[i-1] > a[i]) j--;
      if(a[i-1] < a[i]) j++;
    }
}
  for(int i=0; i<N; i++)
    abs(j) == N-1 ? a[i] = a[i]*2 : a[i] = 0-a[i];
 
for(int i=0; i<N; i++) cout<< a[i]<<' ';
system("pause");
return 0;
}
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
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
 
 
 // возвращает 0 если последовательно идущие элементы равны
// иначе возвращает 1 
// тут есть недоработка 
//  можно например проверять элементы  сравнивая и
// ввести дополнительную флаг упорядочения по возрастанию
// и в случае смены этого флага в цикле вернуть 0
 
int ifSorted(double doubleArray[], int maxArrayIndex)
    {
        
        
       for(int i=0;i<maxArrayIndex;i++)
       {
       
       if(doubleArray[i]==doubleArray[i+1])
                                    {
                                          return 0;
                                    }
      
        return 1;
       }
       
       
   
    return 1;
    }
 
int main(int argc, char *argv[])
{
const int N = 3;
double a[N];//= {2.9,-1.2,-1.2};
 
//ввод
for(int i=0; i<N; i++)
{
  cout<<"Enter "<<i<<" ";
  cin>>a[i];
}
 
cout<<endl;
 
// вывод
for(int i=0; i<N; i++)
{
  cout<<"a[N] = "<<a[i]<<" ";
   
}
 cout<<endl;
 
if (1==ifSorted(a,N))
// то удваиваем
      for(int i=0;i<N;i++)
               a[i]*=2;
 //иначе смена знака            
else 
      for(int i=0;i<N;i++)
        a[i]=-a[i];
   
   
   //вывод результата
for(int i=0; i<N; i++)
{
  cout<<"a[N] = "<<a[i]<<" ";
   
}      
 
 
cout<<endl;
 
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО ВСЕМ ЗА ПОМОЩЬ.

Добавлено через 1 минуту
мне нужно из 3 вариантов написания одной и той же программы на языке программирования C++ выбрать один вариант, который наиболее походит для решения моего задания, и ещё очень нужно, чтобы вы написали какие компоненты нужно кинуть на форму дизайн, и на какие кнопки какой именно отрывок кода писать.

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