Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
kingler1
0 / 0 / 1
Регистрация: 08.04.2016
Сообщений: 21
1

Исправить код, чтобы он не использовал динамическую память

22.06.2016, 08:58. Просмотров 752. Ответов 3
Метки си (Все метки)

Помогите исправить код.Чтобы он был без динамической памяти и библиотеки string.h.

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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
void dropString (char *str, int n, char *result)
{
    strcpy(result, str + n);
}
int main()
{
    char str[] = "Hey you, hey you,Devil's little sister,listening to your twisted transistor";
    char *p = NULL;
    int n;
    do{
    puts("Enter number simbols:");
    scanf("%d", &n);
    if(n >= strlen(str))
        puts("too much, try less");
    else break;
    }while(1);
    p = malloc((strlen(str) - n) * sizeof(p));
    dropString (str, n, p);
    puts(p);
    free(p);
    return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2016, 08:58
Ответы с готовыми решениями:

Записать матрицу в динамическую память
Всем привет. Вообщем нужно в динамической памяти выделить место для записи...

Задачи на указатели и динамическую память
Помогите пож-ста с задачей Вычислить значения y некоторой функции F(x) в n...

Не получается загрузить структуру в динамическую память
Есть массив структур треугольников, нужно прочесть из файла длину 3-х сторон...

Исправить код так, чтобы он распечатывал числа в диапазоне от 1 до N
Ребята помогите исправить код так, чтобы она распечатывала числа в диапазоне от...

Подскажите как переделать программу в динамическую память
#include &lt;stdio.h&gt; #include &lt;locale.h&gt; #include &lt;stdlib.h&gt; #include...

3
HighPredator
5686 / 2006 / 722
Регистрация: 10.12.2010
Сообщений: 5,768
Записей в блоге: 3
22.06.2016, 10:02 2
Условие как звучит?
0
kingler1
0 / 0 / 1
Регистрация: 08.04.2016
Сообщений: 21
22.06.2016, 10:43  [ТС] 3
Написать функцию обработки строк: в качестве аргументов передаются в том числе строки, где конец обозначается нулевым символом '\0'.
1.
C
1
void dropString (char *str, int n, char *result);
Функция пропускает первые n символов из строки str и формирует из оставшихся символов строку result. Функция не должна выходить за пределы str. Например,
C
1
2
3
4
char str[] = "Zug Zug!";
char result[sizeof(str) / sizeof(*str)];
dropString(str, 4, result); // "Zug!"
dropString(str, 100, result); //
0
HighPredator
5686 / 2006 / 722
Регистрация: 10.12.2010
Сообщений: 5,768
Записей в блоге: 3
22.06.2016, 13:57 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
#include <stdio.h>
 
size_t strlen(const char* const str)
{
  size_t length = 0;
 
  const char* iterator = str;
 
  while (*iterator != '\0')
  {
    length++;
    iterator++;
  }
 
  return length;
}
 
char* strcpy(char* dest, const char* src)
{
  while ((*dest++ = *src++) != '\0');
  return dest;
}
 
void dropString(const char* const str, const size_t n, char* const result)
{
  if (strlen(str) >= n) strcpy(result, str + n);
}
 
int main(void)
{
  char res[24];
 
  dropString("this is a test string", 4, res);
  
  printf("'%s'\n", res);
 
  return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2016, 13:57

Как выделить динамическую память для матрицы?
Как выделить динамическую память для матрицы?

Подскажите, как выделить динамическую память в функции?
Добрый вечерок^_^ Подскажите, как выделить динамическую память под матрицу...

Как массив структур записать в динамическую память
Привет всем, осваиваю язык Си по-маленьку. Ума не приложу как этот массив...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru