Переписать код с использованием функций - C (СИ)
Формулировка задачи:
#include <stdio.h>
#include<math.h>
#define n 5
#define m 8
int a[n],b[m], *p,i;
void main ()
{
clrscr();
p=a;
p=b;
for(i=0;i<n;i++)
scanf("%d",p++);
p=a;
p=b;
for(i=0;i<n;i++)
if(*(p+i)<3)
{
for(i=0;i<n;i++)
*(p+i)=*(p+i)**(p+i);
}
p=a;
p=b;
for(i=0;i<n;i++)
*(p+i)=*(p+i)*0.5;
p=a;
p=b;
for(i=0;i<n;i++)
printf("%d ",*(p+i));
getch();
}Решение задачи: «Переписать код с использованием функций»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
#include <conio.h>
#define n 5
#define m 8
int a[n],b[m], *p, i;
void input(int *begin, int *end)
{
for(p=begin;p!=end;++p)
scanf("%d",p);
}
void output(int *begin, int *end)
{
for(p=begin;p!=end;++p)
printf("%d\t",*p);
}
void exec(int *begin, int *end)
{
int val=*begin;
int *p2=begin;
for(p=begin;p!=end;++p)
if(*p>val)
{
val=*p;
p2=p;
}
for(++p2;p2!=end;++p2)
*p2=0.5;
}
void main ()
{
clrscr();
input(a, a+n);
exec(a, a+n);
output(a, a+n);
input(b, b+m);
exec(b, b+m);
output(b, b+m);
getch();
}
Объяснение кода листинга программы
- Объединение функций
input,execиoutputв одной программе. - Создание массивов
aиbразмеромnиmсоответственно. - Заполнение массива
aзначениями с помощью функцииinput. - Выполнение функции
execдля сортировки массиваaпо возрастанию. - Вывод отсортированного массива
aс помощью функцииoutput. - Заполнение массива
bзначениями с помощью функцииinput. - Выполнение функции
execдля сортировки массиваbпо возрастанию. - Вывод отсортированного массива
bс помощью функцииoutput. - Ввод и вывод производятся с помощью функций
scanfиprintfсоответственно. - Размер массива
nравен 5, а размер массиваmравен 8. - В функции
mainиспользуется функцияclrscrдля очистки экрана. - В функции
mainиспользуется функцияgetchдля ожидания нажатия клавиши. - В функции
mainиспользуется циклforдля обхода массиваaиb. - В функции
mainиспользуется оператор++для инкрементации указателя. - В функции
mainиспользуется операторif-elseдля сравнения значений элементов массива. - В функции
mainиспользуется оператор присваивания=. - В функции
mainиспользуется функцияprintfдля вывода значения переменнойval. - В функции
mainиспользуется функцияscanfдля ввода значения переменнойval. - В функции
mainиспользуется функцияprintfдля вывода значения переменнойp2. - В функции
mainиспользуется функцияscanfдля ввода значения переменнойp2.