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

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

Восстановить пароль Регистрация
 
almostclever
1 / 1 / 0
Регистрация: 04.03.2012
Сообщений: 101
05.04.2012, 16:41     Поменять символы одного массива на символы из другого #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     Поменять символы одного массива на символы из другого
Посмотрите здесь:

Поменять местами символы строки C++
Удалить из строки все символы встречающиеся более одного раза C++
В строке символов поменять местами символы на четных и нечетных позициях C++
C++ Поменять все символы строки на следующие по алфавиту
Поменять местами четные и нечетные символы слова C++
Поменять местами символы и слова C++
C++ Переписать символы из одного файла в друглй по n символов в строке
Как обрезать эффективно часть строки, составляющую последние символы "/" и следующие за ними символы? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrCold
851 / 749 / 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);
Yandex
Объявления
05.04.2012, 18:51     Поменять символы одного массива на символы из другого
Ответ Создать тему
Опции темы

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