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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
костя666674555
-94 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
#1

короткие коды с ******** - C++

28.01.2014, 14:31. Просмотров 2037. Ответов 8
Метки нет (Все метки)

всем привет я решил создать общую тему по сокращению кодов (если у кого есть по короче по желанию напишите на форум нужно писать так № (номер задачи с ********)
код размер
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2014, 14:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос короткие коды с ******** (C++):

Написать короткие комментарии к коду - C++
Ребята, напишите пожалуйста короткие комментарии к коду программы - тема Очередь/Перегрузка операторов, а то сложно разобраться. #...

Строки: найти все самые короткие слова сообщения - C++
Дана строка, в которой содержится осмысленное текстовое сообщение. Слова сообщения разделяются пробелами и знаками препинания. Найти все...

Описать функцию дополнющую короткие строки файла пробелами справа - C++
Нужна программа. Задача звучит так: Считая, что непустой текстовый файл f разбит на строки, длина каждой из которых не превышает 80...

Какие существуют короткие константы для достаточно больших чисел? - C++
Периодически возникает потребность в использовании циклов с достаточно большим числом итераций, где важен только порядок, а не конкретное...

В текстовом файле найти самые длинные и самые короткие слова и удалить их из файла. - C++
Людти добрые помогите пожалуйсто кателок уже совсоем не варит задача :в текстовом файле найти самые длинные и самые короткие слова и...

Коды C++ - C++
Можете написать код Марио?:help: Добавлено через 53 секунды :beer:

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
SatanaXIII
28.01.2014, 14:36
  #2
 Комментарий модератора 
костя666674555, выкладывайте главное задания (текст заданий перепечатывайте на форум), а не как в прошлый раз.
костя666674555
-94 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
28.01.2014, 15:29  [ТС] #3
итак ЗАДАЧА №1
Кликните здесь для просмотра всего текста
A+B
(Время: 2 сек. Память: 16 Мб Сложность: 2%)

Требуется сложить два целых числа А и В.
Входные данные

В единственной строке входного файла INPUT.TXT записано два натуральных числа через пробел, не превышающих 109.
Выходные данные

В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — сумму чисел А и В.
Пример
№ INPUT.TXT OUTPUT.TXT
1 2 3 5

код :
C++
1
2
3
4
5
6
7
#include <fstream>
main(){
std::fstream i("input.txt"),o("output.txt", 2);
int a,b;
i>>a>>b;
o<<a+b;
}
Размер кода: 92
но есть приём по хитрее
C++
1
2
3
4
5
#include <ios>
main()
{
  system("for /f \"tokens=1,2\" %a in (input.txt) do set /a %a+%b >output.txt");
}
Размер кода: 89
РАЗБОР : задача очень проста вводим а и б и выводим а+б

Добавлено через 6 минут
ЗАДАЧА №2
Кликните здесь для просмотра всего текста
Сумма
(Время: 1 сек. Память: 16 Мб Сложность: 19%)

Требуется посчитать сумму целых чисел от 1 до N.
Входные данные

В единственной строке входного файла INPUT.TXT записано единственное целое число N, не превышающее по абсолютной величине 104.
Выходные данные

В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — сумму чисел от 1 до N.
Пример
№ INPUT.TXT OUTPUT.TXT
1 5 15

код
C++
1
2
3
4
5
6
#include <fstream>
main(int n){
std::fstream i("input.txt"), o("output.txt", 2);
i>>n;
o<<(n>0?n:2-n)*++n/2;
}
Размер кода: 100
РАЗБОР
посидев два дня над решением данной задачи вы придёте к формуле дальнейший смысл сокрашения упростить формулу (n -любое! даже отрицательное)

Добавлено через 9 минут
ЗАДАЧА №3
Кликните здесь для просмотра всего текста
Пятью пять - двадцать пять!
(Время: 1 сек. Память: 16 Мб Сложность: 8%)

Вася и Петя учатся в школе в одном классе. Недавно Петя поведал Васе о хитром способе возведения в квадрат натуральных чисел, оканчивающихся на цифру 5. Теперь Вася может с легкостью возводить в квадрат двузначные (и даже некоторые трехзначные) числа, оканчивающиеся на 5. Способ заключается в следующем: для возведения в квадрат числа, оканчивающегося на 5 достаточно умножить число, полученное из исходного вычеркиванием последней пятерки на следующее по порядку число, затем остается лишь приписать «25» к получившемуся результату справа. Например, для того, чтобы возвести число 125 в квадрат достаточно 12 умножить на 13 и приписать 25, т.е. приписывая к числу 12*13=156 число 25, получаем результат 15625, т.е. 1252=15625. Напишите программу, возводящую число, оканчивающееся на 5, в квадрат для того, чтобы Вася смог проверить свои навыки.
Входные данные

В единственной строке входного файла INPUT.TXT записано одно натуральное число А, оканчивающееся на цифру 5, не превышающее 4*105.
Выходные данные

В выходной файл OUTPUT.TXT выведите одно натуральное число - A2 без лидирующих нулей.
Примеры
№ INPUT.TXT OUTPUT.TXT
1 5 25
2 75 5625
3 4255 18105025

код:
C++
1
2
3
4
5
6
#include <fstream>
main(__int64 a){
std::fstream i("input.txt"),o("output.txt", 2);
i>>a;
o<<a*a;
}
Размер кода: 90
РАЗБОР : условие читать бесмысленно вас потянет не в ту сторону решения задачи
можно просто вывести a*a

Добавлено через 3 минуты
ЗАДАЧА №4
Кликните здесь для просмотра всего текста
Игра
(Время: 1 сек. Память: 16 Мб Сложность: 4%)

В свободное время одноклассники Вася и Петя любят играть в различные логические игры: морской бой, крестики-нолики, шахматы, шашки и многое другое. Ребята уже испробовали и поиграли во всевозможные классические игры подобного рода, включая компьютерные. Однажды им захотелось сыграть во что-нибудь новое, но ничего подходящего найти не удалось. Тогда Петя придумал следующую игру «Угадайка»: Играют двое участников. Первый загадывает любое трехзначное число, такое что первая и последняя цифры отличаются друг от друга более чем на единицу. Далее загадавший число игрок переворачивает загаданное число, меняя первую и последнюю цифры местами, таким образом получая еще одно число. Затем из максимального из полученных двух чисел вычитается минимальное. Задача второго игрока – угадать по первой цифре полученного в результате вычитания числа само это число. Например, если Вася загадал число 487, то перестановкой первой и последней цифры он получит число 784. После чего ему придется вычесть из 784 число 487, в результате чего получится число 297, которое и должен отгадать Петя по указанной первой цифре «2», взятой из этого числа. Петя успевает лучше Васи по математике, поэтому практически всегда выигрывает в играх такого типа. Но в данном случае Петя схитрил и специально придумал такую игру, в которой он не проиграет Васе в любом случае. Дело в том, что придуманная Петей игра имеет выигрышную стратегию, которая заключается в следующем: искомое число всегда является трехзначным и вторая его цифра всегда равна девяти, а для получения значения последней достаточно отнять от девяти первую, т.е. в рассмотренном выше случае последняя цифра равна 9-2=7. Помогите Пете еще упростить процесс отгадывания числа по заданной его первой цифре, написав соответствующую программу.
Входные данные

В единственной строке входного файла INPUT.TXT задана единственная цифра К, соответствующая первой цифре полученного Васей в результате вычитания наименьшего загаданного Васей значения из наибольшего.
Выходные данные

В выходной файл OUTPUT.TXT нужно вывести значение полученной Васей разности.
Примеры
№ INPUT.TXT OUTPUT.TXT
1 5 594
2 2 297
3 7 792

код:
C++
1
2
3
4
5
6
7
#include <fstream>
main(int a)
{
std::fstream I("input.txt"), O("output.txt", 2);
I>>a;
O<< 99*++a;
}
Размер кода: 89
но жестокий **** принимает и такое
C++
1
2
3
4
5
#include <ios>
main()
{
  system("for /f %n in (input.txt) do set /a 99*%n+99 >output.txt");
}
Размер кода: 78

Добавлено через 33 минуты
ЗАДАЧА №5
Кликните здесь для просмотра всего текста
Статистика
(Время: 1 сек. Память: 16 Мб Сложность: 25%)

Вася не любит английский язык, но каждый раз старается получить хотя бы четверку за четверть, чтобы оставаться ударником. В текущей четверти Вася заметил следующую закономерность: по нечетным дням месяца он получал тройки, а по четным – четверки. Так же он помнит, в какие дни он получал эти оценки. Поэтому он выписал на бумажке все эти дни для того, чтобы оценить, сколько у него троек и сколько четверок. Помогите Васе это сделать, расположив четные и нечетные числа в разных строчках. Вася может рассчитывать на оценку 4, если четверок не меньше, чем троек.
Входные данные

В первой строке входного файла INPUT.TXT записано единственное число N – количество элементов целочисленного массива (1<=N<=100). Вторая строка содержит N чисел, представляющих заданный массив. Каждый элемент массива – натуральное число от 1 до 31. Все элементы массива разделены пробелом.
Выходные данные

В первую строку выходного файла OUTPUT.TXT нужно вывести числа, которые соответствуют дням месяцев, в которые Вася получил тройки, а во второй строке соответственно расположить числа месяца, в которые Вася получил четверки. В третьей строке нужно вывести «YES», если Вася может рассчитывать на четверку и «NO» в противном случае. В каждой строчке числа следует выводить в том же порядке, в котором они идут во входных данных. При выводе, числа отделяются пробелом.
Примеры
№ INPUT.TXT OUTPUT.TXT
1 5
4 16 19 31 2 19 31
4 16 2
YES
2 8
29 4 7 12 15 17 24 1 29 7 15 17 1
4 12 24
NO

код:
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 <fstream>
#define R for(i=0;i<n;i++){
main(){ std::fstream q("input.txt"),o("output.txt", 2);
    int a[1013],n,b=0,s=0,i,j;
    q>>n;
    R
        q>>a[i];
    }
    R
        if(a[i]%2==1){
            o<<a[i]<<" ";
            s++;
        }
    }
    o<<"\n";
    R
        if(a[i]%2==0){
            o<<a[i]<<" ";
            b++;
        }
    }
    o<<"\n"<<(b<s ? "NO" : "YES");
    }
Размер кода: 268 (как короче?)
РАЗБОР здача очень легка в принципе это пказывает мой код
Vourhey
Почетный модератор
6478 / 2253 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
28.01.2014, 15:32 #4
Что это за лажа?
костя666674555
-94 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
28.01.2014, 15:36  [ТС] #5
Цитата Сообщение от Vourhey Посмотреть сообщение
Что это за лажа?
что? помойму всё понятно
salam
162 / 143 / 12
Регистрация: 10.07.2012
Сообщений: 726
28.01.2014, 15:37 #6
Цитата Сообщение от Vourhey Посмотреть сообщение
Что это за лажа?
чувак занялся СП. к успеху идет.
костя666674555
-94 / 0 / 0
Регистрация: 02.01.2014
Сообщений: 78
28.01.2014, 16:02  [ТС] #7
что такое сп?

Добавлено через 35 секунд
помогите код ЗАДАЧИ №5 сократить

Добавлено через 20 минут
ЗАДАЧА №6
Кликните здесь для просмотра всего текста
Шахматы
(Время: 1 сек. Память: 16 Мб Сложность: 18%)

Шахматы Совсем недавно Вася занялся программированием и решил реализовать собственную программу для игры в шахматы. Но у него возникла проблема определения правильности хода конем, который делает пользователь. Т.е. если пользователь вводит значение «C7-D5», то программа должна определить это как правильный ход, если же введено «E2-E4», то ход неверный. Так же нужно проверить корректность записи ввода: если например, введено «D9-N5», то программа должна определить данную запись как ошибочную. Помогите ему осуществить эту проверку!

Входные данные

В единственной строке входного файла INPUT.TXT записан текст хода, который указал пользователь. Пользователь не может ввести строку, длиннее 5 символов.
Выходные данные

В выходной файл OUTPUT.TXT нужно вывести «YES», если указанный ход конем верный, если же запись корректна (в смысле правильности записи координат), но ход невозможен, то нужно вывести «NO». Если же координаты не определены или заданы некорректно, то вывести сообщение «ERROR».
Примеры
№ INPUT.TXT OUTPUT.TXT
1 C7-D5 YES
2 E2-E4 NO
3 BSN ERROR

код:
C++
1
2
3
4
5
6
7
8
#include <fstream>
#include <string>
main() {
  std::fstream q("input.txt"),o("output.txt", 2);
  std::string a;
  q>>a;
  o<<(a.length() < 5 || a[2] != '-' || a[0] < 'A' || a[0] > 'H' || a[3] < 'A' || a[3] > 'H' || a[1] < '1' || a[1] > '8' || a[4] < '1' || a[4] > '8' ? "ERROR" : abs((a[0] - a[3]) * (a[1] - a[4])) != 2 ? "NO" : "YES");
}
Размер кода: 264 (как короче?)
RussDragon
12 / 12 / 1
Регистрация: 08.04.2012
Сообщений: 81
28.01.2014, 16:08 #8
Хитро однако.
Так, невзначай, вот вам 5 задачек готовых, а теперь скажите как мне сократить. А нормально попросить не судьба?
magirus
28.01.2014, 17:35     короткие коды с ********
  #9
 Комментарий администратора 
Вам сколько раз нужно повторить чтобы вы уяснили: одна тема - одна задача. Свалок задач в темах не будет.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2014, 17:35
Привет! Вот еще темы с ответами:

Циклические коды - C++
Для построение циклического кода (CRC) нужен образующий полином, который мы должны найти по таблице неприводимых многочленов(см....

не разборчивые коды - C++
помогите пожалуйста ответить на вопросы? заранее спасибо. немного не понятны вопросы, особенно первые 1. (10%)Is next statement...

Коды цифр - C++
Дайте пожалуйста мне коды цифр от 1-9. Вот по этой ссылке есть коды, но ни один из них не срабатывает! http://ru.wikipedia.org/wiki/ASCII...

Коды символов - C++
Как вам всем известно, для кодировки символов используется таблица ASCII, вот написал: #include&quot;stdafx.h&quot; #include&quot;iostream&quot; using...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.01.2014, 17:35
Закрытая тема Создать тему
Опции темы

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