Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

можно написать ее как то проще ? - C++

30.05.2012, 17:38. Просмотров 416. Ответов 4
Метки нет (Все метки)

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
40
#include <stdio.h>
#include <locale.h>
#include <string>
#include <conio.h>
 
 
int main()
{
    setlocale(LC_CTYPE, "rus");
    char str[256];
    printf("Введите строку: ");
    gets(str);
    int k;
    bool flag;
 
 
    for (int i = 0; i < strlen(str); i++)
    {
        if (strlen(str)%(i+1) == 0)
        {
            k = 0;
            flag = true;
 
            for (int j = i+1; j < strlen(str); j +=i+1)
            {
                if (strncmp(&str[j%(i+1)], &str[j], i+1)) flag = false;
            }
 
            if (flag) k = strlen(str)/(i+1);
        }
 
        if (k)
        {
            printf("k = %d\n", k);
            break;
        }
    }
    getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2012, 17:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос можно написать ее как то проще ? (C++):

Можно ли это написать как то проще - C++
#include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; using namespace std; /* В одномерном...

Нужно написать программку по заданию, используя функции, как можно проще - C++
Дан интервал натуральных чисел . Напечатать на экране все те числа, которые принадлежат этому интервалу и которые можно выразить как сумму...

нужно решить как можно проще - C++
в текстовом файле подсчитать количество строк, которые начинаются и оканчиваются одной и той же буквой

Сочините пример как можно проще на сдвиг - C++
Сочините пример как можно проще на сдвиг. Сам пользоваться умею, не могу только придумать новичковую задачу на эти операторы и как их...

Поиск количества слов строке(как можно проще) - C++
Здравствуйте.Я недавно начал изучать с++ и столкнулся с проблемой. Нужно написать программу поиска количества слов строке, но как можно...

Нужно вычислить факториал 33, 100 и 1000 как можно проще - C++
Нужно вычислить фактариал 33, 100 и 1000 как можно проще

4
Toshkarik
1143 / 860 / 51
Регистрация: 03.08.2011
Сообщений: 2,390
Завершенные тесты: 1
30.05.2012, 17:48 #2
Вы хоть напишите, что именно программа должна делать...
0
Aesonet
23 / 23 / 1
Регистрация: 04.04.2012
Сообщений: 119
30.05.2012, 17:55 #3
C++
1
2
3
if (flag) k = strlen(str)/(i+1);
 
if (k)
Что за операторы выбора? Что они делают. И у вас код на Си написан, а не С++.
0
Paraday
0 / 0 / 0
Регистрация: 26.05.2012
Сообщений: 73
30.05.2012, 18:20  [ТС] #4
Задание
Задача «Поиск последовательностей»
Мальчику Пете дали задание. У него есть файл со странными длинными строками символов, и
ему нужно все это перепечатать в другой файл. Но Петя печатает медленно, а стремится
скорее справиться. Он заметил, что много строк - это просто приписан несколько раз сам
себя какой-то короткий строку. Теперь Петя стремится в каждой строке из файла выделить как можно
более короткий повторяющийся элемент, распечатать его вручную, а затем просто скопировать
нужное число раз. Помогите ему это сделать.
Данная строка s, состоящая из маленьких латинских букв. Вам нужно найти
наибольшее число k и строка t, такое, что s будет совпадать со строкой t, выписанным k раз. на выходе
просто введите найденное число k.
пример Результат
аааа 4
аbсаbсаbс 3
аbсеfе 1
0
Aesonet
23 / 23 / 1
Регистрация: 04.04.2012
Сообщений: 119
30.05.2012, 19:01 #5
Вот написал прогу для рассчета макс одинаковых символов в строке может оно...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
using namespace std;
char str[256];
int mass[100];
int i,j,n,k;
int main ()
{
gets(str);
for (i=0;i<strlen(str); i++)
{
for (j=0;j<strlen(str); j++) 
{
if (str[i]==str[j]) {mass[j]+=1;n++;}    
}
   
}
for (j=0;j<n;j++)
{for (k=0;k<n-1;k++) {if (mass[k]<mass[k+1]) {int temp=mass[k];mass[k]=mass[k+1];mass[k+1]=temp;}}}
cout<<mass[0];
getch ();
}
0
30.05.2012, 19:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2012, 19:01
Привет! Вот еще темы с ответами:

Как можно сделать данный кусок кода меньше и проще? - C++
Задние: Заменить все элементы с четными номерами на значение второго положительного элемента массива. void change() //замена элементов...

Выполнить перегрузку, именно для этого условия и как можно проще - C++
Помогите пожалуйста! Если можно, то как можно проще... Написать функцию min с переменным числом параметров, которая находит минимальное из...

Числа Каталана,можно ли проще? - C++
Задание :Числа Каталана Cn, которые играют большую роль в комбинаторике (например, Cn равно числу полных бинарных деревьев с n+1 листьями),...

Оператор switch, можно ли сделать код проще? - C++
Дана задача посчитать гласные в тексте введенном с клавиатуры, вопрос ниже... #include &lt;iostream&gt; #include &lt;string&gt; #include...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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