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

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

Войти
Регистрация
Восстановить пароль
 
anubis1768
4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
#1

Свинячья латынь( работа с С-строками ) - C++

27.03.2013, 22:47. Просмотров 542. Ответов 2
Метки нет (Все метки)

Задание такое: вводится строка и нудно ее перевести в такую латынь. Алгоритм такой: первую букву поставить в конец слова и добавить к концу слова "ау". Получается из слова "the" - "hetay", "computer" - "omputercay" и тд. Вроде бы все должно работать, но программа виснет. Подскажите, где у меня ошибка.
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
27
28
29
#include <iostream>
#include <cstring>
 
char* latin( char* );
 
int main() {
    char a[200];    
    std::cin.getline( a, 200 );
    
    char* tmp = std::strtok( a, " " );
    std::cout << latin( tmp );
    
    do {
        tmp = std::strtok( NULL, " " );
        std::cout << " " << latin( tmp );
        
    }   while( tmp != NULL );
 
    return 0;
}
 
char* latin( char* source ) {
 
    source[std::strlen( source )] = source[0];
    source = &source[1];    
    std::strcat( source, "ay" );
    
    return source;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2013, 22:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Свинячья латынь( работа с С-строками ) (C++):

Программа вылетает по завершению.Свинячья латынь - C++
Здравствуйте. Пишу программу Свинячья латынь. Смысл программы разбить строку на отдельные слова, первую букву переставить в конец и...

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

Работа с строками - C++
Здравствуйте! Есть строка (предложение) надо убрать все пробелы, в т. ч. в начали конце и получить количество слов в этом предложении. ...

Работа со строками - C++
#include &quot;Stdafx.h&quot; #include &quot;conio.h&quot; using namespace std; int main(){ const char* a = {&quot;000&quot;,&quot;111&quot;,&quot;222&quot;,&quot;333&quot;}; const char b...

Работа со строками - C++
Есть задание: Код, который давали на лекции int main() { char s = { 0 }; gets_s(s); int len = strlen(s);

Работа со строками. - C++
Лишние пробелы. Дана строка, состоящая из слов, разделенных пробелами. Напишите программу, удаляющую лишние пробелы. Пробел считается...

2
Байт
Эксперт C
16328 / 10604 / 1587
Регистрация: 24.12.2010
Сообщений: 20,218
27.03.2013, 23:20 #2
Цитата Сообщение от anubis1768 Посмотреть сообщение
Вроде бы все должно работать, но программа виснет.
Память портишь.
1
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
27.03.2013, 23:39 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cstring>
 
char *transform(char *source, char *destination) {
  size_t sourceLength = strlen(source);
  if (sourceLength > 1) {
    strcpy(destination, source + 1);
  }
  destination[sourceLength - 1] = *source;
  destination[sourceLength] = '\0';
  strcat(destination, "ay");
  return destination;
}
 
int main(int argc, char **argv) {
  char string[] = "computer";
  char buffer[sizeof(string) + 2];
  std::cout << transform(string, buffer) << std::endl;
  return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2013, 23:39
Привет! Вот еще темы с ответами:

Работа с строками - C++
С клавиатуры вводится строка. Разработать программу, которая реализует указанные действия. а) замінює всі великі літери, що входять до...

Работа со строками C++ - C++
Решил посвятить этой проблеме отдельную тему. В попытке написать ответ к этой задаче на С++ запнулся на работе со строками. Собственно...

Работа со строками - C++
Даны строки S1 и S2. Удалить из строки S1 последнюю подстроку, совпадающую с S2. Если совпадающих подстрок нет, то вывести строку S1 без...

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


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

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

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