Форум программистов, компьютерный форум CyberForum.ru

Вывод числа из файла с двумерным массивом, но только один раз - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
syggestor
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 19
28.10.2013, 23:08     Вывод числа из файла с двумерным массивом, но только один раз #1
Здравствуйте. уважаемые форумчане.

Имеется такая проблема (в литературе пока решения не встречал и в интернетах тоже).

Есть инпут файл в расширении "тхт". В нем записан массив, например такой:

1234
1234
1234
1234

Необходимо взять, допустим, цифру 1, выполнить над ней какое-нить действие (оно абсолютно не важно) и записать результат в аутпут файл.
НО!
Необходимо, чтобы действие производилось только над первой встреченной единицей, а последующие единицы исключались и цикл переходил бы к другой цифре (например к 2) и ее тоже использовал лишь один раз, пока не использовал бы последнюю цифру и не завершался бы.

Заранее благодарю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2013, 23:08     Вывод числа из файла с двумерным массивом, но только один раз
Посмотрите здесь:

C++ задача на строки на С.Даны 2 слова.Напечатать только те буквы слов,которые встречаются в обоих словах только один раз.
C++ Вывод на екран только двухзначние числа из файла
C++ Напечатать только те буквы слов, котрые встречаются в обоих словах только один раз
C++ Получить все числа, входящие в последовательность только один раз
Написать простую программу на С++ с двумерным массивом, чтобы ввод осуществлялся с клавы и вывод полученной матрицы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
29.10.2013, 23:15     Вывод числа из файла с двумерным массивом, но только один раз #21
Цитата Сообщение от ValeryS Посмотреть сообщение
ansi текст
а юникод?
Цитата Сообщение от ValeryS Посмотреть сообщение
если хочется контейнеров то в этой задаче Мап сам собой напрашивается
Цитата Сообщение от MrGluck Посмотреть сообщение
я бы советовал std::unordered_set.
Цитата Сообщение от MrGluck Посмотреть сообщение
Но если компилятор не поддерживает последний стандарт, то тогда std::set.
Вариант, предложенный вами и aslav22 я сам использовал не раз на С, но тут задание слишком расплывчато. Я ведь даже реализации не дал, лишь задал вопросы и сделал предположение. Вы прочитали из моего поста лишь первое предложение, увидели слово вектор и набросились. Да в конце-концов, все, что работает на массиве, будет работать и с вектором.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
29.10.2013, 23:24     Вывод числа из файла с двумерным массивом, но только один раз #22
Цитата Сообщение от MrGluck Посмотреть сообщение
Да в конце-концов, все, что работает на массиве, будет работать и с вектором.
ну если учесть что вектор это и есть массив, правда динамический, то конечно будет
вот из за этой "динамики" я, как ты выражаешься, и "набросился"
или выделять место под вектор сразу,тогда что массив что вектор одно и тоже,нечего копья ломать
а если выделять динамически то тормоза, перераспределение памяти дорогого стоит
и потом ты предлагал проверять вектор нет ли там такого числа, если нет вносить число в вектор
это сколько проходов будет???
или я не правильно понял твой алгоритм?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.10.2013, 23:29     Вывод числа из файла с двумерным массивом, но только один раз #23
Цитата Сообщение от syggestor Посмотреть сообщение
этот массив лишь примерный...цифры могут быть в рандомном порядке,
Цитата Сообщение от syggestor Посмотреть сообщение
2) необходимо, чтобы прога брала число из массива
Теперь уже не цифры, а числа... Т.е. разницы никакой? Потом ещё что-то добавится, и так до бесконечности...
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
29.10.2013, 23:40     Вывод числа из файла с двумерным массивом, но только один раз #24
Цитата Сообщение от ValeryS Посмотреть сообщение
а если выделять динамически то тормоза, перераспределение памяти дорогого стоит
как будто перераспределять будет каждый раз.
Говоря по вашему, 256 элементов - дело незаметное.
Цитата Сообщение от ValeryS Посмотреть сообщение
или я не правильно понял твой алгоритм?
про это:
map - заполнение и удаление
У вас все в кучу. Да и там это был намек на дальнейшую реализацию map, которую я привел несколькими постами ниже.
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
29.10.2013, 23:52     Вывод числа из файла с двумерным массивом, но только один раз #25
Цитата Сообщение от MrGluck Посмотреть сообщение
про это:
не я в ту тему вообще не полез
Цитата Сообщение от MrGluck Посмотреть сообщение
Говоря по вашему, 256 элементов - дело незаметное.
"при современном развитии печатного дела на западе"(с) точнее при современной памяти
256 байт такой пустяк
а можно было и битовые поля использовать

Не по теме:


ну ладно не поняли друг друга, с кем не бывает
мир?
Я заметил на этом форуме так бывает
задается простой вопрос, потом баталии на несколько страниц, алгоритмы,методики,и еще куча всего
а ТС сидит и думает "Ребята вы чего? я хотел "здравствуй мир"написать"

MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
29.10.2013, 23:57     Вывод числа из файла с двумерным массивом, но только один раз #26

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
мир?
однозначно
Ну, как говорится, в споре рождается истина. Мы накидали идей. Что бы там в задании в конечном счете ни было, ход мысли возможно поможет ТС-у.



Добавлено через 26 секунд
P.S. а точную формулировку задания я так и не понял.
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
30.10.2013, 00:06     Вывод числа из файла с двумерным массивом, но только один раз #27
Цитата Сообщение от MrGluck Посмотреть сообщение
P.S. а точную формулировку задания я так и не понял.
а её и нет
есть мысли вслух, хотелось бы того и этого
даже для себя не плохо точное ТЗ писать, иначе можно всю жизнь одну программу создавать
нет предела совершенству
syggestor
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 19
30.10.2013, 00:20  [ТС]     Вывод числа из файла с двумерным массивом, но только один раз #28
ValeryS, считаем, что чисел в строке 10, строк 10, слоёв 2 (т.е. наборов 10х10 идущих друг за другом). Цветов 4. Из этих цифр и состоит этот массив, просто они рандомно в нем распределены. Для всей фигуры слоев будет больше. Общая структура аутпута такова:

Ячейка 1: 1 -1 23 -11 24 22 -25
Ячейка 2: 3 -2 1 -11 24 22 -25
.
.
.
Ячейка 200: 2 -10 9 -20 19 -21 25

1 px 1
2 px 2
3 px 3
4 px 4
5 px 5
6 px 6
7 px 7
8 px 8
9 px 9
10 px 10
11 py 1
12 py 2
13 py 3
14 py 4
15 py 5
16 py 6
17 py 7
18 py 8
19 py 9
20 py 10
21 pz 1
22 pz -1
23 px 0
24 py 0
25 pz 0

1 Цвет 1
2 Цвет 2
3 Цвет 3
4 Цвет 4

Конец файла

Описание файла:
Рассмотрим два слоя. Положительное направление Ox направлено вправо, Oy вверх, Oz смотрит от нас.

Плоскости, перпендикулярные осям (эти плоскости как бы отсекают стороны малых кубов в каждом слое) задаются так: px (она перпендикулярна оси x), далее через пробел пишется знак «минус», если плоскость находится на отрицательной стороне оси, либо не пишется и тогда плоскость находится на положительной стороне. Далее записывается расстояние от нуля в сантиметрах, миллиметрах и т.п. Аналогичным образом дела обстоят с Оy и Oz. Хоть плоскости и стоят вторыми после ячеек, построение начинается именно с них (плоскостей).

Над плоскостями записываются ячейки.
Они как бы формируются из записанных плоскостей. Мы указываем: с какой стороны от данной плоскости находится ячейка. Наличие или отсутствие «минуса» как и в случае с плоскостями указывает на то, с какой стороны от плоскости находится ячейка (с положительной или отрицательной). Здесь первое число (1) показывает номер цвета (записан в третьем разделе под плоскостями), через пробел начинается ограничивание ячейки: Ячейка 1 находится в отрицательном направлении к плоскости под номером 1, в положительном направлении к плоскости номер 23 и т.д.

Разделы отделяются пустой строкой.

В результате мы имеем 2 слоя ячеек во второй четверти оси координат (x,y).
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
30.10.2013, 00:28     Вывод числа из файла с двумерным массивом, но только один раз #29
Цитата Сообщение от syggestor Посмотреть сообщение
ValeryS, считаем, что чисел в строке 10, строк 10, слоёв 2
при создании ТЗ слово считаем запрещено, так же как и допустим
далее расшифруй что означают эти числа
Цитата Сообщение от syggestor Посмотреть сообщение
Ячейка 1: 1 -1 23 -11 24 22 -25
Цитата Сообщение от syggestor Посмотреть сообщение
Из этих цифр и состоит этот массив,
во первых ты цифры с числами не путаешь?
во вторых цифры это абстрактное понятие, что они означают?
координаты? размер? цвет?
syggestor
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 19
30.10.2013, 00:47  [ТС]     Вывод числа из файла с двумерным массивом, но только один раз #30
Цифра: 0123456789
Число:10 15 25 79 и т.д.
Номер- это число, которое мы присвоили плоскости, ячейке или цвету, чтобы сама ячейка обратилась к нему.
Слова "Цвет 1", "Цвет 2" и т.д. можно заменить на набор цифр, если угодно. Главное, чтобы перед цветом шел его номер, к которому и обращается ячейка.
В строке массива может быть до миллиона распределенных рандомно цифр от 1 до 4, , например: 1112343124...., смотря какое разбиение будет необходимо (поэтому хорошо бы, чтобы прога определяла сама длину строк и столбцов массива в инпут файле).
Цифры в инпут файле записаны без пробелов.
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
30.10.2013, 00:55     Вывод числа из файла с двумерным массивом, но только один раз #31
Цитата Сообщение от syggestor Посмотреть сообщение
Слова "Цвет 1", "Цвет 2" и т.д. можно заменить на набор цифр,
т.е у тебя всего 9 цветов? 10 если 0 считать
Цитата Сообщение от syggestor Посмотреть сообщение
Главное, чтобы перед цветом шел его номер, к которому и обращается ячейка.
кто такая ячейка
напиши структуру файла с комментариями
например слой 1 что здесь
куб 1 что здесь
я пока врубится не могу
Цитата Сообщение от syggestor Посмотреть сообщение
например: 1112343124...., смотря какое разбиение будет необходимо (поэтому хорошо бы, чтобы прога определяла сама длину строк и столбцов массива в инпут файле).
для этого достаточно поставить в конец последовательности значок завершения, например букву e
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2013, 19:07     Вывод числа из файла с двумерным массивом, но только один раз
Еще ссылки по теме:

Выбрать из текста только те символы, которые встречаются в нем только один раз C++
C++ Повторяющиеся числа из первого массива занести во второй массив только один раз
Функции для работы с двумерным массивом: ввод, вывод, транспонирование C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
syggestor
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 19
30.10.2013, 19:07  [ТС]     Вывод числа из файла с двумерным массивом, но только один раз #32
Цвета всего 4
Цифры всего 4
Цифре 1 соответствует цвет 1
Цифре 2 - цвет 2 .....

Ячейка = куб

Можно их кубами называть

если вышло так (великий рандом распорядился), что массив получился 10 на 20.
и при этом 101-е число (счет чисел идет вдоль строк) было равно 1, то:

Куб 1: 1 -1 23 -11 24 22 -25
Расшифровываю:
Первая цифра после двоеточия-ссылка на Первый цвет (т.к. цифре 1 у нас соответствует цвет 1).
далее идут ссылки на номера поверхностей, при этом знак "минус" указывает, что Куб находится в отрицательном направлении по оси по отношению к данной поверхности, например:
23 - это поверхность 23 px 0. Отсутствие минуса перед ней значит, что куб на оси Икс находится по правую сторону (т.е. в положительном направлении по отношению к нулю-поверхности 23 px 0) от Нуля.

Ставить в конце массива букву е не получится-условие такое, что мне поступает массив, который нельзя менять и в один клик я его преобразовываю в аутпут, не внося в инпут никаких изменений вручную, ну, либо буква е будет ставиться автоматически при обработки инпута.

Добавлено через 12 часов 7 минут
Вроде развёрнуто расписал, но спрашивайте, если что подробности.
Yandex
Объявления
30.10.2013, 19:07     Вывод числа из файла с двумерным массивом, но только один раз
Ответ Создать тему
Опции темы

Текущее время: 03:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru