Re[5]: AI есть главная причина сокращений в IT
От: RedUser Россия  
Дата: 07.02.25 06:49
Оценка: 2 (1)
Аё>Там алго-вопросы уровня "изи". Кстати, развернуть строку / порядок слов в строке бот не может- генерит тормозной бред, который не собирается.

DeepSeek без проблем сгенерировал. Размышлял, правда, долго.
Разворот строки:
#include <string.h> // Для strlen()

void reverse_string(char *str) {
    if (str == NULL || *str == '\0') {
        return; // Проверка на NULL и пустую строку
    }
    
    char *start = str;
    char *end = str + strlen(str) - 1; // Указатель на последний символ
    
    while (start < end) {
        // Меняем символы местами
        char temp = *start;
        *start = *end;
        *end = temp;
        
        // Сдвигаем указатели к центру
        start++;
        end--;
    }
}

Изменение порядка слов на обратный:
#include <string.h>

// Вспомогательная функция для переворота части строки между start и end
void reverse_range(char *start, char *end) {
    if (start == NULL || end == NULL || start >= end) return;
    
    while (start < end) {
        char temp = *start;
        *start = *end;
        *end = temp;
        start++;
        end--;
    }
}

// Основная функция для переворота слов
void reverse_words(char *str) {
    if (str == NULL || *str == '\0') return;
    
    // 1. Переворачиваем всю строку целиком
    reverse_range(str, str + strlen(str) - 1);
    
    // 2. Переворачиваем каждое слово по отдельности
    char *current = str;
    while (*current) {
        // Пропускаем пробелы
        while (*current == ' ') current++;
        if (*current == '\0') break;
        
        // Находим границы слова
        char *word_start = current;
        while (*current != ' ' && *current != '\0') current++;
        char *word_end = current - 1;
        
        // Переворачиваем найденное слово
        reverse_range(word_start, word_end);
    }
}

Промпты такие использовал:

Напиши функцию на C, которая бы меняла порядок символов в строке на обратный

Есть строка, которая содержит слова, разделённые символом пробела. Напиши функцию на C, которая бы меняла порядок слов в строке на обратный

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.