Перейти до вмісту

Розвязання завдань з програмування


Повідомлень в темі: 191

#141 Руля ван Метал

    Писар

  • Користувачі
  • PipPipPipPipPipPipPipPip
  • 434 повідомлень
  • Стать:Чоловік
  • Місто:Івано-франківська

Відправлено 03.11.2008 – 16:57

Хто добре знає паскаль, поможіть:
Задача 1. Перевірити чи можна число N записати у вигляді двох простих чисел.
задача2. У довільному рядку знайти символ, який зустрічаєть найчастіше.
  • 0

#142 Chornyashka

    Частий гість

  • Користувачі
  • PipPipPip
  • 61 повідомлень

Відправлено 03.11.2008 – 17:18

задачу 2 замутила би так зробила би масив символів, і зчитувала рядок по одному, потім би організувала масив кількостей цих символів, і одним з методів найшла максимальний елемент з масиву тих кількостей.
  • 0

#143 -=Українець=-

    Профі

  • Користувачі
  • PipPipPipPipPipPipPip
  • 369 повідомлень
  • Стать:Чоловік
  • Місто:Хмельницького

Відправлено 03.11.2008 – 18:18

Народ, а як у паскалі перевести десяткові числа в двійкові???
  • 0

#144 Dimetrius

    Абориген

  • Користувачі
  • PipPipPipPip
  • 75 повідомлень
  • Стать:Чоловік

Відправлено 06.11.2008 – 19:28

Перегляд дописуcepers (3.11.2008 18:18) писав:

Народ, а як у паскалі перевести десяткові числа в двійкові???
Ну десь так напевно:

program Sust_chusl;
uses Crt;
var a: array [1..100] of integer;
	b, i, j: integer;
begin
	 clrscr;
	 writeln ('Vvedit chuslo v 10-kovij sustemi chuslennja:');
	 readln (b);
	 writeln;

	 i:=1;
	 repeat
		   a[i]:=b mod 2;
		   i:=i+1;
		   b:=b div 2;
	 until b=0;

	 writeln ('Zadane dhuslo v 2-kovij sustemi chuslehhja');
	 for j:=i-1 downto 1 do write (a[j], ' ');
	 readkey;
end.

Повідомлення відредагував Dimetrius: 06.11.2008 – 19:30

  • 0

#145 Файний нік

    Постійний житель

  • Користувачі
  • PipPipPipPipPip
  • 189 повідомлень
  • Стать:Чоловік
  • Місто:Київ

Відправлено 09.11.2008 – 08:49

Панове програмісти, поможайте)))

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

Всім дякую!
  • 0

#146 -=Українець=-

    Профі

  • Користувачі
  • PipPipPipPipPipPipPip
  • 369 повідомлень
  • Стать:Чоловік
  • Місто:Хмельницького

Відправлено 12.11.2008 – 15:47

Привіт усім!!! Допоможіть будь-ласка розв`язати задачку!!
Поле для гри в судоку має розмір 9х9 клітинок і умовно розбите на 9 квадратів розміром 3х3.
Кожна клітинка є або пустою, або містить число від 1 до 9.
Вам необхідно розставити в пусті клітинки числа від 1 до 9 так, щоб
1) в кожному рядку числа не повторювались
2) в кожному стовпчику числа не повторювались
3) в кожному з 9-ти умовних квадратів числа не повторювались
Вхідні дані:
У стандартному вхідному потоці записані 9 рядків по 9 чисел.(числа розділені пропусками). Пуста клітинка позначена числом 0. Нулів (пустих клітинок) буде не більше ніж 29

Вихідні дані:
у стандартний вихідний потік запишіть відповідь до заданого судоку - 9 рядків по 9 чисел в кожному (розділені пропусками!!!)

Приклад вхідних даних:
3 8 9 7 0 0 2 0 0
6 7 2 0 5 0 0 1 0
0 1 4 6 0 9 0 0 3
2 3 0 5 0 0 8 7 1
8 5 0 0 3 7 0 4 9
4 9 7 8 1 0 3 0 5
0 6 5 4 8 2 1 3 0
1 0 3 0 7 0 4 6 0
7 4 0 1 0 3 5 9 0

Приклад вихідних даних:
3 8 9 7 4 1 2 5 6
6 7 2 3 5 8 9 1 4
5 1 4 6 2 9 7 8 3
2 3 6 5 9 4 8 7 1
8 5 1 2 3 7 6 4 9
4 9 7 8 1 6 3 2 5
9 6 5 4 8 2 1 3 7
1 2 3 9 7 5 4 6 8
7 4 8 1 6 3 5 9 2
  • 0

#147 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 12.11.2008 – 17:40

Припустимо що з введенням/виведенням ти сам розберешся(зберігати дані в двувимірний масив звичайно). Як метод вирішеня пропоную штормити задачу в лоб. Зліва направо, зверху в низ заповнювати таблицю випадковими(чи за певною системою) числами до першої помилки. Якщо помилка то знову заповнювати. Ідея проста і, мабуть, ефективна.
  • 0

#148 -=Українець=-

    Профі

  • Користувачі
  • PipPipPipPipPipPipPip
  • 369 повідомлень
  • Стать:Чоловік
  • Місто:Хмельницького

Відправлено 12.11.2008 – 18:14

Перегляд дописуFT232BM (12.11.2008 17:40) писав:

Припустимо що з введенням/виведенням ти сам розберешся(зберігати дані в двувимірний масив звичайно). Як метод вирішеня пропоную штормити задачу в лоб. Зліва направо, зверху в низ заповнювати таблицю випадковими(чи за певною системою) числами до першої помилки. Якщо помилка то знову заповнювати. Ідея проста і, мабуть, ефективна.

Цеж знаєш скільки варіантів може бути там добру схему потрібно!!!
  • 0

#149 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 12.11.2008 – 18:20

Перегляд дописуcepers (12.11.2008 18:14) писав:

Цеж знаєш скільки варіантів може бути там добру схему потрібно!!!
А нашо складні математичні алгоритми? Вони тільки мозок мучають. Наскідьки пам‘ятаю теорію ймовірностей то 9^n, n -кількість вільних клітинок(30-40).
Процесор справится з задачею, особливо після оптимізації на асемблері.
  • 0

#150 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ->НТУУ "КПІ"

Відправлено 12.11.2008 – 20:00

Ось доречі сайт для таких халявщиків як ви. Дивився того коду на Паскалі нема. А на Сі будьласка. Я думаю після невеликих консультацій перекласти зможеш.
P.S. Зробити на PHP то реально. Але в даному випадку це як з гармати по мухам. Не для цього ПХП створювали.

Повідомлення відредагував FT232BM: 12.11.2008 – 20:07

  • 0

#151 Lactarius

    Генеральний писар

  • Користувачі
  • PipPipPipPipPipPipPipPipPip
  • 976 повідомлень
  • Стать:Чоловік
  • Місто:Львів

Відправлено 12.11.2008 – 20:34

Я витер офтоп
  • 0

#152 -=Українець=-

    Профі

  • Користувачі
  • PipPipPipPipPipPipPip
  • 369 повідомлень
  • Стать:Чоловік
  • Місто:Хмельницького

Відправлено 13.11.2008 – 17:08

Гаразд забудьте про ту прогу, скажіть будь-ласка як вони тут щитають???
З дитинства нам розповідали (а вам, учням, і досі розповідають), що наш добробут залежить від того, наскільки ми будемо працювати.
Це була теорія, а практика показала, що наш добробут залежить не від інтенсивності нашої праці, а від курсу долара чи стрибків цін на нафту на світовому ринку.

Розглянемо валютного спекулянта на ім'я Баксік, який намагається заробити на економічній кризі.
В його країні є N міст в яких діють обмінні пункти валют.
Баксік аналітично прорахував які мають бути курси валют у цих містах на D днів вперед.
Він також має інформацію про ціни проїзду по кожній з доріг між містами (між кожними 2 містами є дорога).
За законами його країни, одна особа в день може здійснити лише одну валютну операцію. Тому Баксік може здійснити обмін лише в одному місті країни, за один день.
На початку економічної кризи, баксік має UAH гривень, і USD доларів.
За день він може переїхати в будь-яке інше місто і здійснити там обмін валют, або лишитись у місті і здійснити обмін валют, або лишитись у місті і не здійснювати обміну валют.

Вам необхідно порахувати скільки максимально грошей у гривнях може назбирати Баксік через D днів.

Вхідні дані:
У першому рядку стандартного вхідного потоку записані числа N, D, UAH, USD. (1<=D<=100), (1<=N<=100) , (0<=UAH<=10000) , (0<=USD<=10000)
Наступні N рядків містять по N чисел і описують ціни проїзду по відповідним дорогам. (число в i-му рядку і j-му стовпчику показує ціну переїзду по прямій дорозі з міста i в місто j)
Кожен з наступних N рядків містить по D пар дійсних чисел - курси валют для відповідних міст на всі дні кризи. Перше число з кожної пари показує за скільки гривень куплять за 1 долар, друге число з пари показує - за скільки гривень продадуть 1 долар. Друге число в парі завжди не менше від першого.
Баксік на початку кризи знаходиться в місті з номером 1.

Вихідні дані:
У перший рядок запишіть максимальну суму в гривнях (округливши до двох знаків після коми), яку може назбирати Баксік в кінці кризи.
В кожному з наступних D рядків запишіть інформацію про діяльність Баксіка за кожний день в наступному форматі:
перше число рядка містить номер міста в яке перемістився (чи в якому лишився) Баксік.
друге число показує кількість доріг - R - яку він проїхав для цього переходу.
Наступні R чисел показують номера міс через які він проїжджав (в порядку проїзду, не зазначаючи першого міста).
Останні два числа показують скільки гривень та доларів він продав у цьому місті.

Приклад вхідних даних:
3 1 100 100
0 3 1
3 0 1
1 1 0
5.00 6.00
7.00 8.00
5.00 6.00

Приклад вихідних даних (увага, приклад може бути не оптимальним!!!):
798.00
2 2 3 2 0 100
  • 0

#153 Lactarius

    Генеральний писар

  • Користувачі
  • PipPipPipPipPipPipPipPipPip
  • 976 повідомлень
  • Стать:Чоловік
  • Місто:Львів

Відправлено 13.11.2008 – 19:54

Почитай про алгоритми на графах... Там ти знайдеш свій розвязок.
  • 0

#154 -=Українець=-

    Профі

  • Користувачі
  • PipPipPipPipPipPipPip
  • 369 повідомлень
  • Стать:Чоловік
  • Місто:Хмельницького

Відправлено 13.11.2008 – 21:45

Перегляд дописуLactarius (aka Ivan Metal!) (13.11.2008 19:54) писав:

Почитай про алгоритми на графах... Там ти знайдеш свій розвязок.

Щось я незрозумів???
  • 0

#155 Lactarius

    Генеральний писар

  • Користувачі
  • PipPipPipPipPipPipPipPipPip
  • 976 повідомлень
  • Стать:Чоловік
  • Місто:Львів

Відправлено 13.11.2008 – 22:00

Цитата

Щось я незрозумів???
http://uk.wikipedia.org/wiki/%D0%A2%D0%B5%...%84%D1%96%D0%B2
  • 0

#156 FT232BM

    私は人々嫌い

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 3435 повідомлень
  • Стать:Чоловік
  • Місто:Київ-&gt;НТУУ &quot;КПІ&quot;

Відправлено 13.11.2008 – 22:15

Скоріш за все Кеперсу не викладали теорію графів. Я теж її краєм вуха тільки чув, коли проводив аналіз електричних кіл.
  • 0

#157 Lactarius

    Генеральний писар

  • Користувачі
  • PipPipPipPipPipPipPipPipPip
  • 976 повідомлень
  • Стать:Чоловік
  • Місто:Львів

Відправлено 13.11.2008 – 23:15

Цитата

Скоріш за все Кеперсу не викладали теорію графів. Я теж її краєм вуха тільки чув, коли проводив аналіз електричних кіл.
Без знання цього в принципі не варто пхатися в спортивне програмування.
  • 0

#158 -=Українець=-

    Профі

  • Користувачі
  • PipPipPipPipPipPipPip
  • 369 повідомлень
  • Стать:Чоловік
  • Місто:Хмельницького

Відправлено 03.12.2008 – 15:58

Привіт! Допоможіть хто може! Як написати програму, яка визначить скільки у файлі стічок і прочитити із файлу строки, кожну окремо. Може так
while not eof(f) do
begin
i:=i+1;
readln(f,mass);
end;
if mass[i]=' ' then
s:=s+1;

але так я можу знайти скільки строк і то якщо правильно? Допоможіть!??
  • 0

#159 Уповноважений

    Козак - перевертень

  • Модератори
  • PipPipPipPipPipPipPipPipPipPip
  • 6665 повідомлень
  • Стать:Чоловік
  • Місто:пекельне болото

Відправлено 03.12.2008 – 19:55

Перегляд дописуcepers (3.12.2008 15:58) писав:

Привіт! Допоможіть хто може! Як написати програму, яка визначить скільки у файлі стічок і прочитити із файлу строки, кожну окремо. Може так
while not eof(f) do
begin
i:=i+1;
readln(f,mass);
end;
if mass=' ' then
s:=s+1;

але так я можу знайти скільки строк і то якщо правильно? Допоможіть!??

еммм... дурне питання, що таке "стічок"? ну а в тексті мабуть дещо забув. - [i]readln(f,mass[i]);
, - а навіщо потрібно ще й s ?

і ще один спосіб, якщо файл описати f:byte, то можна порахувати кількість символів ентеру - тобто з номером 13 в ASCII таблиці.
  • 0

#160 -=Українець=-

    Профі

  • Користувачі
  • PipPipPipPipPipPipPip
  • 369 повідомлень
  • Стать:Чоловік
  • Місто:Хмельницького

Відправлено 03.12.2008 – 20:36

Ладно, напишу по другому, короче у нас в файлі записано
с с с с
о о о о
к к к к
а а а а
як прочитати з файлу другу, або третю строку??? Вони можуть бути і більші!
  • 0



Кількість користувачів, що читають цю тему: 2

0 користувачів, 2 гостей, 0 анонімних