1

Тема: Масив символів

Допоможіть, будь ласка, скласти програму на Сі. Прошу, питання життя і смерті.

З клавіатури ввести 10 довгих цілих чисел. Сформувати масив 3 10-ти символьних рядків, кожен з яких має зберігати трійковий код відповідного числа. Надрукувати таблицю введених чисел та їхніх трійкових кодів.

2

Re: Масив символів

Де напрацювання?

3

Re: Масив символів

Chemist-i написав:

Де напрацювання?

Нічого не виходить, не можу нічого придумати. А часу обмаль. Дуже переживаю

4

Re: Масив символів

Не переживайте. У найгіршому разі підете в армію, там точно навчать не переживати через такі дрібниці.

А по задачі - декомпозуйте. Якщо ви не можете зробити взагалі нічого, то це просто не ваше. Якщо щось можете зробити - то декомпозицією дійдете до того рівня, коли зможете точно сказати, що саме не виходить.

Подякували: Chemist-i, Mikel45, leofun013

5

Re: Масив символів

декомпозиція - це коли ви щось ціле і складне розбиваєте на менші, простіші складові. Тобто, розбиваєте одну складну задачу на декілька менших, та простих, і вирішуєте їх

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

6

Re: Масив символів

FakiNyan написав:

декомпозиція - це коли ви щось ціле і складне розбиваєте на менші, простіші складові. Тобто, розбиваєте одну складну задачу на декілька менших, та простих, і вирішуєте їх

Дякую за роз'яснення, проте я знаю що таке декомпозиція))

7

Re: Масив символів

декомпозую ваше завдання

З клавіатури ввести 10 довгих цілих чисел. Сформувати масив 3 10-ти символьних рядків, кожен з яких має зберігати трійковий код відповідного числа. Надрукувати таблицю введених чисел та їхніх трійкових кодів.

  • Спробуйте ввести одне число з клавіатури, а потім, в вашій програмі, просто вивести його в консоль. Підказка: погугліть використання функцій scanf та printf, та поекспериментуйте з ними.

  • Спробуйте створити цикл, котрий би вивів якесь значення певну кількість разів. Підказка: гугліть "c loops"

  • Далі побавтесь з символьними масивами, то має називатись "c char arrays"

  • Ну а після цього вам ще треба зрозуміти алгоритм перетворення десяткового числа в трійкове, це можете зробити на папері

8

Re: Масив символів

Розпочніть краще із вивчення алгоритму перетворення числа із десяткової системи в трійкову, там нічого складного не має. Та на основі цього алгоритму починайте будувати програму. Не спішіть писати це все на комп'ютері. Візьміть листочок  та ручку і переведіть декілька чисел в ручну. Наприклад Ви хочете, ну скажімо число 67 перевести до трійкової системи, тоді потрібно його поділити на 3 на ціло (67  / 3 = 22). Далі цей результат множимо знову на 3 (22 * 3 = 66) та віднімаємо від 67 (67 - 66 = 1) і ми знайшли розряд одиниць, запам'ятовуємо його (заносимо до масиву). Далі ми працюємо вже із числом 22 за вище вказаним алгоритмом ... Виконуємо це ділення доти, доки не буде результат менше 3.

1.) 67 / 3 = 22;
2.) 22 * 3 = 66;
3.) 67 - 66 = 1; -> заносимо у маси в розряд одиниць (у трійковій системі числення).

4.) 22 / 3 = 7;
5.) 7 * 3 = 21;
6.) 22 - 21 = 1; -> заносимо у масив в розряд десятків (у трійковій системі числення).

7.) 7 / 3 = 2;
8.) 2 * 3 = 6;
9.) 7 - 6 = 1; -> заносимо у масив в розряд сотень (у трійковій системі числення).

10.) 2 менше 3, тоді записуємо число у зворотному порядку 2111

Кількість кроків у алгоритмі буде залежати від довжини числа. Отже ми маємо 2111(3) -> 67(10)

https://uk.wikipedia.org/wiki/%D0%A2%D1 … 0%BD%D1%8F

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

9

Re: Масив символів

Тільки зауважу, що оця операція (ділення - множення - віднімання) - це просто знаходження остачі і записується вона %.
На кожному кроці виконуємо
d = n%3; //d заносимо в масив цифр
n /= 3; //а n ділимо націло на 3
Тільки враховуйте, що цифри ви отримуєте у зворотному порядку, від одиниць.

Подякували: lucas-kane, FakiNyan2

10

Re: Масив символів

Прихований текст
koala написав:

Тільки зауважу, що оця операція (ділення - множення - віднімання) - це просто знаходження остачі і записується вона %.
На кожному кроці виконуємо
d = n%3; //d заносимо в масив цифр
n /= 3; //а n ділимо націло на 3
Тільки враховуйте, що цифри ви отримуєте у зворотному порядку, від одиниць.

Так згоден. Але це просто алгоритм для розв'язку на аркуші паперу. Хотів чим простіше пояснити, а як пан Mikel45 буде реалізовувати його це вже інше питання. ))) Дякую за зауваження.