Премини към съдържанието

barry

Потребител
  • Публикации

    16
  • Регистрация

  • Последно онлайн

Всичко публикувано от barry

  1. barry

    Помощ за задача

    Ако означим бройките на първия артикул с x, бройките на втория с y и на третия със z, имаме 1000x + 300y + 50z = 100000 x + y + z = 1000 x, y, z - цели неотрицателни числа От второто уравнение определяме z = 1000 - x - y, заместваме в първото и след опростяване получаваме 19x + 5y = 1000 y = 200 - 19x / 5 >= 0 Очевидно x трябва да се дели на 5, иначе y няма да е цяло число. Ако x = 5k, y = 200 - 19k >= 0 <=> 19k <= 200 <=> k <= 10 Сега като дадем на k стойности 0, 1, 2, ... 10 получаваме всички решения, които колегата вече е написал. За кой клас е тая задачка? И защо е в раздел програмиране?
  2. Имах същия проблем на моя лаптоп. Аз обаче имам само хард диск, без SSD. Проблемите се оказаха няколко - лоши сектори, общо 24Kb, и проблеми с регистрито. Също така спрях няколко сървиса. Оправих го по следния начин: - пускам уиндуса в сейф моуд, само с комманд промпт, и след това стартирам chkdsk c: /f - спирам интернета и пускам уиндоуса нормално - пускам пауршел като администратор и стартирам sfc.exe /scannow - тук също имаше проблеми с някои системни файлове - след това сканирах диска за вируси с малуеърбайтс. диска ми е 1 терабайт и е наполовина пълен, затова го сканирах на части, с кастъм скан - накрая оправих регистрито със CCleaner - пуснах интернета и рестартирах лаптопа - сега работи нормално - диска е натоварен под 10%, CrystalDiskInfo показва около 32 градуса (преди беше 38-40) Общо взето това е всичко.
  3. Преди няколко години попаднах на този сайт. Не знам колко е популярен и активен, но може да пуснеш една обява там. Или в jobs.bg както вече са те посъветвали колегите.
  4. Ами аз имах предвид нещо такова #include<iostream> #include<vector> #include<set> #include<algorithm> #include<numeric> std::vector<int> getDigits(int number) { std::vector<int> digits; for ( ; number; number /= 10 ) { int lastDigit = number % 10; digits.push_back(lastDigit); } std::sort(digits.begin(), digits.end()); return digits; } int main() { int n; std::cin >> n; std::vector<int> count(n, 0); std::set<std::vector<int>> numbers; for (int i = 0; i < n; i++) { int m; std::cin >> m; std::vector<int> digits = getDigits(m); if (!numbers.insert(digits).second) { if (!count[digits.size()]) count[digits.size()] += 2; else count[digits.size()]++; } } std::cout << std::accumulate(count.begin(), count.end(), 0) << std::endl; }
  5. Че това е елементарно. Вкарваш цифрите на всяко число във вектор, сортираш всеки един от векторите и намираш броя на еднаквите вектори. Това ти е отговора на задачата.
  6. Със scrollText.contentItem.height не става. Направих го така visible: textInfo.height > panelPager.height Също и кода на onClicked за двата бутона е грешен и трябва да се оправи.
  7. Оправих го. Проблема се оказа на съвсем друго място. Горния код работи, но scrollText.contentHeight не се инициализираше и винаги беше -1
  8. Здравейте, Имам текст, който е дълъг и не се побира на екрана. Искам да го превъртам надолу, но не ми изчислява правилно височината на текста. Съдържанието на qml файла е следното: import QtQuick 2.1 import QtQuick.Controls 2.3 import QtQuick.Layouts 1.3 Popup { ScrollView { id: scrollText Flickable { id: flickableText Text { id: textInfo ....... wrapMode: Text.Wrap } } } ColumnLayout { id: panelPager visible: scrollText.contentHeight > scrollText.height MyButton { iconSource: "path_to_file/arrow_up.png" Layout.row: 1 ......... onClicked: { flickableText.contentY = 0 } } MyButton { iconSource: "path_to_file/arrow_down.png" Layout.row: 2 ........ onClicked: { flickableText.contentY = scrollText.contentHeight - scrollText.height } } } GridLayout { id: panelButtons ........ } } Проблема е в това, че не ми изчислява scrollText.contentHeight правилно и съответно не превърта текста. Някакви идеи как да го оправя? Благодаря предварително!
  9. barry

    Помощ за задчка

    По-лесно става с std::set
  10. Създаваш си бутон , кликваш два пъти върху него (double click) и пишеш този код Private Sub CommandButton1_Click() ThisWorkbook.Save Range("A1").Hyperlinks.Item(1).Follow End Sub Трябва Design Mode да е enabled - от File/Options/Customize Ribbon в дясно чекваш Developer. И това е всичко.
  11. barry

    задача за огърлица

    Ето ти едно кратко решение с STL #include <iostream> #include <string> #include <algorithm> int main() { int black, white; std::cout << "Enter the number of BLACK beads: "; std::cin >> black; std::cout << "Enter the number of WHITE beads: "; std::cin >> white; std::string necklace(black, 'B'); necklace.append(white, 'W'); do { if (necklace.find("BB") == std::string::npos) std::cout << necklace << std::endl; } while (next_permutation(necklace.begin(), necklace.end())); return 0; }
  12. barry

    Въпрос за масиви в C/C++

    Точно така. Затова (a + 1)[2] = a[3] = 4. Обаче не ми е много ясно защо (1 + 3)[a] = a[4]. Просто не съм виждал такъв синтаксис в C/C++. По тази логика (2)[a] е същото като a[2] - и то наистина е едно и също нещо! Предполагам, че компилатора генерира еднакъв код в двата случая.
  13. barry

    Въпрос за масиви в C/C++

    Изобщо не е лишено от смисъл. a[0] == 1 -> това е очевидно (a + 1)[2] е същото като a[3] == 4 -> малко аритметика с пойнтери (указатели) (1+3)[a] би трябвало да е същото като a[1+3] == 5 -> това не го разбирам std::cout << (1 + 3)[a] - a[0] + (a + 1)[2]; -> извежда 8 на конзолата
  14. Здравейте, имам един масив от цели числа int a[] = {1, 2, 3, 4, 5, 6}; а израза (1 + 3)[a] - a[0] + (a + 1)[2] е равен на 8. По принцип i-тия елемент на масива е a[i] или *(a+i) но не разбирам другите две конструкции. Може ли някой да обясни как се изчисляват те? Благодаря предварително.
  • Разглеждащи това в момента   0 потребители

    • Няма регистрирани потребители разглеждащи тази страница.
×
×
  • Добави ново...

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите Условия за ползване