Объесните Плиз Готовый Код Программы

31.10.2011
15
0
#1
помогите поставьте плиз коментарии в программе напротив строк . :please:

Код:
#include <iostream>
#include <stdlib>
using namespace std;

char *itos(int, char *, int);

int main(){
char *s = new char[100];
int num, radix;

cout << "num: "; cin >> num;
cout << "radix: "; cin >> radix;

cout << "itoa: " << itoa(num, s, radix) << endl;
cout << "itos: " << itos(num, s, radix) << endl;

delete [] s;
system("pause");
return 0;
}

char *itos(int num, char *s, int radix){
int c = 0;
while (num != 0){
int t = num % radix;
num = num / radix;
if (t < 10) s[c] = (char)(t + '0');
else s[c] = (char)('a' - 10 + t);
c++;
}
for (int i = 0; i < c / 2; i++) swap(s[i], s[c - i - 1]);
return s;
}
 
C

coolplayer

#2
Странное задание, наваял немного:

Код:
#include <iostream>
#include <stdlib>
using namespace std; // подключение пространства имен std

char *itos(int, char *, int); // прототип функции itos, содержащей 3 аргумента

int main(){
char *s = new char[100]; // задание переменной символьного типа. New дает команду дать компилятору свободное место для хранения данных. * - указатель
int num, radix; // объявление двух переменных целого типа

cout << "num: "; cin >> num; // вывод переменной num
cout << "radix: "; cin >> radix; // вывод переменной radix

cout << "itoa: " << itoa(num, s, radix) << endl; // вывод результата применения функции itoa. Она у вас нигде не задается. Тут ошибка.
cout << "itos: " << itos(num, s, radix) << endl; // вывод результата применения функции itos с переменными в скобках.

delete [] s; // высвобождение памяти, занятой переменной s
system("pause");
return 0; // функция main возвращает 0, функции по умолчанию должны что то возвращать
}

char *itos(int num, char *s, int radix){ 
int c = 0;
while (num != 0){ //пока переменная num не равна 0 выполнять
int t = num % radix; // t - остаток от деления num на radix
num = num / radix; // num - целая часть от деления
if (t < 10) s[c] = (char)(t + '0');
else s[c] = (char)('a' - 10 + t);
c++;
}
for (int i = 0; i < c / 2; i++) swap(s[i], s[c - i - 1]);
return s;
}
 

Stashevckiy

Well-known member
23.10.2011
56
0
#3
cout << "itoa: " << itoa(num, s, radix) << endl; // вывод результата применения функции itoa. Она у вас нигде не задается. Тут ошибка.
Здесь нет ошибки. itoa - это стандартная функция C++. Все тут в порядке.
 
31.10.2011
15
0
#4
так уже не надо было я понимаю задания функций переменных вывад ввод и т.д а вот
C++:
itoa
незнаю.

плиз что здесь??
C++:
if (t < 10) s[c] = (char)(t + '0');
else s[c] = (char)('a' - 10 + t);
c++;
}
for (int i = 0; i < c / 2; i++) swap(s[i], s[c - i - 1]);
return s;
}

вобщем задание на кортинке мне нужно 10-тое.
я думал разобрать код и зделать но никак....



Добавлено:


Добавлено: