Size: a a a

IT KPI C/C++ ХВ (не UB)

2021 February 10

TL

Tony Lutsenko in IT KPI C/C++ ХВ (не UB)
пятая – arr[i/n/n/n-1]
источник

TL

Tony Lutsenko in IT KPI C/C++ ХВ (не UB)
значит, это цикл
источник

TL

Tony Lutsenko in IT KPI C/C++ ХВ (не UB)
на каждой итерации мы должны:
– перейти к следующей цифре (умножить свой мультипликатор на 10)
– поделить i на n и узнать цифру
– добавить к результату мультипликатор, умноженный на цифру
источник

TL

Tony Lutsenko in IT KPI C/C++ ХВ (не UB)
решил
источник

TL

Tony Lutsenko in IT KPI C/C++ ХВ (не UB)
#include <iostream>
#include <cstring>

int main ()
{
 // initialize sequence
 char arr[10];
 std::cout << "Input sequence of digits, less than 11 in length: ";
 std::cin >> arr;
 int n = strlen(arr);
 
 do
 {
   std::cout << "Input row and column: ";
   int i;
   int j;
 
   std::cin >> i >> j;
   // shift to indexes for convenience
   i--;
   j--;
 
   int multiplier = 1;      // corresponds to a digit
   int result = arr[j] - '0';  // obtain a number from symbol (thanks, ASCII)
   do
   {
     multiplier *= 10;    // goto next digit
     result += multiplier * (arr[i % n] - '0');  // set digit
     i /= n;    // prepare for the next iteration
   }  while (i > 0);  
   
   std::cout << "Res: " << result << '\n';
 }  while (true);
}
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
Не за что
источник

TL

Tony Lutsenko in IT KPI C/C++ ХВ (не UB)
Tony Lutsenko
#include <iostream>
#include <cstring>

int main ()
{
 // initialize sequence
 char arr[10];
 std::cout << "Input sequence of digits, less than 11 in length: ";
 std::cin >> arr;
 int n = strlen(arr);
 
 do
 {
   std::cout << "Input row and column: ";
   int i;
   int j;
 
   std::cin >> i >> j;
   // shift to indexes for convenience
   i--;
   j--;
 
   int multiplier = 1;      // corresponds to a digit
   int result = arr[j] - '0';  // obtain a number from symbol (thanks, ASCII)
   do
   {
     multiplier *= 10;    // goto next digit
     result += multiplier * (arr[i % n] - '0');  // set digit
     i /= n;    // prepare for the next iteration
   }  while (i > 0);  
   
   std::cout << "Res: " << result << '\n';
 }  while (true);
}
источник

TL

Tony Lutsenko in IT KPI C/C++ ХВ (не UB)
@IIycTo готово :)
источник

A

András in IT KPI C/C++ ХВ (не UB)
Vlad Doc
Зачем? Компилятор и так разложит на сдвиги
Для signed він додасть додаткову команду
источник

A

András in IT KPI C/C++ ХВ (не UB)
Для unsigned ти правий
источник

🔥

🔥 in IT KPI C/C++ ХВ (не UB)
Tony Lutsenko
@IIycTo готово :)
О, хорош. Щас потестим
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
Антон
В питоне сейчас дабавили match который по функционалу 1в1 как в плюсах switch
Рофлишь чтоли
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
Щас бы паттерн матчинг свитчом называть
источник

JC

Julian =) Coffee in IT KPI C/C++ ХВ (не UB)
Свитч даже в строки не умеет
источник

🔥

🔥 in IT KPI C/C++ ХВ (не UB)
Tony Lutsenko
#include <iostream>
#include <cstring>

int main ()
{
 // initialize sequence
 char arr[10];
 std::cout << "Input sequence of digits, less than 11 in length: ";
 std::cin >> arr;
 int n = strlen(arr);
 
 do
 {
   std::cout << "Input row and column: ";
   int i;
   int j;
 
   std::cin >> i >> j;
   // shift to indexes for convenience
   i--;
   j--;
 
   int multiplier = 1;      // corresponds to a digit
   int result = arr[j] - '0';  // obtain a number from symbol (thanks, ASCII)
   do
   {
     multiplier *= 10;    // goto next digit
     result += multiplier * (arr[i % n] - '0');  // set digit
     i /= n;    // prepare for the next iteration
   }  while (i > 0);  
   
   std::cout << "Res: " << result << '\n';
 }  while (true);
}
Норм, только забыл учесть что ввод может быть не отсортирован, а так же могут повторяться цифры, в таких случаях не пашет. Наверное стоит использовать set, ну или мб что получше можно
источник

YS

Y S in IT KPI C/C++ ХВ (не UB)
🔥
Ребят, я подзабыл простую вещь. Вот кусок таблицы, по строкам она идёт бесконечно вниз, как я могу по номеру/индексу столбца и строки узнать значение элемента не отрисовывая всю таблицу? Выручайте, а то я совсем забыл(
Так у тебе за умовою тут нема повторів
источник

🔥

🔥 in IT KPI C/C++ ХВ (не UB)
Y S
Так у тебе за умовою тут нема повторів
Да, но просто это кусок большего алгоритма, и там оно не все тесты прошло. Я уже дальше сам допишу
источник

A

András in IT KPI C/C++ ХВ (не UB)
Julian =) Coffee
Щас бы паттерн матчинг свитчом называть
Скоріше свіч це частковий випадок матчінга
Та й в деяких мовах свіч таки вміє в інші типи
источник

YS

Y S in IT KPI C/C++ ХВ (не UB)
Переслано от kvark
которые не кошерные в твоей религии
источник

YS

Y S in IT KPI C/C++ ХВ (не UB)
Переслано от Roman na
причём тут религия?
источник