Создать функцию, которая принимает указатель на массив и количество элементов - 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);
- }
Объяснение кода листинга программы
- Создание функции
func
, которая принимает указатель на строкуstr
и целое числоkst
. - Объявление переменной
newstr
типаchar
с размером в 150 символов. - Установка кодировки консоли в UTF-8 с помощью
SetConsoleCP(1251);
иSetConsoleOutputCP(1251);
. - Вывод сообщения с просьбой ввести количество символов для копирования.
- Считывание введенного значения в переменную
kst
с помощьюscanf(
%d,&kst);
. - Очистка буфера ввода с помощью
fflush(stdin);
. - Вывод сообщения с просьбой ввести строку для копирования.
- Ввод строки в буфер
str
. - Вызов функции
func
с аргументамиstr
иkst
. - Вывод результата работы функции
func
с помощьюputs(func(str,kst));
. - Получение символа ввода с помощью
getchar;
. - Завершение работы программы с возвратом значения 0.
- В функции
func
инициализация переменныхi
иk
в 0. - В цикле перебираются символы строки
str
. - Для каждого символа выводится его значение с помощью
putchar(*str);
. - Если символ равен 'a', то в массив
newstr
записывается символ 'a' и значениеi
увеличивается на 1. - После выхода из цикла возвращается указатель на массив
newstr
. - В конце функции
func
возвращается значениеnewstr
. - В конце программы вызывается функция
func
и выводится результат. - Программа завершается после получения символа ввода.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д