Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2011, 11:08   #1
cheef
Форумчанин
 
Регистрация: 16.03.2009
Сообщений: 205
По умолчанию Itoa и atoa

Код:
#include <iostream>
#include <cstdlib>
#include <cctype>
#include <string>
#include <stdio.h>
using namespace std;
int main()
{
   string s1,s2;
   cout <<"Вводит число 1 участник игры \n";
   getline(cin, s1);
   cout <<"Вводит число 2 участник игры \n";
   getline(cin, s2);
   int a[s1.length()],b[s2.length()],i(0),j(0),temp(0),one(0),two(0);
   for (i = 0; i <= s1.length() - 1; i++)
   {
      itoa(s1[i],a[i],10);
   }
   for (i = 0; i <= s2.length() - 1; i++)
   {
      itoa(s2[i],b[i],10);
   }
   for (i = 0; i <= s1.length(); i++)
   {
      for (j = 0; j <= s1.length(); j++)
      {
         if (a[j] < a[j+1])
         {
            temp = a[j];
            a[j] = a[j+1];
            a[j+1] = temp;
         }
      }
   }
   for (i = 0; i <= s2.length(); i++)
   {
      for (j = 0; j <= s2.length(); j++)
      {
         if (b[j] < b[j+1])
         {
            temp = b[j];
            b[j] = b[j+1];
            b[j+1] = temp;
         }
      }
   }
   cout << endl << "Первое максимальное число - " << one << ", второе максимальное число - " << two << endl;
   if (one > two) cout << "Победил 1 игрок";
   if (one < two) cout << "Победил 2 игрок";
   if (one == two) cout << "Победила дружба";
   cout << endl;
   return(0);
}
Ошибки:
Цитата:
c4.c: In function ‘int main()’:
c4.c:17: error: ‘itoa’ was not declared in this scope
c4.c:21: error: ‘itoa’ was not declared in this scope
В какой библиотеке itoa? Я сижу из под Linux.
cheef вне форума Ответить с цитированием
Старый 14.05.2011, 15:02   #2
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Цитата:
В какой библиотеке itoa? Я сижу из под Linux.
Не поддерживается...
Сам пиши функцию перевода. через stringstream, например
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 14.05.2011, 15:14   #3
cheef
Форумчанин
 
Регистрация: 16.03.2009
Сообщений: 205
По умолчанию

Прискорбно. А можно ссылку на пример?
cheef вне форума Ответить с цитированием
Старый 14.05.2011, 15:53   #4
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Что-то вроде этого:

Код:
string str = "123456";
istreamstring iss(str);
int number;
iss >> number;
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 14.05.2011, 16:13   #5
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Стоп. Как это не поддерживается. Вот ссылка . Либа cstdlib.
Пример:
Код:
#include <iostream>
#include <cstdlib>
#include <string.h>

using namespace std;

int main()
{
    string s;
    char num[12] = {'\0'};
    int x = 123;

    itoa(x, num, 10);

    s = num;

    cout << s;

    return 0;
}

Последний раз редактировалось profi; 14.05.2011 в 16:23.
profi вне форума Ответить с цитированием
Старый 14.05.2011, 17:22   #6
cheef
Форумчанин
 
Регистрация: 16.03.2009
Сообщений: 205
По умолчанию

Цитата:
Сообщение от profi Посмотреть сообщение
Стоп. Как это не поддерживается. Вот ссылка . Либа cstdlib.
Пример:
Код:
#include <iostream>
#include <cstdlib>
#include <string.h>

using namespace std;

int main()
{
    string s;
    char num[12] = {'\0'};
    int x = 123;

    itoa(x, num, 10);

    s = num;

    cout << s;

    return 0;
}
Не работает. Эта библиотека у меня указана уже была.
cheef вне форума Ответить с цитированием
Старый 15.05.2011, 01:04   #7
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

вместо itoa можете использовать sprintf
itoa действительно не входит в стандарт

пс: цитата из вики
"Функция itoa — широко распространенное нестандартное расширение стандартного языка программирования Си. Ее использование не предусматривает переносимости, поскольку эта функция не определена ни в одном стандарте языка Си; тем не менее, зачастую компиляторы поддерживают ее за счет использования заголовка <stdlib.h>, причем не совсем в удобном виде, так как она весьма близка по смыслу к стандартной библиотечной функции atoi."

Код:
string s1,s2;
   cout <<"Вводит число 1 участник игры \n";
   getline(cin, s1);
   cout <<"Вводит число 2 участник игры \n";
   getline(cin, s2);
   int a[s1.length()],b[s2.length()],i(0),j(0),temp(0),one(0),two(0);
ппс:
вы уверены что int a[s1.length()],b[s2.length()] - это то вам нужно?

Последний раз редактировалось onewho; 15.05.2011 в 01:09.
onewho вне форума Ответить с цитированием
Старый 15.05.2011, 05:08   #8
cheef
Форумчанин
 
Регистрация: 16.03.2009
Сообщений: 205
По умолчанию

Цитата:
Сообщение от onewho Посмотреть сообщение
ппс:
вы уверены что int a[s1.length()],b[s2.length()] - это то вам нужно?
Это задание c4 из егэ по информатике. Там в задании написано, что нужно создавать массив исходя из кол-ва символов в введёном числе.
cheef вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
itoa Natysya Общие вопросы C/C++ 6 24.11.2010 23:59
С++. Строки. Собственная реализация стандартной функции itoa. |arch| Помощь студентам 0 25.11.2009 00:04