Пн, 20.05.2019, 20:35
Форум інформатиків України
Головна Реєстрація Вхід
Вітаю Вас, Гість · RSS
Вітання на форумі
Незнайомець
Вітаємо на форумі,
Незнайомцю!

 
зареєструйтесь
Перед реєстрацією обов’язково прочитайте:
Оновлення Учасники Пошук
Особисті повідомлення
Видавництво ’’Аспект’’ Видавництво

  • Сторінка 3 з 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Модератор форуму: Bandalak, Ktara, НІКОЛЯ, volevikt  
Форум інформатиків » РОЗДІЛ VIІІ: ОБМІН ДОСВІДОМ (УРОКИ, ФАКУЛЬТАТИВИ, ПОЗАКЛАСНА РОБОТА) » 8.6 Факультатив з програмування » Мова С++ (поради, запитання....) (Все що стосується програмування на С++)
Мова С++ (поради, запитання....)
Bandalak Дата: Вт, 11.12.2018, 16:59 | Повідомлення № 31
Лідер форуму
Повідомлень: 6174
Нагороди: 43
Рейтинг: 285
Код
Задача (С++):
Дано ціле одноцифрове число. Піднести його до квадрату. Перетворити результат на рядок. Кожен символ цього рядка перетворити назад на цифру та обчислити їх суму.

На Паскалі робиться легенько, як два пальці об....
Код
var t:string;
    s,n,i,c,e:integer;
begin
readln(c); {Читаємо число}
c:=c*c; {Підносимо число до квадрату}
str(c,t); {Перетворюємо чмсло на рядок}
n:=length(t);   {знаходимо кількість символів у рядку}
s:=0;  {занулюємо суму}
for i:=1 to n do
    begin
         val(t[i],c,e); {Перетворюємо кожин символ рядка на окрему цифру}
         s:=s+c  {Сумуємо}
    end;
writeln(s); {Виводимо результат}
end.

А от з С++ печалька.

Як на С++ перетворити ціле число на рядок і навпаки, рядок на число?

Наприклад, у Паскалі це вбудовані процедури STR(a,t) та VAL(t,a,e). Відповідників на С++ не знайшов. Точніше знайшов щось занадто розумне і розібратися не зміг.
gromko Дата: Вт, 11.12.2018, 19:20 | Повідомлення № 32
Лінуксоїд
Повідомлень: 3204
Нагороди: 33
Рейтинг: 401
Цитата Bandalak ()
А от з С++ печалька.
Чому? Все теж саме:


Код
#include <iostream>

using namespace std;

int main()
{
   int sum;
   int i;
   int c;
   int n;
   string ss;
   int cc;
   
   
   cout << "Введіть число:" << flush;
   string s;            /* Куди буде введено число */
   getline(std::cin, s);/* Читаємо число як рядок */
   c = stoi(s);         /* Перетворюємо рядок в число */
   c=c*c;               /* Підносимо число до квадрату */
   cout << c << '\n';   /* Просто щоб побачити квадрат :) */
   ss=to_string(c);     /* Перетворюємо число у рядок*/
   n=ss.length();       /* Знаходимо кількість символів у рядку */
   sum=0; /* занулюємо суму */
   for (i = 0; i < n; i++ )
   {
       cc=ss[i]-'0';    /* Перетворюємо кожен символ на окреме число */
       sum=sum+cc;      /* Знаходимо суму */
   }
   
   cout << sum << '\n';
   
   cout<<"Завдання закінчено";
   
}[/i]


Прикріплення: 7293828.png(102.7 Kb)


Відредаговано: gromko - Вт, 11.12.2018, 19:21
Bandalak Дата: Ср, 12.12.2018, 19:21 | Повідомлення № 33
Лідер форуму
Повідомлень: 6174
Нагороди: 43
Рейтинг: 285
В онлайн редакторі вона працює, а в CodeBlock ні. Видає помилку на ss=to_string©. Що не так?
swetikccc Дата: Ср, 12.12.2018, 20:18 | Повідомлення № 34
Ветеран спілкування
Повідомлень: 4158
Нагороди: 31
Рейтинг: 387
А допишіть  напочатку 
#include <string>
Просто в С++ є два типи рядочків
Масив типу char i клас string.
Для використання усіх функцій класу підключіть бібліотеку.
Bandalak Дата: Ср, 12.12.2018, 21:05 | Повідомлення № 35
Лідер форуму
Повідомлень: 6174
Нагороди: 43
Рейтинг: 285
Дописали, не пройшло
swetikccc Дата: Ср, 12.12.2018, 21:25 | Повідомлення № 36
Ветеран спілкування
Повідомлень: 4158
Нагороди: 31
Рейтинг: 387
Прикріпіть файлик, завтра в школі подивлюся на CodeBlock
Bandalak Дата: Ср, 12.12.2018, 22:27 | Повідомлення № 37
Лідер форуму
Повідомлень: 6174
Нагороди: 43
Рейтинг: 285
ок
Прикріплення: 123.txt(0.9 Kb)
mio Дата: Ср, 12.12.2018, 23:34 | Повідомлення № 38
Тут живе...
Повідомлень: 120
Нагороди: 2
Рейтинг: 29
Цитата Bandalak ()
В онлайн редакторі вона працює, а в CodeBlock ні. Видає помилку на ss=to_string©. Що не так?
В CodeBlocks у налаштуваннях компілятора (Налаштування-Компілятор...-Глобальні налаштування компілятора-Налаштування компілятора) необхідно відзначити прапорцем стандарт мови, наприклад, Have g++ follow the C++11 ISO C++ language standard (функція stoi доступна з С++ 11).
gromko Дата: Чт, 13.12.2018, 07:42 | Повідомлення № 39
Лінуксоїд
Повідомлень: 3204
Нагороди: 33
Рейтинг: 401
Цитата mio ()
Have g++ follow the C++11 ISO C++ language standard
Дякую, працює!
swetikccc Дата: Чт, 13.12.2018, 11:39 | Повідомлення № 40
Ветеран спілкування
Повідомлень: 4158
Нагороди: 31
Рейтинг: 387
Цитата Bandalak ()
окПрикріплення: 123.txt(0.9 Kb)
все працює
Качаєте блок
http://www.codeblocks.org/downloads/binaries
ось цей без встановлення
codeblocks-17.12mingw-nosetup.zip
А ось шаблончик для української в подарунок

#include <windows.h>
#include <iostream>

using namespace std;

int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
cout << "мир";
return 0;

}


Відредаговано: swetikccc - Чт, 13.12.2018, 11:41
gromko Дата: Чт, 13.12.2018, 17:30 | Повідомлення № 41
Лінуксоїд
Повідомлень: 3204
Нагороди: 33
Рейтинг: 401
Цитата swetikccc ()
А ось шаблончик для української в подарунок
У мене наче й так була підтримка Unicode :)
Apice Дата: Пт, 14.12.2018, 09:13 | Повідомлення № 42
Прописаний назавжди
Повідомлень: 243
Нагороди: 5
Рейтинг: 65
Цитата gromko ()
У мене наче й так була підтримка Unicode
У Linux така підтримка є без заморочок, а от у win частіше за все немає.
Bandalak Дата: Пт, 14.12.2018, 12:31 | Повідомлення № 43
Лідер форуму
Повідомлень: 6174
Нагороди: 43
Рейтинг: 285
Цитата mio ()
В CodeBlocks у налаштуваннях компілятора (Налаштування-Компілятор...-Глобальні налаштування компілятора-Налаштування компілятора) необхідно відзначити прапорцем стандарт мови, наприклад, Have g++ follow the C++11 ISO C++ language standard (функція stoi доступна з С++ 11).

А онлайн перевірялки на олімпіаді якою версією компілятора користуються?
Bandalak Дата: Пт, 14.12.2018, 12:34 | Повідомлення № 44
Лідер форуму
Повідомлень: 6174
Нагороди: 43
Рейтинг: 285
Цитата swetikccc ()
ось цей без встановлення
codeblocks-17.12mingw-nosetup.zip


Як воно може працювати без встановлення компілятора?

До речі, яку саме версію КодеБлок рекомендують використовувати на олімпіадах?
swetikccc Дата: Пт, 14.12.2018, 13:25 | Повідомлення № 45
Ветеран спілкування
Повідомлень: 4158
Нагороди: 31
Рейтинг: 387
Цитата Bandalak ()
Як воно може працювати без встановлення компілятора?

До речі, яку саме версію КодеБлок рекомендують використовувати на олімпіадах?
Прочитайте спочатку про MinGW а потім питання.
В мене ж працює. )))

Невірне питання.
Яку версію мови С++?


Відредаговано: swetikccc - Пт, 14.12.2018, 13:27
Форум інформатиків » РОЗДІЛ VIІІ: ОБМІН ДОСВІДОМ (УРОКИ, ФАКУЛЬТАТИВИ, ПОЗАКЛАСНА РОБОТА) » 8.6 Факультатив з програмування » Мова С++ (поради, запитання....) (Все що стосується програмування на С++)
  • Сторінка 3 з 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Пошук:


© Форум інформатиків України, 2007-2019.