Автор Тема: C++ задача 2  (Прочетена 1878 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

aliench0

  • Newbie
  • *
  • Благодарности
  • -Казани: 10
  • -Получени: 0
  • Публикации: 42
C++ задача 2
« -: 05 Януари 2012, 17:26:01 »
Здравейте пак! Отново имам въпрос... това е част от една по голяма задача, но  общо взето имам масив а от  цели числа 5<=n<=50. Да приемем че n=5, а[5]={1,2,3,4,5}. Иска се да се състави низ b от тези цифри, т.е cout<<b; да изведе 12345 (като текст). Трябва от int да преминат в char (поне така мисля)... аз нямам и идея как ще стане това.. Благодаря предварително! :) И ако не сте ме разбрали (защото по принцип не обяснявам хубаво), пишете ще се опитам да обясня по-подробно :)

Drakonov

  • Гост
Re: C++ задача 2
« Отговор #1 -: 05 Януари 2012, 17:31:37 »
Не ти разбрах обяснението, но от int в char може да преминеш така:
int a;
char b;

b = (char)a;

Само да отбележа, че ако стойността на инт е повече от 255 ще се получи загуба на информация!
Например ако int i = 0xAABBCCDD; , то char c = (char)i; ще бъде равно на 0xDD

ЕДИТ: Мисля че разбрах какво искаш, но няма да стане като преобразуваш int  в char, защото числата не отговарят на ASCII кода си!
Ето ти един алторитъм
1 Проверяваш дали числото е между 0 и 9 включително
2 Ако е записваш ASCII кода му в масива
3 Ако не е го превръщаш в ЦИФРИ от 1 до 9 и изпълняваш предишните стъпки за всяка цифра
« Последна редакция: 05 Януари 2012, 17:39:12 от Kalessin »

aliench0

  • Newbie
  • *
  • Благодарности
  • -Казани: 10
  • -Получени: 0
  • Публикации: 42
Re: C++ задача 2
« Отговор #2 -: 05 Януари 2012, 17:37:28 »
Мерси, ще помисля още.. да видя дали ще го измисля :)

Drakonov

  • Гост
Re: C++ задача 2
« Отговор #3 -: 05 Януари 2012, 17:38:29 »
написах ти един алгоритъм, ама горе в предишния ми пост  :)

Stilgar

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 0
  • -Получени: 42
  • Публикации: 1406
    • The Sietch
Re: C++ задача 2
« Отговор #4 -: 05 Януари 2012, 17:41:42 »
Популярната функция за това упражнение се казва itoa (обратната се казва atoi)

Гледам, че професионалистите ползват и други неща:
http://stackoverflow.com/questions/5590381/easiest-way-to-convert-int-to-string-in-c

Zealar

  • Full Member
  • ***
  • Благодарности
  • -Казани: 0
  • -Получени: 17
  • Публикации: 152
Re: C++ задача 2
« Отговор #5 -: 05 Януари 2012, 21:32:30 »
Защо не покажеш условието направо? Това което виждам в момента ми са струва безсмислено.
А и "да изведе 12345 (като текст)" на мен ми изглежда така "едно, две, три..."
Иначе дали ще изведеш число(в конзолата) от string, char, int ... разлика няма.
Пък и как точно на "char" са спря не знам String > Char (за подобни програми).