Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
3 / 3 / 2
Регистрация: 04.07.2015
Сообщений: 187
1

Нужны задачи для новичка или способ реализации кода

04.07.2015, 20:15. Просмотров 2042. Ответов 37
Метки нет (Все метки)

Дайте мне какую-нить задачу, которая будет больше на логическое мышление и решения логические должны быть, нежели на большое знание языка СИ++. В интернете я нашел задачи, но они либо крайне простые, либо крайне тяжелые. Для меня программирование это интересное занятие. Недавно написал алгоритм создания игры сапер. Он заполняет массив начала "минами" цифрами 9, потом этот же массив заполняет числами как в оригинальном сапере. Если есть такая какая технология чтобы можно было написать программу чтобы она могла общаться с оригинальным сапером из виндовс, я мог бы попробовать написать программу - бота, который смог бы его решать. В общем если коротко, то киньте задачку на логику. Ну и если можно, то скажите как заставить общаться 2ум разным программам между собой
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.07.2015, 20:15
Ответы с готовыми решениями:

Нужны задачи для новичка
Всем привет. Я недавно начал изучать C#. Дошел до темы,методы,классы.Смотрел видео,читал разные...

нужны идеи в реализации кода
В общем если кто подскажет хоть примерно как это должно выглядеть буду очень благодарен. Или просто...

Локальный чат на VB: нужны исходники или идеи реализации
Ищу хороший пример, нужен сервер и желательно оконный , с возможностью отправлять сообщения...

Нужны простые ответы для новичка в друпал
Я с Drupal никогда не работал. В основном работаю в статике, есть небольшой опыт с WorldPress. ...

37
492 / 374 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
04.07.2015, 21:38 2
Цитата Сообщение от Sinkha Посмотреть сообщение
Ну и если можно, то скажите как заставить общаться 2ум разным программам между собой
Отдельный вопрос, для другого раздела форума


Цитата Сообщение от Sinkha Посмотреть сообщение
В общем если коротко, то киньте задачку на логику.
А теорию алгоритмов и дискретную математику вы уже рассмотрели?


Цитата Сообщение от Sinkha Посмотреть сообщение
либо крайне простые, либо крайне тяжелые.
Одни крайности )


Ладно, моя задача такая:

В программе реализовать 3 функции:

1. Ввод сообщения (Последовательность латинских букв).

2. Ввод пароля. Где пароль сочетание любой длины из чисел(1-9) и латинского алфавита (как больших так и малых букв).

3. Подбор пароля. В случае успеха вывести сообщение из функции 1.(то есть пишите алгоритм который формирует строку, а потом сравниваете с паролем, подошел - выводите сообщение, нет - продолжайте искать).

Сложность регулировать можете сами, рассмотреть только числа, или пароль определенной(известный за ранее, тогда алгоритмы подбора будут отличатся) длины.

Подсказка: время работы такой программы может быть огромным, так что если не хотите что б она закончила свою работу через пару лет, то начните только с чисел.
1
61 / 61 / 47
Регистрация: 08.09.2013
Сообщений: 187
Записей в блоге: 1
05.07.2015, 03:04 3
Не знаю, можно ли оставлять на форуме ссылки на внешние ресы, но есть такая штука на логику, как спортивное программирование. Лучший из них, наверно, codeforces.
0
3 / 3 / 2
Регистрация: 04.07.2015
Сообщений: 187
05.07.2015, 15:11  [ТС] 4
Спасибо, попробую порешать. ПРавда некоторые приемы нужно будет погуглить. Как я понял нужно написать брутфорс мини)
0
3 / 3 / 2
Регистрация: 04.07.2015
Сообщений: 187
06.07.2015, 22:03  [ТС] 5
Написал код для подбора пароля из цифр. Он простой оказался очень, а вот с символами проблемки) Как я понял нужно через аск 2 подбирать значения для пароля.
0
Модератор
Эксперт .NET
5396 / 4545 / 2896
Регистрация: 20.04.2015
Сообщений: 8,202
06.07.2015, 22:11 6
Sinkha,
вот еще задания на логику
1. Даны обозначения двух полей шахматной доски (например, A5 и C2).
Найти минимальное число ходов, которые нужны шахматному коню для перехода с первого поля на второе.
2. Имеется N камней веса А1, А2,..., АN.
Необходимо разбить их на две кучи таким образом, чтобы веса куч отличались не более чем в 2 раза. Если этого сделать нельзя, то указать это.
3. Дан массив целых чисел x[1]..x[m+n], рассматриваемый как соединение двух его отрезков:
- начала x[1]..x[m] длины m
- конца x[m+1]..x[m+n] длины n.
Не используя дополнительных массивов, переставить начало и конец.
0
1 / 1 / 0
Регистрация: 20.06.2014
Сообщений: 47
06.07.2015, 22:23 7
Можно ещё реализовать класические игры.
0
Заблокирован
06.07.2015, 22:28 8
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение


a c m p .ru/?main=tasks (без пробелов)
0
3 / 3 / 2
Регистрация: 04.07.2015
Сообщений: 187
07.07.2015, 15:32  [ТС] 9
Цитата Сообщение от EugeneQ Посмотреть сообщение
Можно ещё реализовать класические игры.
Привет. Я давно ещё писал игру "Змейка", но то было ещё на бейсике. Можно как нить подумать об этом, но я хочу пока закончить с данной задачкой
Цитата Сообщение от Даценд Посмотреть сообщение
вот еще задания на логику
1. Даны обозначения двух полей шахматной доски (например, A5 и C2).
Найти минимальное число ходов, которые нужны шахматному коню для перехода с первого поля на второе.
2. Имеется N камней веса А1, А2,..., АN.
Необходимо разбить их на две кучи таким образом, чтобы веса куч отличались не более чем в 2 раза. Если этого сделать нельзя, то указать это.
3. Дан массив целых чисел x[1]..x[m+n], рассматриваемый как соединение двух его отрезков:
- начала x[1]..x[m] длины m
- конца x[m+1]..x[m+n] длины n.
Не используя дополнительных массивов, переставить начало и конец.
Тоже интересная задачка, но я закончу с первой, а потом к твоей перейду
0
23 / 23 / 14
Регистрация: 01.05.2015
Сообщений: 181
07.07.2015, 15:56 10
Еще можно нагуглить сборник пасьянсов и реализовать их алгоритмы.
0
855 / 445 / 111
Регистрация: 06.07.2013
Сообщений: 1,483
08.07.2015, 16:29 11
Реализуй в консоли полноценный 3д ASCII куб, крутящийся ( Достаточно интересно выглядит )
0
1042 / 659 / 109
Регистрация: 12.10.2013
Сообщений: 4,335
08.07.2015, 16:35 12
Цитата Сообщение от Sinkha Посмотреть сообщение
и решения логические должны быть,
Погуглить “логические игры” и написать для них код игры либо бота?
0
3 / 3 / 2
Регистрация: 04.07.2015
Сообщений: 187
09.07.2015, 16:19  [ТС] 13
Цитата Сообщение от _Valera_ Посмотреть сообщение
В программе реализовать 3 функции:
1. Ввод сообщения (Последовательность латинских букв).
2. Ввод пароля. Где пароль сочетание любой длины из чисел(1-9) и латинского алфавита (как больших так и малых букв).
3. Подбор пароля. В случае успеха вывести сообщение из функции 1.(то есть пишите алгоритм который формирует строку, а потом сравниваете с паролем, подошел - выводите сообщение, нет - продолжайте искать).
Прошу проверить
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
#include <iostream>
#include <clocale>
#include <string.h>
//Àíãëèéñêèé àëôàâèò ñ A = 97 è Z = 122 0 = 48 9 = 57
int main(){
    
    char stroka[9], podbor[9];
 
    int a = 47, i, step;
    
    setlocale(LC_ALL, "Russian");
    
    printf("Ââåäèòå ïàðîëü äëÿ ïîäáîðà \n");
    
    fgets(stroka,9,stdin);
 
    for( i = 0; i <= strlen(stroka) ; i++){
    
        while(char(a) != stroka[i]){
    
        a++;
        
        }
 
        podbor[i] = char(a);    
 
    }
        
    std::cout<<podbor;
 
}
Добавлено через 2 минуты
Почему вместо рус букв загогулины?) Там в принципе нет ничего такого важного. Под аннотацией для себя писал коды букв английского алфавита аск2 и цифр. А в 13 строке просто "Введите пароль"

Добавлено через 6 минут
Возможно я не правильно понял условия задачи, ведь подбор идет моментально
0
492 / 374 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
09.07.2015, 17:08 14
Цитата Сообщение от Sinkha Посмотреть сообщение
while(char(a) != stroka[i]){
неа, так то конечно быстро.

Во-первых: длина вводимого пароля не известна
Цитата Сообщение от Sinkha Посмотреть сообщение
char stroka[9]
во-вторых:
Вы формируете строку(алгоритм который нужно придумать) а потом высылаете эту строку в функцию, где сравниваете весь массив(строку) а не отдельные элементы.

Добавлено через 2 минуты
Ну и конечно функции, надо реализовать функции!
0
3 / 3 / 2
Регистрация: 04.07.2015
Сообщений: 187
09.07.2015, 19:06  [ТС] 15
Цитата Сообщение от _Valera_ Посмотреть сообщение
Во-первых: длина вводимого пароля не известна
Можно конечно написать что-то вроде stroka[100000] и недеятся что код будет не больше ста тысяч) Иначе нужно как-то сделать бесконечный массив или чтобы массив задавался от кол-ва букв\цифр в строке. Такое можно сделать?
Цитата Сообщение от _Valera_ Посмотреть сообщение
Вы формируете строку(алгоритм который нужно придумать) а потом высылаете эту строку в функцию, где сравниваете весь массив(строку) а не отдельные элементы.
Ну всю строку сверить не особо трудно, достаточно менять цифры и буквы в 1ом элементе строки, потом во второй +1 к значению и повторить и и.д.
Цитата Сообщение от _Valera_ Посмотреть сообщение
Ну и конечно функции, надо реализовать функции!
Как я понимаю функции есть участок кода, который часто используется. ПОчему они так важны?
0
492 / 374 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
10.07.2015, 14:29 16
Цитата Сообщение от Sinkha Посмотреть сообщение
Как я понимаю функции есть участок кода, который часто используется. ПОчему они так важны?
Потому что я так написал в задании.

Цитата Сообщение от Sinkha Посмотреть сообщение
Можно конечно написать что-то вроде stroka[100000] и недеятся что код будет не больше ста тысяч) Иначе нужно как-то сделать бесконечный массив или чтобы массив задавался от кол-ва букв\цифр в строке. Такое можно сделать?
http://cppstudio.com/post/6110/


Цитата Сообщение от Sinkha Посмотреть сообщение
Ну всю строку сверить не особо трудно, достаточно менять цифры и буквы в 1ом элементе строки, потом во второй +1 к значению и повторить и и.д.
Не понял, ну ладно.
0
3 / 3 / 2
Регистрация: 04.07.2015
Сообщений: 187
12.07.2015, 23:12  [ТС] 17
Цитата Сообщение от _Valera_ Посмотреть сообщение
http://cppstudio.com/post/6110/
Не могу решить задачу. Если stroka является кодом, то как создать строку которая его подбирает и носит имя brut? Если писать такой код
C++
1
2
3
4
5
6
7
        std::string stroka, brut;
 
    setlocale(LC_ALL, "Russian");
 
    std :: cout << ("Введите пароль \n");
 
    std::getline(std::cin, stroka);
То заполнив массив с клавы в строку заполняется код. brut как бы является нулевой строкой и туда нельзя записать значение не с клавы, то есть никак не получится записать в brut[3] никакую информацию. Если задать статику, например brut[2048], то не выходит сравнивать brut[2048] и stroka, компилятор пишет "невозможно преобразовать аргумент 2 из "std::string" в "const char *""
В общем дай хотяб подсказку как их сравнивать или что иное
0
42 / 1 / 1
Регистрация: 12.07.2015
Сообщений: 8
12.07.2015, 23:19 18
Sinkha, вот тут посмотри.
0
492 / 374 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
13.07.2015, 15:49 19
Цитата Сообщение от Sinkha Посмотреть сообщение
о заполнив массив с клавы в строку заполняется код. brut как бы является нулевой строкой и туда нельзя записать значение не с клавы, то есть никак не получится записать в brut[3] никакую информацию. Если задать статику, например brut[2048], то не выходит сравнивать brut[2048] и stroka, компилятор пишет "невозможно преобразовать аргумент 2 из "std::string" в "const char *""
В общем дай хотяб подсказку как их сравнивать или что иное

Что-то вроде того
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>
#include <string>
 
using namespace std;
 
string password = "1qwerty1";
 
bool Terminal(string & str)
{
    return(str == password);
}
 
int main()
{
    string str;
    cout<<"Input:"<<endl;
    getline(cin,str);
 
    cout<<Terminal(str);
        
    system("PAUSE");
    return 0;
}
0
3 / 3 / 2
Регистрация: 04.07.2015
Сообщений: 187
13.07.2015, 17:53  [ТС] 20
Цитата Сообщение от _Valera_ Посмотреть сообщение
Что-то вроде того
Пошел-ка я читать литературу Си, а то нифига не понятно
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.07.2015, 17:53

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Java EE против Spring: нужны пояснения для новичка
Здравствуйте, я недавно начал изучать JAVA WEB технологии, уже успел вкратце изучить Servlet,...

Мультиязычное приложение - какой способ для реализации выбрать
Сталкиваюсь впервые (собственно и опыт не большой у меня). Приложение большое... очень.......

Какой способ предпочтительнее для реализации повторяющейся функции
Требуется раз в минуту выполнять определенное действие, скажем, на экране менять счетчик времени....

Задачи для новичка
Здравствуйте Уважаемые программисты C#. Начну с того что я студент первого курса информационного...


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

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

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