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

Инверсия - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
CruSanodeR
0 / 0 / 0
Регистрация: 18.10.2012
Сообщений: 27
12.12.2012, 21:21     Инверсия #1
Нужно написать программу, на входе (без клавиатуры) подается a b c на выходе c b a. Сможете кто нибудь написать эту прогу?
Прога на C++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2012, 21:21     Инверсия
Посмотрите здесь:

C++ инверсия
C++ двумерный масив инверсия спирали
C++ Инверсия
C++ Инверсия в массиве
Инверсия мыши C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.12.2012, 23:25     Инверсия #21
Цитата Сообщение от Vourhey Посмотреть сообщение
Нет, не забыл
Забыли.
Цитата Сообщение от Vourhey Посмотреть сообщение
Добавь:
Потом я вижу вспомнили.
Класс std::string описан в <string>. Не спорте. Со всеми бывает.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6469 / 2244 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
12.12.2012, 23:27     Инверсия #22
Цитата Сообщение от go Посмотреть сообщение
Забыли.
Нет, не забыл. Оно там и не нужно в моем случае. В его - да.

Добавлено через 52 секунды
Цитата Сообщение от go Посмотреть сообщение
Класс std::string описан в <string>. Не спорте.
Дааа? Ну держи:
vourhey@vourhey-desktop ~/Documents/projs/cpp $ cat main.cpp
#include <iostream>
#include <iterator>
#include <algorithm>

int main()
{
std::string a;
std::getline(std::cin, a);
std::reverse_copy(a.begin(), a.end(), std::ostream_iterator<char>(std::cout));
}
vourhey@vourhey-desktop ~/Documents/projs/cpp $ g++ main.cpp
vourhey@vourhey-desktop ~/Documents/projs/cpp $
Поэтому, нет, не забыл.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.12.2012, 23:33     Инверсия #23
Цитата Сообщение от Vourhey Посмотреть сообщение
Оно там и не нужно в моем случае.
А что на Вас свет клином сошелся? То, что он реализован у Вас в iostream, не значит, что он реализован у всех так.
Vourhey
Почетный модератор
6469 / 2244 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
12.12.2012, 23:35     Инверсия #24
Цитата Сообщение от go Посмотреть сообщение
А что на Вас свет клином сошелся?
А что я должен на кого-то еще смотреть?
Цитата Сообщение от go Посмотреть сообщение
То, что он реализован у Вас в iostream, не значит, что он реализован у всех так.
То, что он реализован не у всех так, меня не волнует. Если это волнует тебя, то это твое личное дело.
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
12.12.2012, 23:37     Инверсия #25
Это все клёво, но вот как человек будет лабу сдавать? Если он просто местами не может поменять переменные, а вы ему тут такие конструкции. Или человек разберется?
Vourhey
Почетный модератор
6469 / 2244 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
12.12.2012, 23:39     Инверсия #26
Цитата Сообщение от Wolkodav Посмотреть сообщение
Это все клёво, но вот как человек будет лабу сдавать?

Не по теме:

Как будто кого-то это заботит.


Цитата Сообщение от Wolkodav Посмотреть сообщение
Если он просто местами не может поменять переменные, а вы ему тут такие конструкции. Или человек разберется?

Не по теме:

Вот именно, что, если бы хотел разобраться, написал бы хоть что-то. А когда не хочет - можно писать что угодно и как угодно, разницы никакой в итоге не будет.

go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
12.12.2012, 23:42     Инверсия #27
Цитата Сообщение от Vourhey Посмотреть сообщение
А что я должен на кого-то еще смотреть?
На того для кого пишешь.
Цитата Сообщение от Vourhey Посмотреть сообщение
То, что он реализован не у всех так, меня не волнует.
Посмотри как люди пишут. Так принято, пойми.
CruSanodeR, держи очень просто на Си(думаю С++ многое не знаете), чтобы сдать
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <string.h>
 
int main(void)
{
   char s[] = "a b c";
   
   for (int i = 0, j = strlen(s) - 1; i < j; ++i, --j)
   {
      int t = s[i];
      s[i] = s[j];
      s[j] = t;
   }
   
   printf("%s\n", s);
   
   return 0;
}
http://liveworkspace.org/code/36UlAZ$1
Bash
1
2
stdout: 
c b a
Добавлено через 31 секунду

Не по теме:

Цитата Сообщение от Vourhey Посмотреть сообщение
Как будто кого-то это заботит.
Нормально человека.

Vourhey
Почетный модератор
6469 / 2244 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
12.12.2012, 23:52     Инверсия #28
Цитата Сообщение от go Посмотреть сообщение
На того для кого пишешь.
А я пишу не для него.
Цитата Сообщение от go Посмотреть сообщение
Посмотри как люди пишут. Так принято, пойми.
Что принято? Где принято? Кем принято? Где свод этих правил "как люди пишут", а "как не пишут"?

Добавлено через 2 минуты
Цитата Сообщение от go Посмотреть сообщение
Нормально человека.

Не по теме:

Есть какой-то свод характеристик, что считать нормальным, а что нет?
Ну тебя заботит, радуйся этому, пиши и улыбайся. А меня не заботит то, сдаст кто-то что-то, или не сдаст. Вот абсолютно по боку. И все нормальны.



Добавлено через 2 минуты
Именно по этим причинам, <string> там и не нужен. По факту. Как это работает у него и как он с этим планирует разбираться - исключительно его задача. Ну и твоя тоже, раз ты такой альтруист
activnaya
 Аватар для activnaya
255 / 45 / 2
Регистрация: 24.11.2012
Сообщений: 466
13.12.2012, 00:55     Инверсия #29
Цитата Сообщение от go Посмотреть сообщение
for (int i = 0, j = strlen(s) - 1; i < j; ++i, --j)
strlen() лучше вычислять предварительно и результат закладывать в регистр, иначе она будет вызываться на каждой итерации цикла.
по теме:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cstdint>
 
uint32_t foo (register uint32_t x)
{
    x = (((x & 0xaaaaaaaa) >> 1) | ((x & 0x55555555) << 1));
    x = (((x & 0xcccccccc) >> 2) | ((x & 0x33333333) << 2));
    x = (((x & 0xf0f0f0f0) >> 4) | ((x & 0x0f0f0f0f) << 4));
    x = (((x & 0xff00ff00) >> 8) | ((x & 0x00ff00ff) << 8));
 
    return((x >> 16) | (x << 16));
}
 
int main()
{
    uint32_t x = 0xaabbccdd;
 
    std::cout << std::hex << foo (x) << '\n';
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2012, 20:22     Инверсия
Еще ссылки по теме:

Инверсия строк C++
C++ Инверсия в массиве
C++ Инверсия нужно исправить ошибку

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

Или воспользуйтесь поиском по форуму:
Wolkodav
 Аватар для Wolkodav
599 / 452 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
13.12.2012, 20:22     Инверсия #30
Ладно, надеюсь что человек сдаст свою лабу, а это пора заканчивать.
Yandex
Объявления
13.12.2012, 20:22     Инверсия
Ответ Создать тему
Опции темы

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