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

Узнай цену своей работы

Формулировка задачи:

Люди! Огромная просьба помочь. Как сделать функцию, которая принимает указатель на массив и количество элементов и возвращает указатель на новый массив? Зарание Спасибо

Решение задачи: «Создать функцию, которая принимает указатель на массив и количество элементов»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <clocale>
  5. #include <Windows.h>
  6. char *func(char *str,int kst);
  7. char newstr[150];
  8.  
  9. int main()
  10. {
  11.     SetConsoleCP(1251);
  12.     SetConsoleOutputCP(1251);
  13.     printf("Ââåäèòå Г°Г*çìåð ïðåäëîæåГ*ГЁГї:\n");
  14.     int kst;
  15.     scanf("%d",&kst);
  16.     fflush(stdin);
  17.     printf("Ââåäèòå ïðåäëîæåГ*ГЁГҐ:");
  18.     char str[150];
  19.     gets(str);
  20.    
  21.     puts(func(str,kst));
  22.    
  23.     getchar;
  24.     return 0;
  25. }
  26.  
  27. char *func(char *str,int kst)
  28. {
  29.     int i,k=0;
  30.     for(i=0;*str!='\0';str++)
  31.     {   putchar(*str);
  32.         if(*str=='a')
  33.         {  
  34.             newstr[i]='a';
  35.             i++;
  36.         }
  37.     }
  38.  
  39.     return(newstr);
  40. }

Объяснение кода листинга программы

  1. Создание функции func, которая принимает указатель на строку str и целое число kst.
  2. Объявление переменной newstr типа char с размером в 150 символов.
  3. Установка кодировки консоли в UTF-8 с помощью SetConsoleCP(1251); и SetConsoleOutputCP(1251);.
  4. Вывод сообщения с просьбой ввести количество символов для копирования.
  5. Считывание введенного значения в переменную kst с помощью scanf(%d,&kst);.
  6. Очистка буфера ввода с помощью fflush(stdin);.
  7. Вывод сообщения с просьбой ввести строку для копирования.
  8. Ввод строки в буфер str.
  9. Вызов функции func с аргументами str и kst.
  10. Вывод результата работы функции func с помощью puts(func(str,kst));.
  11. Получение символа ввода с помощью getchar;.
  12. Завершение работы программы с возвратом значения 0.
  13. В функции func инициализация переменных i и k в 0.
  14. В цикле перебираются символы строки str.
  15. Для каждого символа выводится его значение с помощью putchar(*str);.
  16. Если символ равен 'a', то в массив newstr записывается символ 'a' и значение i увеличивается на 1.
  17. После выхода из цикла возвращается указатель на массив newstr.
  18. В конце функции func возвращается значение newstr.
  19. В конце программы вызывается функция func и выводится результат.
  20. Программа завершается после получения символа ввода.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы