В данном тексте найти наиболее часто встречающуюся последовательность символов максимальной длины

Май 12
2009

Для написания программы, которая будет искать в тексте последовательность символов максимальной длины, встречающуюся чаще всех остальных последовательностей, необходимо составить историю действий. Программа будет делить строку на равные части, сначала на 2, потом на 3 и так до длины строки, и сравнивать первую часть последовательности со второй.

Например, строку “aabb” при делении на 2 получаем две последовательности: “aa” и “bb”, затем “aa” сравниваем с “bb”. Если первая последовательность равна второй, то указываем, что последовательность “aa” встречается в тексте 2 раза, иначе 1 раз. В данном случае “aa” встречается 1 раз. В конце выполняем поиск из последовательностей символов, которые встречаются наиболее часто, и выбираем последовательность максимальной длины.
Запоминать последовательности и количество вхождений этих последовательностей будем в структуре, создадим ее:

public struct Symbols
{
string words;
int kolvo;

public Symbols(string w, int k)
{
words = w;
kolvo = k;
}
public string Words
{
get { return words; }
set { words = value; }
}
public int Kolvo
{
get { return kolvo; }
set { kolvo = value; }
}
};

Чтобы не добавлять в структуру одинаковые последовательности, напишем функцию, которая будет возвращать логическую “ложь” в том случае, если последовательность уже имеется в структуре: Подробнее »

Поиск чисел Пифагора в заданном диапазоне

Апр 23
2009

Статья посвящена числам Пифагора, научимся находить их, используя программу на C#, которую мы сейчас напишем. Сначала мы должны знать, что такое число Пифагора? Число Пифагора – это число в квадрате, которое равно сумме квадратов других двух чисел.

Начнем реализацию программы с создания формы.
cisla_piphagora
Сразу можно создать событие выхода из программы, для этого два раза кликните по кнопке “Выход” и пропишите в процедуру следующий:

this.Dispose(); //Принудительно завершаем работу программы

Таким же образом создайте событие клика по кнопке “Найти”. Начинаем писать программный код для поиска чисел Пифагора.
Очистим поле результатов поиска и объявим нужные переменные.

lstFinds.Items.Clear(); //очищаем результаты поиска
int i1, i2, i3, a, b; //первое, второе и третье числа, диапазон поиска

Выполним проверку на заполнение полей диапазона.

if (txtDiapFirst.Text != "" && txtDiapSecond.Text != "") //если диапазон указан

Подробнее »

Вещественная матрица размером 100 x 200 на Pascal

Апр 19
2009

В данной статье я разберу следующую задачку:
• С помощью динамических переменных реализуйте вещественную матрицу размером 100 x 200. Каждому элементу матрицы присвойте случайное значение из заданного диапазона. Отсортируйте элементы массива по сквозному порядку их размещения в матрице как в одномерном массиве. Выдайте на экран первую подматрицу размером 10 x 13. Для сортировки используйте метод пузырька.

Реализовать программный код будем на языке Pascal. Сначала подключим модуль “CRT” для работы с экраном, объявим необходимые переменные, нужные для выполнения поставленной задачи. Подробнее »

Работа со структурами в C++

Апр 11
2009

В этой статье вы узнаете, что такое структура и как с ней работать на C++. И так, начнем с определения структуры.
Структура – это тип данных, который состоит из одного или множества других типов. Чтобы обратиться к этим типам, присвоить или взять значение, нужно иметь доступ к структуре.

Сначала инициализируем структуру, делаем все границ всех процедур и функций:

struct STRUCTURA
{
char* PEREM1;
int PEREM2;
};

Здесь мы инициализировали структуру с именем “STRUCTURA” и двумя переменами (символьного типа и числового). Для работы со структурой нужно создать ее с заданием длины структуры и переменной, которая будет работать с ней:

STRUCTURA str[5];

Для ввода данных в структуру необходимо обращаться к нужному элементу структуры. Для этого создадим процедуру, в которой будет происходить заполнения структуры:

void input(STRUCTURA * str)
{
for (int i = 0; i < 5; i++)
{
cout << i+1 << "элемент структуры - PEREM1";
cin >> str[i]. PEREM1;
cout < < i+1 << "элемент структуры – PEREM2";
cin >> str[i]. PEREM2;
cout< }
}

Подробнее »

Случайный вывод текста из файла на PHP

Апр 11
2009

Сегодня мы поговорим о том, как вывести текст из файла на PHP, но не просто вывести, а случайно. Сначала создадим файл “data.txt”, из которого будет считываться текст, и выводиться на экран. Каждый новый текст записываем на новой строчке файла. Скрипт имеем возможность вывода определенного количества строк.

Рассмотрим код программы:

< ?php
$input = array_map('trim',file("data.txt"));
$count=count($input);
$max = 0; // 0 - выводит весь текст
if($max > $count || $max == 0)
$max = $count;
srand ((float) microtime() * 10000000);
$rand_keys = array_rand ($input, $count);
for ($i=0; $i< $max;$i++)
echo $input[$rand_keys[$i]] . "
";
?>

Подробнее »

Как найти все цифры числа 100!.

Апр 10
2009

Как найти все цифры числа 100!?

Вы никогда не задавали себе этот вопрос? Это очень интересный вопрос, ведь используя, стандартный калькулятор Windows вы получите укороченную версию этого числа. Даже написав функцию вычисления факториала просто нельзя поместить ни в одну числовую переменную все цифры факториала 100, т.к. оно состоит из 158 цифр. О каких цифрах идет речь и как их получить, мы поговорим в этой статей.

Начнем с того, нам нужно написать собственную функцию умножения, так как мы умножаем на простом листке бумаги. Она будет умножать числа вида [999] * [9], т.е. числа, которые содержать одну или несколько цифр на числа, содержащие одну цифру.

string mnog(string s, int i)
{
string res = "";
int x = 0, d, cifra = 0;
for (int j = s.Length - 1; j >= 0; j--)
{
cifra = Convert.ToInt32(s.Substring(j, 1)) * i + x;
if (j != 0)
{
d = cifra % 10;
x = cifra / 10;
}
else
d = cifra;
res = Convert.ToString(d) + res;
}
return res;
}

Входные параметры s и i – это числа, которые необходимо перемножить, соответствует выражению s * i. Алгоритм работы данной функции заключается в следующем:

  1. Извлекаем j-ю цифру из строки s (в начале это последняя цифра), умножаем ее на i и прибавляем значение полученное в пункте №3;
  2. Получаем остаток от деления вычисленного значения на число 10;
  3. Получаем результат от целочисленного деления вычисленного значения на 10;
  4. Добавляем вычисленное значение из пункта №2 к результату;
  5. Повторяем пункты №1 – №4 пока не дойдем до первой цифры из строки s. Переходим к пункту №6;
  6. Повторяем пункты №1 и №4, завершаем выполнение операции умножения.

Подробнее »

Добавление статей и исходников

Апр 09
2009

На сайт постоянно добавляются новые статьи и исходники, которые можно по праву считать интересными и полезными, их вы можете найти только на моем блоге, т.к. я сам занимаюсь написанием статей и созданием программ для Windows. Заходите на сайт по чаще и вы всегда сможете найти интересующую вас информацию.

Поиск чисел, равных сумме факториалов своих цифр

Апр 08
2009

В этой статье вы узнаете, как решить и написать следующую задачу на C#:

  • Найти числа, равные сумме факториалов своих цифр. Например, 1!+4!+5! = 145

Как эта задача решается? Мы устанавливаем диапазон чисел, среди которых будем искать такие числа, которые равны сумме факториалов своих цифр. Дальше находим факториал каждой цифры данного числа, суммируем суммы факториалов и проверяем на равенство: [сумма] = [число], где [сумма] – это, найденная сумма факториалов всех цифр данного числа, а [число] – данное число в диапазоне. Подробнее »

Замена слов на синонимы на PHP

Апр 07
2009

Очень популярная тема для Web-Мастеров на сегодняшний день – это встраивание в свой сайт скрипт автоматической замены слов на синонимы или еще его называют синонимайзер. Синонимайзер используют для SEO оптимизации контента сайта, т.е. для уникализации текста на сайте. Подробнее »

PHP и MySQL запросы

Апр 06
2009

PHP и MySQL запросы, сегодня мы поговорим об этой очень интересной теме, особенно это будет полезно для начинающих программистов PHP, работающих с MySQL запросами.

Рассмотрим следующие команды SQL:
SELECT, INSERT, DELETE, UPDATE и REPLACE.

Так что же такое запрос? Запрос – это объект, с помощью которого можно получить или нужные данные из одной или нескольких таблиц, а также произвести добавление, обновление или удаление данных. Подробнее »

Получить все числа в диапазоне от 1 до kkk…kkk (всего n цифр) в системе счисления k

Апр 06
2009

В этой статье я хочу рассмотреть задачу:
Получить все числа в диапазоне от 1 до kkk…kkk (всего n цифр) в системе счисления k. K и n вводятся с клавиатуры.

Основное, что должны сделать – это найти общее количество чисел, которые нужно декодировать в систему счисления k и саму декодировку чисел. Количество чисел должно вычисляться по формуле: max = k в степени n – 1, где max – общее количество чисел. Декодировка должна быть универсальна, т.е. переводить десятичное число в любую систему счисления. Подробнее »

Новый раздел «Исходники»

Апр 05
2009

На блоге опубликовано некоторое количество исходных кодов, создан соответствующий раздел.
Он будет постоянно наполнятся новыми исходниками.

Переставить числа 0, 1 и 2 в порядке возрастания, используя перестановку 2-х элементов

Апр 05
2009

В данной статье будет разобрано решение следующей задачи:
В массиве стоят числа 0, 1 и 2. Переставить их в порядке возрастания, если единственной разрешенной операцией (помимо чтения) над массивом является перестановка двух элементов.

Реализовать программный код будем на C# в среде разработки Visual Studio 2008 как Windows приложение с формами.
Начинаем, конечно, с создания проекта с формой. На форме нужно разместить следующие объекты: Подробнее »

Вычислить сумму каждой рядом стоящей группы чисел на C#

Апр 04
2009

В данной статье будет разобрано решение следующей задачи:
Дан массив a[1]..a[n] и число m <= n. Для каждой группы из m стоящих рядом членов (таких групп, очевидно, n-m+1) вычислить ее сумму.

Как мы решим эту задачку? Сразу хочу скачать, реализовать программу будем на C# в среде разработки Visual Studio 2008 как Windows приложение с формами.

Так что необходимо сначала создать проект с формой, разместить на ней все объекты как показано на картинке ниже Подробнее »

Поиск наибольшего общего делителя двух чисел (НОД)

Апр 04
2009

Если у вас возник вопрос, как найти наибольший общий делитель двух чисел (НОД), то эта статья именно для вас. Для решения этой задачи рассмотрим алгоритм Евклида нахождения наибольшего общего делителя.

Задача на самом деле очень простая, нужно только разобраться в этом алгоритме. Этим мы и займемся. Подробнее »

Статистика