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

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

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

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

07.05.2013, 08:27. Просмотров 1071. Ответов 13
Метки нет (Все метки)

Ребят у меня программа выводит введенное слово наоборот(То есть ввожу привет, а выводит тевирп). Помогите сделать тоже самое только двумя другими способами. Вот код:
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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2013, 08:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нужно еще два способа (вывести введенное слово наоборот) (C++):

Нужно в предложении каждое слово вывести наоборот - C++
Т.е. дано, к примеру, предложение (любые символы разделенные пробелами): ab cd ef, программа должна вывести ba dc fe. Вот я написал код,...

нужно удалить и вывести все символы после *(его не нужно выводить). я смог наоборот вывести всё до него! помоите - C++
#include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;string&quot; #include &quot;conio.h&quot; using namespace std; int _tmain(int argc, _TCHAR*...

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

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

Вывести предложения, которые содержат введенное с клавиатуры слово - C++
Никак не могу написать программу которая считывает текст вводимый с клавиатуры и выводит на экран только предложения, содержащее введенное...

Вывести определенную строку в ответ на введенное определенное слово - C++
Хочу написать программу, которая выводит определенную фразу в ответ на введенное определенное имя, но не могу понять как заставить...

13
Rifle
26 / 26 / 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;
Правда затестить сейчас не могу, все ли правильно.
0
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 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;   
}
1
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 130
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;
Правда затестить сейчас не могу, все ли правильно.
Что-то как то не работает
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
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");
}
0
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 130
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");
}
Немного не так. Я ввожу любое слово и он должен его вывести наоборот
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
07.05.2013, 08:58 #7
Цитата Сообщение от MishkaSh Посмотреть сообщение
Немного не так. Я ввожу любое слово и он должен его вывести наоборот
Этой фигней со стандартным вводом занимайтесь немного сами.
0
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 130
07.05.2013, 09:01  [ТС] #8
Цитата Сообщение от lemegeton Посмотреть сообщение
Этой фигней со стандартным вводом занимайтесь немного сами.
Покажи как
0
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
07.05.2013, 09:02 #9
MishkaSh, да тем же gets ом прочитай
0
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
07.05.2013, 09:03 #10
MishkaSh, имеется ввиду код ввода строки пишите сами а дальше вызываете функцию рекурсивную и получаете ответ
0
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 130
07.05.2013, 09:13  [ТС] #11
Все равно не понял
0
Nixy
ComfyMobile
400 / 281 / 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, на сколько помню клмпилятор бы обругал несовместимость типов
1
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
07.05.2013, 09:24 #13
Цитата Сообщение от Nixy Посмотреть сообщение
lemegeton, надеюсь простите , что использовал ваш код, от своего имени
Да пожалуйста.
Цитата Сообщение от Nixy Посмотреть сообщение
убрал в нем const, на сколько помню клмпилятор бы обругал несовместимость типов
Да нет, не-конст в конст превращается легко.
0
MishkaSh
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 130
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, на сколько помню клмпилятор бы обругал несовместимость типов
Спасибо большое
0
07.05.2013, 09:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2013, 09:27
Привет! Вот еще темы с ответами:

Вывести только предложения, содержащие введенное слово (исправить) - C++
Помогите пожалуйста найти ошибки!!! Программа вроде запускается, но файл не находит!!! Написать программу, которая считывает текст из...

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

Cчитать текст и вывести на экран только предложения, содержащие введенное с клавиатуры слово. - C++
Написать программу, которая считывает текст и выводит на экран только предложения, содержащие введенное с клавиатуры слово. #include...

Вывести введенное нами слово, причем каждый символ слова на новой строке - C++
Подскажите, как можно сделать, чтобы на любое введенное нами слово, вывод происходил не просто в 1 строку все слово (это вроде итак...


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

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

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