Форум программистов, компьютерный форум, киберфорум
C/C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 23.11.2021
Сообщений: 18

Оцените решение задачи и если хотите дайте совет как сделать лучше

27.10.2023, 19:22. Показов 852. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В задачах не использовать библиотечные функции по обработке строк.
Хранение всех массивов осуществлять в динамической памяти.

9. Написать функцию, которая подсчитывает количество букв в строке, совпадающих по написанию с буквами русского алфавита. Прототип функции int function_name (char*s).
Проверить работу функции на строке, введенной с клавиатуры.
Реализовать вывод результата.

Как вам такое решение задачи? Можно ли его сделать лучше или проще?
Я начинающий.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
using namespace std;
int main ()
{
    setlocale(LC_ALL, "Russian");
    string str; 
    int number = 0;
    cout << "Введите строку:";
    cin >> str;
    for (int i = 0; i <= str.length(); i++)
    {
        if (str[i] == 'a') number++; if (str[i] == 'A') number++; if (str[i] == 'B') number++; if (str[i] == 'c') number++; 
        if (str[i] == 'C') number++; if (str[i] == 'm') number++; if (str[i] == 'M') number++; if (str[i] == 'x') number++;
        if (str[i] == 'X') number++; if (str[i] == 'k') number++; if (str[i] == 'K') number++; if (str[i] == 'H') number++;
        if (str[i] == 'e') number++; if (str[i] == 'E') number++; if (str[i] == 'T') number++; if (str[i] == 'y') number++;
        if (str[i] == 'Y') number++; if (str[i] == 'o') number++; if (str[i] == 'O') number++; if (str[i] == 'P') number++; if (str[i] == 'p') number++;
    }
    cout << "Количество букв в строке, совпадающих по написанию с буквами русского алфавита:" << number;
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.10.2023, 19:22
Ответы с готовыми решениями:

Дайте совет: Как лучше отразить данные из БД в объект?
Всем доброго дня! Столкнулся на работе со следующей проблемкой. Поставили задачу реализовать веб-приложение (аля складской учет). БД...

Дайте совет как решать задачи
Хочу решить задачи, но не знаю как, дайте, пожалуйста, название теорем/распределений и т.п. с помощью которых они решаются (завтра зачет,...

[C] оцените идейку, дайте совет .
Всем привет у мя есть такая идейя написать игрушку с помощью консольной графики либо змейку либо тачки как на тетрисе. Можете дать совет...

10
фрилансер
 Аватар для Алексей1153
6444 / 5637 / 1128
Регистрация: 11.10.2019
Сообщений: 14,995
27.10.2023, 19:38
bonegato, очень медленно

Добавлено через 6 минут
bonegato, вот вариант
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
41
42
43
44
#include <iostream>
#include <string>
 
int main ()
{
    setlocale(LC_ALL, "Russian");
    
    int number = 0;
    std::cout << "Введите строку:";
    std::string str; std::cin >> str;
    
    for (auto ch:str)
    {
        switch(ch)
        {
            case 'a':
            case 'A':
            case 'B':
            case 'c':
            case 'C':
            case 'e':
            case 'E':
            case 'H':
            case 'K':
            case 'm':
            case 'M':
            case 'o':
            case 'O':            
            case 'p':
            case 'P':            
            case 'T':
            case 'u':
            case 'x':
            case 'X':
            case 'y':
            case 'Y':
            {
                number++;
            }break;
        }
    }
    std::cout << "Количество букв в строке, совпадающих по написанию с буквами русского алфавита:" << number;
    return 0;
}
1
1186 / 468 / 68
Регистрация: 22.09.2023
Сообщений: 1,407
28.10.2023, 12:36
Цитата Сообщение от bonegato Посмотреть сообщение
Можно ли его сделать лучше или проще?
можно уменьшить количество писанины:
C++
1
2
3
4
5
6
7
8
9
10
11
    for (int i = 0; i <= str.length(); i++)
    {
        auto c = str[i];
        if(false
         || (c == 'a') || (c == 'A') || (c == 'B') || (c == 'c') || (c == 'C') || (c == 'm') 
         || (c == 'M') || (c == 'x') || (c == 'X') || (c == 'k') || (c == 'K') || (c == 'H') 
         || (c == 'e') || (c == 'E') || (c == 'T') || (c == 'y') || (c == 'Y') || (c == 'o')
         || (c == 'O') || (c == 'P') || (c == 'p')
        )
            number++;
    }
1
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,008
28.10.2023, 14:52
Как вариант (если проверяем "на совпадение" только английские буквы):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int func (char* s)
{
  int number = 0;
  char* tmp = "aABeEuKmMHoOpPcCTyxX";
  for (int i = 0; s[i] != '\0' ; i++)
    for (int j = 0; tmp[j] != '\0' ; j++)
      if (s[i] == tmp[j])
      {
        number++;
        break;
      }
  return number;
}
1
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
30.10.2023, 02:55
Если вам не жалко 256 байт, можно сделать так:
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
#include <iostream>
 
static bool characters[256]{};
 
void initializeCharacters() {
    characters['a'] = true;
    characters['A'] = true;
    characters['B'] = true;
    characters['c'] = true;
    characters['C'] = true;
    characters['e'] = true;
    characters['E'] = true;
    characters['H'] = true;
    characters['K'] = true;
    characters['m'] = true;
    characters['M'] = true;
    characters['o'] = true;
    characters['O'] = true;
    characters['p'] = true;
    characters['P'] = true;
    characters['T'] = true;
    characters['u'] = true;
    characters['x'] = true;
    characters['X'] = true;
    characters['y'] = true;
    characters['Y'] = true;
}
 
int main() {
    initializeCharacters();
 
    std::size_t count = 0;
    for (unsigned char c = 0; std::cin >> c;) {
        count += characters[static_cast<std::size_t>(c)];
    }
    std::cout << "Количество букв в строке, совпадающих по написанию с буквами русского алфавита:" << count;
    return 0;
}
1
1186 / 468 / 68
Регистрация: 22.09.2023
Сообщений: 1,407
30.10.2023, 11:12
Цитата Сообщение от lemegeton Посмотреть сообщение
можно сделать так:
Красивое решение. А если пойти дальше - можно массив вынести в отдельный .c файл, там объявить его константным и проинициализировать прямо в точке определения. Тогда на этапе исполнения не будет тратиться время на заполнение этого массива, просто вместе с исполняемым кодом будет подгружаться уже готовый образ массива. К сожалению, плюсы не позволяют инициализацию вида
C++
1
2
3
4
5
6
static bool characters[256] = 
{
    ['a'] = true,
    ['A'] = true,
    ......
};
Однако, может можно что-то намутить с constexpr?
0
фрилансер
 Аватар для Алексей1153
6444 / 5637 / 1128
Регистрация: 11.10.2019
Сообщений: 14,995
30.10.2023, 11:28
но switch всё равно будет эффективнее, мне кажется

Добавлено через 2 минуты
про inline я удалил, там что-то нужно придумывать

Добавлено через 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
41
#include <iostream>
#include <array>
 
constexpr auto initializeCharacters()
{
    std::array<bool,256> characters{};
    characters['a'] = true;
    characters['A'] = true;
    characters['B'] = true;
    characters['c'] = true;
    characters['C'] = true;
    characters['e'] = true;
    characters['E'] = true;
    characters['H'] = true;
    characters['K'] = true;
    characters['m'] = true;
    characters['M'] = true;
    characters['o'] = true;
    characters['O'] = true;
    characters['p'] = true;
    characters['P'] = true;
    characters['T'] = true;
    characters['u'] = true;
    characters['x'] = true;
    characters['X'] = true;
    characters['y'] = true;
    characters['Y'] = true;
    return characters;
}
 
constexpr auto characters=initializeCharacters();
 
int main()
{
    std::size_t count = 0;
    for (unsigned char c = 0; std::cin >> c;) {
        count += characters[static_cast<std::size_t>(c)];
    }
    std::cout << "Количество букв в строке, совпадающих по написанию с буквами русского алфавита:" << count;
    return 0;
}
1
1186 / 468 / 68
Регистрация: 22.09.2023
Сообщений: 1,407
30.10.2023, 11:30
Цитата Сообщение от Алексей1153 Посмотреть сообщение
но switch всё равно будет эффективнее
Смотря какой критерий эффективности. Для системы без распараллеливания вариант с массивом будет самым быстрым - там всего одно косвенное обращение к памяти. if с таким количеством вариантов будет самым компактным. switch с таким количеством веток умный компилятор сведет к тому же коду, что и if. При этом switch потребует меньше всего нажатий клавиш от программиста. "Я так думаю!"
0
фрилансер
 Аватар для Алексей1153
6444 / 5637 / 1128
Регистрация: 11.10.2019
Сообщений: 14,995
30.10.2023, 11:35
Dushevny, для свича будет, скорее всего, таблица перехода. Для точного ответа надо сравнить ассемблер всех решений
0
фрилансер
 Аватар для Алексей1153
6444 / 5637 / 1128
Регистрация: 11.10.2019
Сообщений: 14,995
30.10.2023, 11:42
свич


массив (причём, как обычный, так и constexpr - выдали одинаковый ассемблер )


осталось только по тактам сравнить, что дешевле
0
1186 / 468 / 68
Регистрация: 22.09.2023
Сообщений: 1,407
30.10.2023, 12:44
Цитата Сообщение от Алексей1153 Посмотреть сообщение
свич
Я не силен в этом ассемблере. Сначала отсек все снизу и сверху, потом переход по таблице?
У меня при оптимизации по размеру свич превращается в набор if, причем весьма компактный:
Assembler
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
  50:main.cpp      **** void test(char ch)
  51:main.cpp      **** {
 188                    .loc 1 51 1 view -0
 189                    .cfi_startproc
 190                    @ args = 0, pretend = 0, frame = 0
 191                    @ frame_needed = 0, uses_anonymous_args = 0
 192                    @ link register save eliminated.
  52:main.cpp      ****     switch(ch)
 193                    .loc 1 52 5 view .LVU37
 194 0000 5928          cmp r0, #89 @ ch,
 195 0002 02D8          bhi .L19        @,
 196 0004 4028          cmp r0, #64 @ ch,
 197 0006 0DD8          bhi .L26        @,
 198                .LVL6:
 199                .L18:
 200                @ main.cpp:78: }
  53:main.cpp      ****     {
  54:main.cpp      ****         case 'a':
  55:main.cpp      ****         case 'A':
  56:main.cpp      ****         case 'B':
ARM GAS  /tmp/ccaSxLjU.s            page 17
 
 
  57:main.cpp      ****         case 'c':
  58:main.cpp      ****         case 'C':
  59:main.cpp      ****         case 'e':
  60:main.cpp      ****         case 'E':
  61:main.cpp      ****         case 'H':
  62:main.cpp      ****         case 'K':
  63:main.cpp      ****         case 'm':
  64:main.cpp      ****         case 'M':
  65:main.cpp      ****         case 'o':
  66:main.cpp      ****         case 'O':
  67:main.cpp      ****         case 'p':
  68:main.cpp      ****         case 'P':
  69:main.cpp      ****         case 'T':
  70:main.cpp      ****         case 'u':
  71:main.cpp      ****         case 'x':
  72:main.cpp      ****         case 'X':
  73:main.cpp      ****         case 'y':
  74:main.cpp      ****         case 'Y':
  75:main.cpp      ****             number++;
  76:main.cpp      ****             break;
  77:main.cpp      ****     }
  78:main.cpp      **** }
 201                    .loc 1 78 1 is_stmt 0 view .LVU38
 202 0008 7047          bx  lr  @
 203                .LVL7:
 204                .L19:
 205                @ main.cpp:52:     switch(ch)
  52:main.cpp      ****     switch(ch)
 206                    .loc 1 52 5 view .LVU39
 207 000a 6138          subs    r0, r0, #97 @ tmp142, ch,
 208                .LVL8:
  52:main.cpp      ****     switch(ch)
 209                    .loc 1 52 5 view .LVU40
 210 000c C0B2          uxtb    r0, r0  @ _17, tmp142
 211 000e 1828          cmp r0, #24 @ _17,
 212 0010 0FD8          bhi .L27        @,
 213 0012 084B          ldr r3, .L28    @ tmp129,
 214 0014 C340          lsrs    r3, r3, r0  @ tmp128, tmp129, _17
 215 0016 DA07          lsls    r2, r3, #31 @, tmp128,
 216 0018 F6D5          bpl .L18        @,
 217                .L22:
  54:main.cpp      ****         case 'A':
 218                    .loc 1 54 9 is_stmt 1 view .LVU41
  55:main.cpp      ****         case 'B':
 219                    .loc 1 55 9 view .LVU42
  56:main.cpp      ****         case 'c':
 220                    .loc 1 56 9 view .LVU43
  57:main.cpp      ****         case 'C':
 221                    .loc 1 57 9 view .LVU44
  58:main.cpp      ****         case 'e':
 222                    .loc 1 58 9 view .LVU45
  59:main.cpp      ****         case 'E':
 223                    .loc 1 59 9 view .LVU46
  60:main.cpp      ****         case 'H':
 224                    .loc 1 60 9 view .LVU47
  61:main.cpp      ****         case 'K':
 225                    .loc 1 61 9 view .LVU48
ARM GAS  /tmp/ccaSxLjU.s            page 18
 
 
  62:main.cpp      ****         case 'm':
 226                    .loc 1 62 9 view .LVU49
  63:main.cpp      ****         case 'M':
 227                    .loc 1 63 9 view .LVU50
  64:main.cpp      ****         case 'o':
 228                    .loc 1 64 9 view .LVU51
  65:main.cpp      ****         case 'O':
 229                    .loc 1 65 9 view .LVU52
  66:main.cpp      ****         case 'p':
 230                    .loc 1 66 9 view .LVU53
  67:main.cpp      ****         case 'P':
 231                    .loc 1 67 9 view .LVU54
  68:main.cpp      ****         case 'T':
 232                    .loc 1 68 9 view .LVU55
  69:main.cpp      ****         case 'u':
 233                    .loc 1 69 9 view .LVU56
  70:main.cpp      ****         case 'x':
 234                    .loc 1 70 9 view .LVU57
  71:main.cpp      ****         case 'X':
 235                    .loc 1 71 9 view .LVU58
  72:main.cpp      ****         case 'y':
 236                    .loc 1 72 9 view .LVU59
  73:main.cpp      ****         case 'Y':
 237                    .loc 1 73 9 view .LVU60
  74:main.cpp      ****             number++;
 238                    .loc 1 74 9 view .LVU61
  75:main.cpp      ****             break;
 239                    .loc 1 75 13 view .LVU62
 240                @ main.cpp:75:             number++;
  75:main.cpp      ****             break;
 241                    .loc 1 75 19 is_stmt 0 view .LVU63
 242 001a 074A          ldr r2, .L28+4  @ tmp145,
 243 001c 1368          ldr r3, [r2]    @ number, number
 244 001e 0133          adds    r3, r3, #1  @ tmp147, number,
 245 0020 1360          str r3, [r2]    @ tmp147, number
  76:main.cpp      ****     }
 246                    .loc 1 76 13 is_stmt 1 view .LVU64
 247                @ main.cpp:78: }
 248                    .loc 1 78 1 is_stmt 0 view .LVU65
 249 0022 7047          bx  lr  @
 250                .LVL9:
 251                .L26:
 252                @ main.cpp:52:     switch(ch)
  52:main.cpp      ****     {
 253                    .loc 1 52 5 view .LVU66
 254 0024 054B          ldr r3, .L28+8  @ tmp137,
 255 0026 4138          subs    r0, r0, #65 @ tmp134, ch,
 256                .LVL10:
  52:main.cpp      ****     {
 257                    .loc 1 52 5 view .LVU67
 258 0028 C0B2          uxtb    r0, r0  @ tmp135, tmp134
 259 002a C340          lsrs    r3, r3, r0  @ tmp136, tmp137, tmp135
 260 002c DB07          lsls    r3, r3, #31 @, tmp136,
 261 002e F4D4          bmi .L22        @,
 262                @ main.cpp:78: }
 263                    .loc 1 78 1 view .LVU68
 264 0030 7047          bx  lr  @
 265                .L27:
 266 0032 7047          bx  lr  @
 267                .L29:
 268                    .align  2
 269                .L28:
 270 0034 15D09001      .word   26267669
 271 0038 00000000      .word   number
 272 003c 97D48801      .word   25744535
 273                    .cfi_endproc
Добавлено через 21 минуту
Цитата Сообщение от Dushevny Посмотреть сообщение
У меня при оптимизации по размеру свич превращается в набор if, причем весьма компактный:
Код идентичен if-ам, как я и предполагал:
Assembler
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
  49:main.cpp      **** int number;
  50:main.cpp      **** void test(char c)
  51:main.cpp      **** {
 188                    .loc 1 51 1 view -0
 189                    .cfi_startproc
 190                    @ args = 0, pretend = 0, frame = 0
 191                    @ frame_needed = 0, uses_anonymous_args = 0
 192                    @ link register save eliminated.
  52:main.cpp      ****     if(false
 193                    .loc 1 52 5 view .LVU37
 194 0000 5928          cmp r0, #89 @ c,
 195 0002 02D8          bhi .L19        @,
 196 0004 4028          cmp r0, #64 @ c,
 197 0006 0DD8          bhi .L26        @,
 198                .LVL6:
 199                .L18:
 200                @ main.cpp:59: }
  53:main.cpp      ****     || (c == 'a') || (c == 'A') || (c == 'B') || (c == 'c') || (c == 'C') || (c == 'm')
  54:main.cpp      ****     || (c == 'M') || (c == 'x') || (c == 'X') || (c == 'k') || (c == 'K') || (c == 'H')
  55:main.cpp      ****     || (c == 'e') || (c == 'E') || (c == 'T') || (c == 'y') || (c == 'Y') || (c == 'o')
  56:main.cpp      ****     || (c == 'O') || (c == 'P') || (c == 'p')
ARM GAS  /tmp/ccJUmTK8.s           page 17
 
 
  57:main.cpp      ****     )
  58:main.cpp      ****        number++;
  59:main.cpp      **** }
 201                    .loc 1 59 1 is_stmt 0 view .LVU38
 202 0008 7047          bx  lr  @
 203                .LVL7:
 204                .L19:
 205                    .loc 1 59 1 view .LVU39
 206 000a 6138          subs    r0, r0, #97 @ tmp142, c,
 207                .LVL8:
 208                    .loc 1 59 1 view .LVU40
 209 000c C0B2          uxtb    r0, r0  @ _17, tmp142
 210 000e 1828          cmp r0, #24 @ _17,
 211 0010 0FD8          bhi .L27        @,
 212 0012 084B          ldr r3, .L28    @ tmp129,
 213 0014 C340          lsrs    r3, r3, r0  @ tmp128, tmp129, _17
 214 0016 DA07          lsls    r2, r3, #31 @, tmp128,
 215 0018 F6D5          bpl .L18        @,
 216                .L22:
  58:main.cpp      **** }
 217                    .loc 1 58 8 is_stmt 1 view .LVU41
 218                @ main.cpp:58:        number++;
  58:main.cpp      **** }
 219                    .loc 1 58 14 is_stmt 0 view .LVU42
 220 001a 074A          ldr r2, .L28+4  @ tmp145,
 221 001c 1368          ldr r3, [r2]    @ number, number
 222 001e 0133          adds    r3, r3, #1  @ tmp147, number,
 223 0020 1360          str r3, [r2]    @ tmp147, number
 224                @ main.cpp:59: }
 225                    .loc 1 59 1 view .LVU43
 226 0022 7047          bx  lr  @
 227                .LVL9:
 228                .L26:
 229                    .loc 1 59 1 view .LVU44
 230 0024 054B          ldr r3, .L28+8  @ tmp137,
 231 0026 4138          subs    r0, r0, #65 @ tmp134, c,
 232                .LVL10:
 233                    .loc 1 59 1 view .LVU45
 234 0028 C0B2          uxtb    r0, r0  @ tmp135, tmp134
 235 002a C340          lsrs    r3, r3, r0  @ tmp136, tmp137, tmp135
 236 002c DB07          lsls    r3, r3, #31 @, tmp136,
 237 002e F4D4          bmi .L22        @,
 238 0030 7047          bx  lr  @
 239                .L27:
 240 0032 7047          bx  lr  @
 241                .L29:
 242                    .align  2
 243                .L28:
 244 0034 15D48001      .word   25220117
 245 0038 00000000      .word   number
 246 003c 97D48801      .word   25744535
 247                    .cfi_endproc
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.10.2023, 12:44
Помогаю со студенческими работами здесь

Оцените сбору и дайте совет ^_^
В наличии есть 45000 тысяч рублей (700долларов) хотел бы что бы вы мне помогли со сборкой компьютера, заранее благодарю и надеюсь на вашу...

Оцените дизайн, дайте совет
Делаю приложение на андроид, сделал дизайн, как дизайнер не силен, поэтому нужны советы тех кто уже занимался разработкой приложений,...

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

Оцените сборку и дайте совет
Доброго времени суток, я хочу собрать такую систему Процессор - Intel Core i5-6600K(4.6) Материнская плата - ASUS Z170-A RAM -...

Оцените сборку. Дайте совет
Доброго времени суток, уважаемые форумчане. Вот начал подумывать о приобретении PC, да вот только я совсем не разбираюсь в этом деле. ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru