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

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

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

Поменять символы одного массива на символы из другого - C++

05.04.2012, 16:41. Просмотров 569. Ответов 1
Метки нет (Все метки)

Нужно поменять символы одного массива на символы из другого.
К примеру: дано слово programming, алфавит abcdefgjklmnoprst..., p меняется на a, r меняется на b и так далее.

C++
1
2
3
4
5
6
7
8
9
10
11
wordlen=strlen(word);
      lozunglen=strlen(lozung);
      
      for(i=0;i<wordlen;i++)
      {
                        for(j=0;j<lozunglen;j++);
                        {
                        word[i]=lozung[j];
                        printf("%c",word[i]);
                        }
                        }
Неправильно, но все же пытался.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2012, 16:41     Поменять символы одного массива на символы из другого
Посмотрите здесь:

Широкие символы wchar_t wstring не хотят принимать русские символы - C++
Собственно вопрос в шапке, вот примеры: std::wstring str = L&quot;блин комом&quot;; и такое: wchar_t stroka = L&quot;abcdefghijklmnopqrstuvwxyz...

Вывести на экран в первой строке нечетные символы, во второй четные символы исходной строки - C++
Помогите написать 3 программы. (на С или С++) 1. Вывести на экран в первой строке нечетные символы, во второй четные символы исходной...

Поменять местами символы строки - C++
ребят...ткните где у меня ошибки... #include &quot;stdafx.h&quot; #include &lt;string&gt; #include &quot;conio.h&quot; #include &lt;iostream&gt; using...

Поменять местами символы и слова - C++
Помогите, пожалуйста! Есть строчка &quot;abc dcf ghi&quot;. Написать функцию, которая меняет местами символы (то есть получится &quot;cba fcd ihg&quot;)....

Алфавит. Символы операций. Специальные символы - C++
Алфавит. Символы операций. Специальные символы. Один из вопросов билета, предстоящего мне экзамена. 1.Не могу найти в чем разница...

Переписать символы из одного файла в друглй по n символов в строке - C++
Пожалуйста,срочно. Сформировать текстовый файл f1.Переписать символы из файла f1 в файл f2 по n символов в строке.

Поменять местами четные и нечетные символы слова - C++
Как поменять местами четные и нечетные символы слова? Заранее спс!

Поменять все символы строки на следующие по алфавиту - C++
#include &lt;iostream&gt; #include &lt;string&gt; using namespace std; void increase(string *p) { for(int i=0; i&lt;p-&gt;size(); i++) { ...

Удалить из строки все символы встречающиеся более одного раза - C++
ввести символьную строку удалить из строки все символы встречающиеся более одного раза #include &lt;string.h&gt; #include &lt;conio.h&gt; ...

Дан файл, компонентами которого являются символы. Переписать все символы в новый файл в обратном порядке. - C++
Работа с текстовыми файлами. Дан файл, компонентами которого являются символы. Переписать все символы в новый файл в обратном порядке.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrCold
854 / 752 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
05.04.2012, 18:51     Поменять символы одного массива на символы из другого #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вариант со строкой
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 <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
 
int main ()
{
  char str1[]= "Maximum number of characters to be copied from source.";
  char str2[]= "abcdefghijklmnopqrstuvwxyz";
   size_t flag = 1;
  size_t i = 0;
  size_t j = 0;
 
  while(str1[i]){
        if(isalpha(str1[i]))flag = 1;
        else flag = 0;
        if(flag) {
            str1[i] = str2[j];
            j++;
            }
            if(!flag) j = 0;
            i++;
        }
  puts (str1);
 
 
system("pause");
    return 0;
}
Добавлено через 24 минуты
almostclever, если разбивка на слова не нужна то
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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
 
int main ()
{
  char str1[]= "Maximum number of characters to be copied from source.";
  char str2[]= "abcdefghijklmnopqrstuvwxyz";
 
  size_t i = 0;
  size_t j = 0;
 
  while(str1[i]){
       if(j >= strlen(str2)) j = 0;
            str1[i] = str2[j];
            j++;
          i++;
        }
  puts (str1);
 
 
system("pause");
    return 0;
}
Добавлено через 23 минуты
Первую можно без флагов
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  size_t i = 0;
  size_t j = 0;
 
  while(str1[i]){
 
        if(isalpha(str1[i]))
        {
            str1[i] = str2[j];
            j++;
            }
            else j = 0;
            i++;
        }
  puts (str1);
Ответ Создать тему
Опции темы

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