1 Востаннє редагувалося Joker (24.10.2014 20:31:06)

Тема: Рядки --> цілі числа

Мені потрібно ввести рядок (складається тільки з  0 та 1) і перетворити його у окремі елементи масиву. Тобто перетворити елементи рядка у цілочисленні елементи масиву.
Якими функціями модна користуватися. Багато щось простеньке але швидке (готуюся до олімпіади)

P.S. Я розумію що тут комусь потрібно яхту купити, комусь просто гроші (тобто ви хочете побачити що я намагаюся також її рішити). Але підкажіть будь ласка хоть якими функціями чи циклами це можна реалізувати.

Використовую

#include <cstring>
...
char str[size];
...
cin.getline(str, size-1);

2 Востаннє редагувалося koala (24.10.2014 20:39:05)

Re: Рядки --> цілі числа

Символи в C/C++ - це, насправді, числа, просто так незвично записані. Ну тобто ('a'+'b') - цілком коректний вираз, і дорівнює від 195 (бо коди 'a' та 'b' в ASCII - це 97 і 98). А рядок, відповідно - це вже масив чисел; все, що лишилося - привести ці числа з ASCII в "нормальний" код. Найпростіше - віднявши '0' від всіх елементів... ну і за бажання - скопіювавши в новий масив, це залежить від того, що ви далі із цим масивом робите.

Подякували: Joker1

3

Re: Рядки --> цілі числа

Спробую. Дякую

4

Re: Рядки --> цілі числа

    #include <cstring>
    ...
    char str[size];
    ...
    cin.getline(str, size-1);

Почитуйте іноді документацію до бібліотеки, бо ви підключаєте сішну бібліотеку <cstring>, а звертаєтесь в прикладі до <iostream>

5 Востаннє редагувалося Joker (24.10.2014 21:49:33)

Re: Рядки --> цілі числа

0xDADA11C7 написав:
    #include <cstring>
    ...
    char str[size];
    ...
    cin.getline(str, size-1);

Почитуйте іноді документацію до бібліотеки, бо ви підключаєте сішну бібліотеку <cstring>, а звертаєтесь в прикладі до <iostream>

Як тоді краще робити? Якщо чесно, я не дуже зрозумів вас.
Здається є ще щось таке контейнер std::string але я про нього ще не знаю  :(

6

Re: Рядки --> цілі числа

Робіть, як робиться, потім покажете і отримаєте поради, як покращити.
Бо якщо ви одразу отримаєте покращений варіант, то не знатимете, чим він кращий за інші, і робитимете помилки в майбутньому.

Подякували: Joker1