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

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

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

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

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

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <clocale>
#include <Windows.h>
char *func(char *str,int kst);
char newstr[150];
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    printf("Ââåäèòå Г°Г*çìåð ïðåäëîæåГ*ГЁГї:\n");
    int kst;
    scanf("%d",&kst);
    fflush(stdin);
    printf("Ââåäèòå ïðåäëîæåГ*ГЁГҐ:");
    char str[150];
    gets(str);
    
    puts(func(str,kst));
    
    getchar;
    return 0;
}
 
char *func(char *str,int kst)
{
    int i,k=0;
    for(i=0;*str!='\0';str++)
    {   putchar(*str);
        if(*str=='a')
        {   
            newstr[i]='a';
            i++;
        }
    }
 
    return(newstr);
}

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

  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
Похожие ответы