J
jonijo
Всем всем здраствуйте.Посмотрите пожалуйста в чём мои ошибки.Ниже приведена функция
которая принимает на вход строку символов в которой записано восьмеричное число ,переводит каждый символ в число и записывает эти числа в обратном порядке в новый массив.Далее она переводит каждый элемент массива (нового) в десятичное число.После чего каждое десятичное число переводит опять в символы и записывает в первоначальный массив.то есть на входе строка с восьмеричным числом на выходе строка с десятичным числом. Я как бы перевёл но не могу получить результат Хотелось бы канибудь с использованием указателей.т.к тут ещё потом будут др.системы счисления.
вот код функции desy:
#include "step.h"
#include <string.h>
void desy (char str [])
{
char *ip; /*указатель на массив*/
int i,k,summa,c;
int mas [30];
k=strlen (str);
for (i=0;i<=strlen(str)-1;++i) /*перевожу каждый элемент str в число и сохр.в новый массив*/
mas [k-1-i]=str -'0';
for (i=0;i<=strlen(str)-1;++i){
mas =mas*power (8,i); /*перевожу каждый элемент массива в десятичное сичло из восьмеричного*/
str =mas+'0'; /*перевожу элементы массива с десятичными элементами в символы*/
}
ip=&str; /*тут что-то не так нитак*/
}
которая принимает на вход строку символов в которой записано восьмеричное число ,переводит каждый символ в число и записывает эти числа в обратном порядке в новый массив.Далее она переводит каждый элемент массива (нового) в десятичное число.После чего каждое десятичное число переводит опять в символы и записывает в первоначальный массив.то есть на входе строка с восьмеричным числом на выходе строка с десятичным числом. Я как бы перевёл но не могу получить результат Хотелось бы канибудь с использованием указателей.т.к тут ещё потом будут др.системы счисления.
вот код функции desy:
#include "step.h"
#include <string.h>
void desy (char str [])
{
char *ip; /*указатель на массив*/
int i,k,summa,c;
int mas [30];
k=strlen (str);
for (i=0;i<=strlen(str)-1;++i) /*перевожу каждый элемент str в число и сохр.в новый массив*/
mas [k-1-i]=str -'0';
for (i=0;i<=strlen(str)-1;++i){
mas =mas*power (8,i); /*перевожу каждый элемент массива в десятичное сичло из восьмеричного*/
str =mas+'0'; /*перевожу элементы массива с десятичными элементами в символы*/
}
ip=&str; /*тут что-то не так нитак*/
}