Создать функцию, которая принимает указатель на массив и количество элементов - 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
и выводится результат. - Программа завершается после получения символа ввода.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д