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

Анаграммы(олимпиадная задача) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить среднее арифметическое положительных элементов http://www.cyberforum.ru/cpp-beginners/thread409638.html
задан массив Z(n) целых чисел.Найти максимальный элемент массива,и если это простое число-удалить все эллементы,равные максимальному значению.Определить среднее арифметическое положительных элементов массива после удаления.Упорядочить массив по убываню модулей
C++ Быстрый поезд Между двумя крупнейшими городами нашей страны Санкт-Петербургом и Москвой ежедневно совершают рейсы n поездов. Для каждого поезда известно его время отправления из Санкт-Петербурга и время прибытия в Москву. Найдите самый быстрый поезд и его скорость в предположении, что длина железной дороги между Санкт-Петербургом и Москвой равна 650 км. Входные данные Первая строка входного файла... http://www.cyberforum.ru/cpp-beginners/thread409636.html
Найти сумму положительных элементов последовательности C++
int below_zero = 0; int zero = 0; int after_zero = 0; for ( int i = 0; i < N; i ++ ) { if ( mas > 0 ) after_zero++; else if ( mas == 0 ) zero++; else below_zero++;
C++ Функция qsort для сортировки массивов структур
В общем есть структура struct User { int id; char nickname; int karma; };
C++ Лифт http://www.cyberforum.ru/cpp-beginners/thread409632.html
В доме Вилли установили скоростной лифт новой экспериментальной модели. В этом лифте кнопки с номерами этажей заменены двумя другими кнопками. При нажатии на первую кнопку лифт поднимается на один этаж вверх, а при нажатии на вторую – опускается на один этаж вниз. Младшему брату Вилли Дилли очень нравится кататься на новом лифте. Он катается на нём до тех пор, пока не побывает на каждом из...
C++ Решить задачку Когда встречаю эпсилон возникают проблемы, не пойму что это и как мудрить , знаю что надо использовать float и int все ) Умножить, сложить , квадрат и факториал это без проблем а это хз как мудрить, помогите решить и плз объясните )) Вот задача : картинка 13 кб. http://s017.***********/i437/1112/34/dfafd2b4a0b9.png подробнее

Показать сообщение отдельно
el_gato_de_Ch
35 / 35 / 1
Регистрация: 28.04.2013
Сообщений: 110
29.06.2013, 16:35     Анаграммы(олимпиадная задача)
ACCEPTED

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
36
37
38
39
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
 
int main()
{
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    
    string str1, str2;
    int s1[27], s2[27];
    memset(s1, 0, sizeof(s1));
    memset(s2, 0, sizeof(s2));
    
    cin >> str1 >> str2;
    
    if(str1.size() != str2.size())
    {
        cout << "NO";
        return 0;
    }
    
    for(int i = 0; i < str1.size(); ++i)
    {
        s1[str1[i] - 'A']++;
        s2[str2[i] - 'A']++;
    }
    
    for(int i = 0; i < 27; ++i)
        if(s1[i] != s2[i])
        {
            cout << "NO";
            return 0;
        }
    
    cout << "YES";
    return 0;
}
Добавлено через 39 секунд
на всякий случай включил проверку длин строк

UPD с одним массивом, решение изящнее, можно задействовать функцию accumulate()
 
Текущее время: 18:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru