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

Заданы две строки. Можно ли переставить буквы в одном из слов так, чтобы слова стали одинаковыми? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ с чего начать новичку С++ без опыта работы? http://www.cyberforum.ru/cpp-beginners/thread789112.html
Такая проблема. Есть человек, прочитал 2 книжки по языку С++. Программистом конечно не назовёшь, но так, кодер нормальный. Как развиваться дальше? Можно конечно прочитать ещё книгу по С++ и ещё, и ещё, ... Но там по сути одно и то же читать будешь. Нужно что-то другое. Так ведь и на работу не устроиться (это самая главная беда). В вакансиях программистов С++ указано, что надо иметь опыт работы...
C++ Задано целое число N. Найдите сумму простых чисел до N С. Задано целое число N. Найдите сумму простых чисел до N. 1<=N<=1000 C.in 5 C.out 10 comment (2+3+5=10) http://www.cyberforum.ru/cpp-beginners/thread789109.html
C++ Дается строка. Нужно вывести все цифры, которые встречаются в ней и их количество
B. Дается строка S. Нужно вывести все цифры, которые встречаются в ней и их количество. 1<=|S|<=1000 B.in 90109914 B.out 0 2 1 2 4 1 9 3
составить программу с исп. рекурсии и без нее C++
Вычислить √(1+√(2+√(3+ √n )) ) Написать написано, а вот рекурсия работает не так #include<iostream.h> #include<math.h> double f(int n) { if (n==1) return 1; else
C++ Макросы в С++ http://www.cyberforum.ru/cpp-beginners/thread789085.html
Доброго времени суток. Подскажите, где можно почитать про написание макросов для классов? У меня есть класс class Transition { friend class StateMachine; protected: string from; string to; State *fromRef, *toRef; virtual bool checkCondition(StateMachine *m) = 0;
C++ программа,позволяющая для заданного целочисленного объекта (int) определить количество ведущих единиц младшей его тетрады огрооомная просьба помочь: Представить программу, позволяющую для заданного целочисленного объекта (int) определить количество ведущих единиц младшей его тетрады подробнее

Показать сообщение отдельно
lemegeton
2917 / 1346 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
23.02.2013, 09:13     Заданы две строки. Можно ли переставить буквы в одном из слов так, чтобы слова стали одинаковыми?
Хм. Неплохая идея. Тогда можно упростить и не городить дерево, воспользоваться массивом и посчитать количество символов в строках.

Добавлено через 20 часов 7 минут
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
30
31
32
33
34
35
#include <iostream>
#include <cstring>
 
bool isAnagram(const char *a, const char *b) {
  const int numberOfCharacters = 256;
  if (strlen(a) != strlen(b)) {
    return false;
  }
 
  int count[numberOfCharacters];
  for (int i = 0; i < numberOfCharacters; ++i) {
    count[i] = 0;
  }
 
  while (*a != '\0' || *b != '\0') {
    ++count[*a++];
    --count[*b++];
  }
 
  for (int i = 0; i < numberOfCharacters; ++i) {
    if (count[i] != 0) {
      return false;
    }
  }
 
  return true;
}
 
int main(int argc, char **argv) {
  std::cout << ((isAnagram("aabbb", "bcabb")) ? "yes" : "no") << std::endl;
  std::cout << ((isAnagram("acbbb", "bcabb")) ? "yes" : "no") << std::endl;
 
  std::cin.get();
  return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru