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

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

Войти
Регистрация
Восстановить пароль
 
 
Kutuzov0
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 28
#1

Составить программу обмена значениями трёх переменных - C++

13.06.2015, 01:27. Просмотров 1194. Ответов 19
Метки нет (Все метки)

Условия задачи такие: Составить программу обмена значениями трёх переменных величин a,b,c по след схеме:
b присвоить значение c, a присвоить значение b, c присвоить значение a;
Написал программу
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <vcl.h>
#include <iostream.h>
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main()
{
int a,b,c;
cin >> a >> b;
c=a;
a=b;
b=c;
cout  << a << " " << b << "\n";
cin >> a;
 
        return 0;
Запускаю cmd, ввожу значение трёх переменных, должны поменяться местами, и ни чего cmd исчезает. Из за чего?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2015, 01:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Составить программу обмена значениями трёх переменных (C++):

Составить программу обмена значениями трех переменных величины a,b,c строкового типа - C++
Составить программу обмена значениями трех переменных величины a,b,c строкового типа по следующей схеме: b присвоить значение с, а...

Программа обмена значениями двух переменных a и b - C++
3.8 Составить программу обмена значениями двух переменных a и b. Разработать два варианта решения задачи – с исполь-зованием...

Составить программу обмена местами максимального и минимального элементов главной диогонали матрицы 4x4. - C++
как я понял надо работать только с главной диогональю зарание спасибо!

Составить программу, вычисляющую значения функции F от 2х переменных с++ - C++
Задание: Составить программу, вычисляющую значение функции F от двух переменных a и b. Программа выводит неверные значения... Помогите...

Не происходит обмена значениями. В чем проблема? - C++
#include &lt;iostream&gt; using namespace std; void change(int &amp;a, int &amp;b); int main() { int a=1,b=2;

Вывод трёх переменных - C++
Самое простое задание, которое можно себе представить, не получается решить. Подозреваю неправильную постановку задачи, но, всё-таки, может...

19
Perfilov
264 / 164 / 43
Регистрация: 25.02.2015
Сообщений: 435
13.06.2015, 01:36 #2
может решение тут: Распространенные ошибки
0
Velesthau
523 / 425 / 129
Регистрация: 25.11.2014
Сообщений: 1,662
13.06.2015, 01:37 #3
Цитата Сообщение от Kutuzov0 Посмотреть сообщение
ввожу значение трёх переменных
Где трех-то?
Цитата Сообщение от Kutuzov0 Посмотреть сообщение
cin >> a >> b;
Распространенные ошибки
и перед cin>>a; последним поставь cin.ignore(); тогда будет ждать ввода.
0
Kutuzov0
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 28
13.06.2015, 02:17  [ТС] #4
Velesthau, хорошо вроде как получилось, спасибо. Следующий вопрос, почему не открываются билдеровские файлы в среде, с флэшки?
0
Kutuzov0
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 28
13.06.2015, 02:25  [ТС] #5
Как в VS запустить эту же прогу пишет: Составить программу обмена значениями трёх переменных
0
lss
922 / 851 / 281
Регистрация: 10.10.2012
Сообщений: 2,701
13.06.2015, 03:37 #6
Цитата Сообщение от Kutuzov0 Посмотреть сообщение
Как в VS запустить эту же прогу пишет:
Сначала скомпилировать нужно.
0
Kutuzov0
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 28
13.06.2015, 21:08  [ТС] #7
lss, То есть? В заголовке всё правильно?
0
lss
922 / 851 / 281
Регистрация: 10.10.2012
Сообщений: 2,701
13.06.2015, 23:13 #8
Цитата Сообщение от Kutuzov0 Посмотреть сообщение
То есть?
Скомпилировать нужно, потом запускать.
Цитата Сообщение от Kutuzov0 Посмотреть сообщение
В заголовке всё правильно?
В каком заголовке? Если имеешь ввиду заголовочные файлы и #pragma argsused, то убрать то, что относиться к билдеру (студия напишет, что не так), iostream.h, заменить на iostream, добавить using namespace std;
0
ValeryS
Модератор
6794 / 5202 / 499
Регистрация: 14.02.2011
Сообщений: 17,446
13.06.2015, 23:21 #9
Цитата Сообщение от Kutuzov0 Посмотреть сообщение
c=a;
a=b;
b=c;
и что мы имеем?
например a=1 b=2 c=3
c=a; c=1 a=1
a=b; a=2 b=2
b=c; b=1 c=1
итого a=2 b=1 c=1
как то мало на обмен похоже
нужно вводить еще одну переменную, для временного хранения
например
C++
1
2
3
4
int tmp=a;
a=b;
b=c;
c=tmp;
0
Mamoruhiko
40 / 38 / 20
Регистрация: 13.05.2015
Сообщений: 222
14.06.2015, 01:15 #10
Частный случай решения задачи "Ханойская башня". Тут есть необходимая для решения ТЗ информация.
0
Kutuzov0
0 / 0 / 0
Регистрация: 22.04.2015
Сообщений: 28
14.06.2015, 01:44  [ТС] #11
Цитата Сообщение от lss Посмотреть сообщение
добавить using namespace std;
куда добавить? Не понятно.
Цитата Сообщение от ValeryS Посмотреть сообщение
как то мало на обмен похоже
плин, вчера всё получилось теперь опять cmd пропадает.
0
lss
922 / 851 / 281
Регистрация: 10.10.2012
Сообщений: 2,701
14.06.2015, 01:55 #12
Цитата Сообщение от Kutuzov0 Посмотреть сообщение
куда добавить? Не понятно.
Раз и это непонятно, то читай учебники, там всё понятно объясняют.
0
Mamoruhiko
40 / 38 / 20
Регистрация: 13.05.2015
Сообщений: 222
14.06.2015, 02:58 #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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
//функция которая меняет местами значения двух переменных и выводит ту, которой было необходимо присвоить значение другой;
void trade(int x, int y)
{
    x = x + y;
    y = x - y;
    x = x - y;
    cout << x << " ";
}
 
int main()
{
    int a, b, c;
    cout << "Enter a, b, c: ";
    cin >> a >> b >> c;
    cout << "Before trade: " << a << " " << b << " " << c << endl << "After trade: ";
    //вызов описанной выще функции;
    trade(a, b);
    trade(b, c);    
    trade(c, a);
    cout << endl;
    system("pause");
}
0
ValeryS
Модератор
6794 / 5202 / 499
Регистрация: 14.02.2011
Сообщений: 17,446
14.06.2015, 07:16 #14
Цитата Сообщение от Mamoruhiko Посмотреть сообщение
Частный случай решения задачи "Ханойская башня".
серьезно?
и что общего? три переменных? а если будет 5? это ближе к циклическому сдвигу

Добавлено через 3 минуты
Цитата Сообщение от Mamoruhiko Посмотреть сообщение
void trade(int x, int y)
"уж сколько раз твердили миру"
недостатки своего метода знаешь?
и почему c ХОR решение не привел?
но самое то смешное что функция не будет работать, ничего она не поменяет
0
Mamoruhiko
40 / 38 / 20
Регистрация: 13.05.2015
Сообщений: 222
14.06.2015, 13:25 #15
Цитата Сообщение от ValeryS Посмотреть сообщение
серьезно?
и что общего? три переменных? а если будет 5? это ближе к циклическому сдвигу
Соль в том, что я неправильно ТЗ прочитал, поэтому "сумничал"
Цитата Сообщение от ValeryS Посмотреть сообщение
недостатки своего метода знаешь?
Это же костыли
Цитата Сообщение от ValeryS Посмотреть сообщение
и почему c ХОR решение не привел?
Честно говоря, не знаком с XOR.
Цитата Сообщение от ValeryS Посмотреть сообщение
но самое то смешное что функция не будет работать, ничего она не поменяет
У меня всё меняет.

Добавлено через 2 минуты
C++
1
//функция которая меняет местами значения двух переменных и выводит ту, которой было необходимо присвоить значение другой;
Тогда лучше так:
C++
1
//функция которая присваивает первой переменной значение второй и выводит её на экран
0
14.06.2015, 13:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2015, 13:25
Привет! Вот еще темы с ответами:

Перебор всех значений трёх булевых переменных - C++
Вобщем мне надо проверить функцию на тавтологию, для этого как я понимаю надо проверить чтобы конечная функция была всегда истинной при...

Создать функцию для расчёта максимального из трёх переменных - C++
Даны действительные числа x, y, z. Создать собственную функцию для расчёта максимального из трёх переменных max(a,b,c).

Найти значение функции A, которая зависит от трёх переменных - C++
Нужно создать программу для вычисления функции A, которая зависит от трёх переменных x, y, z. Ввод значения переменных сделать с...

функция обмена переменных - C++
помогите написать функцию которая меняет переменные местами, но не через swap, а через новую переменную,очень нужно. срочно.


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

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

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