24 / 24 / 0
Регистрация: 26.01.2013
Сообщений: 300
|
|
1 | |
Введенные значения переменных a, b, c поменять местами так, чтобы оказалось a>=b>=c13.02.2013, 22:46. Показов 10862. Ответов 20
Метки нет (Все метки)
Здравствуйте.
Помогите, пожалуйста, в написании алгоритма на C++. >> Введенные значения переменных a, b, c поменять местами так, чтобы оказалось a>=b>=c. Спасибо заранее добрым людям! +(с меня плюсики к вашей репутации)
0
|
13.02.2013, 22:46 | |
Ответы с готовыми решениями:
20
Значения переменных а, Ь и с поменять местами так, чтобы оказалось а >= Ь >= с. Значения переменных поменять местами так, чтобы они оказались упорядоченными по возрастанию Перераспределить значения данных переменных так, чтобы в A оказалось меньшее из значений, а в B-большее Значения переменных X, Y, Z поменять местами так |
59 / 58 / 7
Регистрация: 03.02.2013
Сообщений: 167
|
||||||
13.02.2013, 23:15 | 2 | |||||
примитивно, пока как умею)
1
|
Mobile Software Engineer
5381 / 1585 / 956
Регистрация: 23.01.2011
Сообщений: 3,214
|
|
13.02.2013, 23:22 | 3 |
Kins, тут нужно менять не переменные местами, а их значения. скорее всего
1
|
59 / 58 / 7
Регистрация: 03.02.2013
Сообщений: 167
|
|
13.02.2013, 23:31 | 4 |
вроде все правильно сделал, хотя может и запарил чутка, но, сомневаюсь конечно -просто голова уже не варит))
1
|
39 / 39 / 5
Регистрация: 14.09.2012
Сообщений: 85
|
|||||||||||
13.02.2013, 23:31 | 5 | ||||||||||
1
|
59 / 58 / 7
Регистрация: 03.02.2013
Сообщений: 167
|
|
13.02.2013, 23:35 | 6 |
я помоему самый элементарный способ выложил)
з.ы. Вы еще алгоритм нахождения базы нацистов на темной стороне луны тут опубликуйте)
1
|
24 / 24 / 0
Регистрация: 26.01.2013
Сообщений: 300
|
|
13.02.2013, 23:49 [ТС] | 7 |
Спасибо, ребята!
А есть что-то попроще? на уровне stdio.h, math.h и conio.h? Боюсь, не пойдёт. Если не сложно, с небольшими комментариями (например, не знаю, что делают tempb, tempc, cout<<a<<' '<<b<<' '<<c<<endl;
0
|
2 / 2 / 1
Регистрация: 11.02.2013
Сообщений: 8
|
||||||
14.02.2013, 00:29 | 8 | |||||
1
|
59 / 58 / 7
Регистрация: 03.02.2013
Сообщений: 167
|
|
14.02.2013, 00:29 | 9 |
cout<<a<<' '<<b<<' '<<c<<endl; - производит вывод переменной а, затем следует пробел (' '), потом переменная b, опять пробел, перменная с и все- конец строки
int tempa = a, tempb = b, tempc = c; - присвоение переменным tempа, tempb, tempс, значений а, b, с
1
|
24 / 24 / 0
Регистрация: 26.01.2013
Сообщений: 300
|
|
14.02.2013, 00:57 [ТС] | 10 |
а что такое "ARR" и как мне доступным языком объяснить, что она там делает? и "temp" непонятно для чего в разных случаях.
знаю,что не силён в С++, но для вас это лёгкий уровень же
0
|
39 / 39 / 5
Регистрация: 14.09.2012
Сообщений: 85
|
|
14.02.2013, 05:14 | 11 |
cout - вывод через поток, аналог с stdio -
printf("%i %i %i", a, b, c); temp-ы ввел, потому что если просто менять значения, в итоге они перезапишутся и останется одно число
1
|
178 / 161 / 38
Регистрация: 08.10.2012
Сообщений: 423
|
||||||
14.02.2013, 06:54 | 12 | |||||
считать не будет правильно, если с будет максимальным.
3
|
24 / 24 / 0
Регистрация: 26.01.2013
Сообщений: 300
|
|
14.02.2013, 09:17 [ТС] | 13 |
Благодарю,ребята! Сколько смог вам, столько и проставил "спасибо" дальше выключилась эта кнопка
0
|
39 / 39 / 5
Регистрация: 14.09.2012
Сообщений: 85
|
||||||
14.02.2013, 19:48 | 14 | |||||
Действительно, вот правильный способ:
1
|
24 / 24 / 0
Регистрация: 26.01.2013
Сообщений: 300
|
|
14.02.2013, 20:20 [ТС] | 15 |
а почему "void func(int &a, int &b)" написан в отдельном цикле от массивов? объясните, пожалуйста. &a,&b- это типа ввод адреса для переменных a и b?
0
|
2 / 2 / 1
Регистрация: 11.02.2013
Сообщений: 8
|
|
14.02.2013, 23:11 | 16 |
Venom33, int &a, int &b - это ссылки. Почитайте какую нибудь книжку чтоли по с++... Вопросов много сразу отпадет
1
|
24 / 24 / 0
Регистрация: 26.01.2013
Сообщений: 300
|
|
14.02.2013, 23:50 [ТС] | 17 |
меня только этот вопрос интересует так поему же в разных циклах написано? почему не в одном?
0
|
178 / 161 / 38
Регистрация: 08.10.2012
Сообщений: 423
|
|||||||||||
15.02.2013, 07:06 | 18 | ||||||||||
Не коректный вопрос. func это это внешняя функция. Внешние функции используют для:
1. Уменьшение количества кода 2. Уменьшение расхода динамической памяти 3. Улучшение читабельности кода 4. Особый случай когда функция рекурсивна и должна вызывать саму себя в данном случае функция выполняет 1 и 3 момент. т.е. смысл мне 3 раза менять местами переменные, если я могу 1 раз написать функцию и во входные данные кидать нужные мне значения. 2. случай тут не особо виден. Когда из мэйна идет переход в другую функцию, все элементы которые там создаются и никаким явным или неявным способом не передаются из неё удаляются после завершения. Для примера функция, на вход подается строка или указатель/ссылка на строку, не особо важно. строку нужно разбить на слова и вернуть обратно список слов. Мы заранее не знаем, сколько у нас слов строке, какого размера строка и т.д. Мы можем лишь предполагать. В функции мы можем создать чаровский двумерный массив (пусть будет buf) 1000 на 1000 элементов (это значит в него можно поместить 1000 отдельных подстрок длиною в 999 символов + нольбайт). Далее разбиваем слова вставляем каждое слово в отдельную ячейку массива buf. После проделанной операции мы уже точно знаем сколько слов у нас хранится во временном массиве. создаем динамический 2мерный массив размерностью m - количество строк в buf. И далее в цикле выделяем памяти ромно столько , какая длина слова в подстроке buf[i]. В итоге у нас получается на масив 1000х1000, на например 324хN где N - длина подстроки в каждом из подстрок. Чтобы было понятней вот так покажу.
а для того. тип char "весит" 1 байт => массив 1000х1000 будет весить 1000000 байт = 976 килобайт. А если быть точно уверенным что текст у нас будет максимально большой то сделать массив 10000х1000 такой уже будет весить 9.5 мегобайт. Только вот смысл ворочать им в теле программы если он нужно от него от силы 20-30% и нужен он нам лишь для того чтобы разбить строку на подстроки. В итоге после действия программы мы получим массив который будет мало "весить". А та здоровая дура самоаннигилируется после выполнения функции. Причем время выполнения её будет пару сотен миллисекунд. Вот в общем то зачем пишутся функции. Про рекурсию смысла нет особого рассказывать, т.к. чувствую ваш уровень не достаточен чтобы с моих слов её понять =)
1
|
24 / 24 / 0
Регистрация: 26.01.2013
Сообщений: 300
|
|
15.02.2013, 07:27 [ТС] | 19 |
вот ээто замечательно,благодарю. приду- спасибыы везде нажму
0
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
||||||
15.02.2013, 07:28 | 20 | |||||
От ТС, как я понял, хотели получить что то вроде такого:
1
|
15.02.2013, 07:28 | |
15.02.2013, 07:28 | |
Помогаю со студенческими работами здесь
20
Поменять значения переменных так, чтобы x1 < x2 > x3 < x4 Значение переменных поменять местами так, чтобы они оказались упорядоченными по возрастанию Значение переменных поменять местами так, чтобы они оказались упорядоченными по возрастанию Условный оператор: поменять значения переменных так, чтобы выполнилось условие Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |