Написать функцию, которая возвращает целую переменную со значением числа - C (СИ)
Формулировка задачи:
Число в 16-ой системе заданно в виде массива int[10],каждый элемент массива соответствует одному разряду числа,т.е. число,записанное в массиве равно a[0]*16^0+a[1]*16^1....a[9]*16^9.
Написать функции,которые:
1)Возвращает целую переменную со значением числа
2)записывает в массив число,соответствующее целой переменной.
Решение задачи: «Написать функцию, которая возвращает целую переменную со значением числа»
textual
Листинг программы
#pragma argsused
#include <conio.h>
#include <math.h>
int convert(int* arr);
int main(int argc, char* argv[])
{
int arr[10];
int i,res;
for(i=0;i<10;i++)
arr[i]=0;
arr[0]=1;
arr[1]=1;
printf("%d",convert(arr));
getch();
return 0;
}
int convert(int* arr)
{
int i,res=0;
for(i=0;i<10;i++)
res+=arr[i]*(int)pow(16,i);
return res;
}
Объяснение кода листинга программы
В этом коде написана функция convert, которая принимает на вход массив arr, состоящий из 10 целых чисел. Функция складывает все числа в массиве, возводя каждое число в степень 16 в соответствии с его индексом в массиве. Результат возвращается в качестве целого числа. В функции main создается массив arr размером 10, инициализированный нулями. Затем два элемента массива (arr[0] и arr[1]) устанавливаются равными 1. Затем вызывается функция convert с аргументом arr, и результат выводится на консоль. Код не обрабатывает ошибки, поэтому предполагается, что все вызовы функций в коде корректны и не приведут к ошибкам выполнения программы.