Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 12.03.2015
Сообщений: 1
1

Если длина строки S больше N, то отбросить первые символы

12.03.2015, 16:57. Показов 2139. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста.
Дано целое число N(>0) и строка S. Преобразовать строку S в строку длинны N следующим образом: если длина строки S больше N, то отбросить первые символы, если длина строки меньше N, то в ее начало добавить символ '.'(точка)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2015, 16:57
Ответы с готовыми решениями:

Если длина строки S больше N, то отбросить первые символы
Дано целое число N (> 0) и строка S. Преобразовать строку S в строку длины N следующим образом: ...

Если длина строки S больше N, то отбросить первые символы
Дана строка S и число N. Преобразовать строку S в строку длины N следующим образом: если длина...

если длина строки S больше N, то отбросить первые символы, если длина строки S меньше N, то в ее начало добавить символы "."
Дана строка S и число N. Преобразовать строку S в строку длины N следующим образом: если длина...

Если длина строки больше заданной, отбросить первые символы, иначе в ее начало добавить символы "."
4.Дана строка S и число N. Преобразовать строку S в строку длины N следующим образом: если длина...

1
136 / 67 / 27
Регистрация: 18.06.2014
Сообщений: 216
13.03.2015, 20:59 2
Лучший ответ Сообщение было отмечено Asimi как решение

Решение

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
45
46
47
48
49
50
51
#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
 
char* magic_function(const char* S, size_t N, size_t length);
 
int main()
{
    char S1[13] = "Hello world!";
    char* S2 = magic_function(S1, 4, 13);
        
    printf("%s", S2);
    
    free(S2);
    
    return 0;
}
 
// 4
// dhdhdahtu5 34 2333
 
char* magic_function(const char* S, size_t N, size_t length)
{
    char* pointer = (char *) malloc(N * sizeof(char));
    size_t i = 0;
    
    if (length > N)
    {        
        while (i < N - 1)
            *(pointer + i) = *(S + length - N + i++);
        
        *(pointer + i + 1) = '\0';
    }
    else if (length < N)
    {
        *pointer = '.';
        i++;
        
        while (i < N - 1)
            *(pointer + i) = *(S + i++);
        
        *(pointer + i + 1) = '\0';
    }
    else
    {
        while (i < N)
            *(pointer + i) = *(S + i++);
    }
    
    return pointer;
}
Код не ухты.
0
13.03.2015, 20:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2015, 20:59
Помогаю со студенческими работами здесь

Если длина строки больше заданной, отбросить первые символы, иначе в её начало добавить символы "."
Дано целое число N (N&gt;0) и строка S.Преобразовать строку S в строку длины N следующим образом:если...

Дана строка S и число N. Преобразовать строку S в строку длины N следующим образом: если длина строки S больше N, то отбросить первые символы
Дана строка S и число N. Преобразовать строку S в строку длины N следующим образом: если длина...

Строка: Если длина строки больше 10, то оставить только первые 6 символов...
Дана строка.Если ее длина больше 10,то оставить в строке только первые 6 символов,иначе дополнить...

Дано целое число N(>0) и строка S. Преобразовать строку S в строку длинны N следующим образом: если длинна строки S больше Т, то отбросить первые симв
Дано целое число N(&gt;0) и строка S. Преобразовать строку S в строку длинны N следующим образом: если...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru