Форум программистов, компьютерный форум, киберфорум
Наши страницы

C для начинающих

Войти
Регистрация
Восстановить пароль
 
kingler1
0 / 0 / 0
Регистрация: 08.04.2016
Сообщений: 21
#1

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

22.06.2016, 08:58. Просмотров 142. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Исправить код, чтобы он не использовал динамическую память (C (СИ)):

Записать матрицу в динамическую память - C (СИ)
Всем привет. Вообщем нужно в динамической памяти выделить место для записи матрицы, заполнить матрицу случайными числами(от 10 до 999) и...

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

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

Исправить код так, чтобы он распечатывал числа в диапазоне от 1 до N - C (СИ)
Ребята помогите исправить код так, чтобы она распечатывала числа в диапазоне от 1 до N, у которых есть хотя бы один двухзначный делитель...

Подскажите, как выделить динамическую память в функции? - C (СИ)
Добрый вечерок^_^ Подскажите, как выделить динамическую память под матрицу внутри функции) Если что, задание: #include &quot;stdafx.h&quot; ...

Как выделить динамическую память для матрицы? - C (СИ)
Как выделить динамическую память для матрицы?

3
HighPredator
5637 / 1953 / 370
Регистрация: 10.12.2010
Сообщений: 5,663
Записей в блоге: 3
22.06.2016, 10:02 #2
Условие как звучит?
0
kingler1
0 / 0 / 0
Регистрация: 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
5637 / 1953 / 370
Регистрация: 10.12.2010
Сообщений: 5,663
Записей в блоге: 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
Привет! Вот еще темы с ответами:

Подскажите как переделать программу в динамическую память - C (СИ)
#include &lt;stdio.h&gt; #include &lt;locale.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; int main(void) {setlocale(LC_ALL,&quot;RU&quot;); int...

Как массив структур записать в динамическую память - C (СИ)
Привет всем, осваиваю язык Си по-маленьку. Ума не приложу как этот массив запихнуть в динамическую память? #define N 20 static...

Исправить код так, чтобы функция obnulenie изменяла элементы структуры - C (СИ)
#include &lt;stdio.h&gt; struct asd { public: int j; char s; }; void obnulenie() {

Считывание строки из файла в динамическую память - считываются лишние символы - C (СИ)
Здравствуйте. Мне нужно считать текст из файла в строку в динамической памяти. #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include...


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

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

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