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

Нужно еще два способа (вывести введенное слово наоборот) - C++

Восстановить пароль Регистрация
 
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 127
07.05.2013, 08:27     Нужно еще два способа (вывести введенное слово наоборот) #1
Ребят у меня программа выводит введенное слово наоборот(То есть ввожу привет, а выводит тевирп). Помогите сделать тоже самое только двумя другими способами. Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <string.h>
#include <conio.h>
 
int main ()
{
     char str[20];
     int n=0,i,j;
     printf("vvedite stroku\n");
     gets(str);
     for (i = strlen(str)-1; i >= 0; i--)
        printf("%c",str[i]);
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2013, 08:27     Нужно еще два способа (вывести введенное слово наоборот)
Посмотрите здесь:

C++ Вывести введенное нами слово, причем каждый символ слова на новой строке
C++ Вывести только предложения, содержащие введенное слово
Нужно в предложении каждое слово вывести наоборот C++
C++ Вывести только предложения, содержащие введенное слово (исправить)
C++ нужно удалить и вывести все символы после *(его не нужно выводить). я смог наоборот вывести всё до него! помоите
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rifle
 Аватар для Rifle
25 / 25 / 5
Регистрация: 15.11.2012
Сообщений: 93
Завершенные тесты: 4
07.05.2013, 08:45     Нужно еще два способа (вывести введенное слово наоборот) #2
Ну, как вариант, вот еще один:

C++
1
2
3
4
5
6
7
8
9
10
11
const int size = 20;
char str[size];
//здесь код ввода строки
 
for (int i=0, j=size-1; i<=size/2 && i <= j; i++, j--)
    {   
    char temp = str[i];
    str[i] = str[j];
    str[j] = temp;
    }
cout « str « endl;
Правда затестить сейчас не могу, все ли правильно.
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
07.05.2013, 08:46     Нужно еще два способа (вывести введенное слово наоборот) #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>     
#include <algorithm>    
#include <string>      
 
int main ()
{
     std::string str;
     std::getline(std::cin, str);
 
     std::reverse(str.begin(), str.end()); 
     std::cout<<str;
  
     return 0;   
}
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 127
07.05.2013, 08:50  [ТС]     Нужно еще два способа (вывести введенное слово наоборот) #4
Цитата Сообщение от Кудаив Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>     
#include <algorithm>    
#include <string>      
 
int main ()
{
     std::string str;
     std::getline(std::cin, str);
 
     std::reverse(str.begin(), str.end()); 
     std::cout<<str;
  
     return 0;   
}

Спасибо все работает)

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

C++
1
2
3
4
5
6
7
8
9
10
11
const int size = 20;
char str[size];
//здесь код ввода строки
 
for (int i=0, j=size-1; i<=size/2 && i <= j; i++, j--)
    {   
    char temp = str[i];
    str[i] = str[j];
    str[j] = temp;
    }
cout « str « endl;
Правда затестить сейчас не могу, все ли правильно.
Что-то как то не работает
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
07.05.2013, 08:51     Нужно еще два способа (вывести введенное слово наоборот) #5
Рекурсия же.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
void printReverseRecursive(const char *string) {
  if (*string != '\0') {
    printReverseRecursive(string + 1);
    std::cout << *string;
  }
}
 
int main(int argc, char *argv[]) {
  printReverseRecursive("privet");
}
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 127
07.05.2013, 08:52  [ТС]     Нужно еще два способа (вывести введенное слово наоборот) #6
Цитата Сообщение от lemegeton Посмотреть сообщение
Рекурсия же.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
void printReverseRecursive(const char *string) {
  if (*string != '\0') {
    printReverseRecursive(string + 1);
    std::cout << *string;
  }
}
 
int main(int argc, char *argv[]) {
  printReverseRecursive("privet");
}
Немного не так. Я ввожу любое слово и он должен его вывести наоборот
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
07.05.2013, 08:58     Нужно еще два способа (вывести введенное слово наоборот) #7
Цитата Сообщение от MishkaSh Посмотреть сообщение
Немного не так. Я ввожу любое слово и он должен его вывести наоборот
Этой фигней со стандартным вводом занимайтесь немного сами.
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 127
07.05.2013, 09:01  [ТС]     Нужно еще два способа (вывести введенное слово наоборот) #8
Цитата Сообщение от lemegeton Посмотреть сообщение
Этой фигней со стандартным вводом занимайтесь немного сами.
Покажи как
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
07.05.2013, 09:02     Нужно еще два способа (вывести введенное слово наоборот) #9
MishkaSh, да тем же gets ом прочитай
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
07.05.2013, 09:03     Нужно еще два способа (вывести введенное слово наоборот) #10
MishkaSh, имеется ввиду код ввода строки пишите сами а дальше вызываете функцию рекурсивную и получаете ответ
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 127
07.05.2013, 09:13  [ТС]     Нужно еще два способа (вывести введенное слово наоборот) #11
Все равно не понял
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
07.05.2013, 09:17     Нужно еще два способа (вывести введенное слово наоборот) #12
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>
#include <iostream>
 
void printReverseRecursive(char *string) {
  if (*string != '\0') {
    printReverseRecursive(string + 1);
    std::cout << *string;
  }
}
 
int main(int argc, char *argv[]) {
    char str[20];
     int n=0,i,j;
     printf("vvedite stroku\n");
     gets(str);
  printReverseRecursive(str);
}
и что тут не понятного,
lemegeton, надеюсь простите , что использовал ваш код, от своего имени, а еще убрал в нем const, на сколько помню клмпилятор бы обругал несовместимость типов
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
07.05.2013, 09:24     Нужно еще два способа (вывести введенное слово наоборот) #13
Цитата Сообщение от Nixy Посмотреть сообщение
lemegeton, надеюсь простите , что использовал ваш код, от своего имени
Да пожалуйста.
Цитата Сообщение от Nixy Посмотреть сообщение
убрал в нем const, на сколько помню клмпилятор бы обругал несовместимость типов
Да нет, не-конст в конст превращается легко.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2013, 09:27     Нужно еще два способа (вывести введенное слово наоборот)
Еще ссылки по теме:

C++ Вывести предложения, которые содержат введенное с клавиатуры слово
Вывести на экран предложения из файла, которые содержат введенное с клавиатуры слово C++
C++ Вывести те из предложений, в которых встречается слово, введенное пользователем

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

Или воспользуйтесь поиском по форуму:
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 127
07.05.2013, 09:27  [ТС]     Нужно еще два способа (вывести введенное слово наоборот) #14
Цитата Сообщение от Nixy Посмотреть сообщение
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>
#include <iostream>
 
void printReverseRecursive(char *string) {
  if (*string != '\0') {
    printReverseRecursive(string + 1);
    std::cout << *string;
  }
}
 
int main(int argc, char *argv[]) {
    char str[20];
     int n=0,i,j;
     printf("vvedite stroku\n");
     gets(str);
  printReverseRecursive(str);
}
и что тут не понятного,
lemegeton, надеюсь простите , что использовал ваш код, от своего имени, а еще убрал в нем const, на сколько помню клмпилятор бы обругал несовместимость типов
Спасибо большое
Yandex
Объявления
07.05.2013, 09:27     Нужно еще два способа (вывести введенное слово наоборот)
Ответ Создать тему
Опции темы

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