Софтуерно Инженерство
Loading...
BobyTopalova avatar BobyTopalova 25 Точки

задача glitches от 29.07.18г.

Искам да питам, дали сте решавали тази задача,какво правите, за да избегнете дългата проверка за тези символи !?@#$%^&*()_+-=[]{}|: и какъв алгоритъм изпозвате за поправяне на грешките. Аз откривам грешките и записвам техните индекси във вектори, но не се сещам как да определя центъра на грешката. Изпробвах много начини, например разделем размера на 2 и добавям 1, но нещо не се получава. Може ли някава идея?

Тагове:
0
C++ Fundamentals 18/01/2019 13:56:36
kolioi avatar kolioi 611 Точки
Best Answer

Ето и едно решение от мен https://pastebin.com/Hhyn14v9 Всички символи, различни от '.' (dot) ги намирам още при въвеждането на данните и ги съхранявам в string, а началната им позиция (ред, стълб) във вектор. След това хващам всеки символ от стринга и намирам редът с най-много такива символи. След което обновявам позицията (само реда, колоната вече я имаме) във вектора. Накрая "нулирам" матрицата със символи '.' (защото вече не ми трябва и я преизползвам), поставям грешните символи на местата им и отпечатвам. Може да се оптимизира малко, например отпечатването да стане със stringstream и т.н. Не проверявам дали символите са някои от зададените в задачата, защото разчитам на коректни входни данни, но не е трудно да се добави и такава проверка.

1
BobyTopalova avatar BobyTopalova 25 Точки

Да, много съм любопитна да видя и вашето решение. Благодаря! Ако нещо не разбирам ще питам.

0
BobyTopalova avatar BobyTopalova 25 Точки

  я!

0
13/01/2019 18:18:52