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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
sergei123123
0 / 0 / 0
Регистрация: 13.09.2013
Сообщений: 9
#1

Построить картинку (3 миллиона чисел) - C++

03.04.2014, 21:53. Просмотров 378. Ответов 12
Метки нет (Все метки)

Имеется файл .txt в котором данные идут в таком виде и разделены горизонтальной табуляцией
C++
1
2
3
4
5
6
7
8
0   0   1.818835793
1   0   1.811158943
2   0   1.80227727
3   0   1.793396774
4   0   1.785482256
5   0   1.789870116
6   0   1.806560354
7   0   1.821080968
В первом столбце 1024 значения (от 0 до 1023), это значения по х, во втором столбце, значения по у, от 0 до 1024, где каждое число повторяется соответственно 1024 раза, 3 столбец значения (высоты). Требуется построить картинку по значениям с 3-его столбца, в зависимости от координат (x,y) в оттенках серого. Не могли бы Вы посоветовать в каком направлении копать насчет хотя бы создания матрицы и построчного запоминания такого количества чисел. С++ Builder. Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2014, 21:53     Построить картинку (3 миллиона чисел)
Посмотрите здесь:

Определить кол-во чисел, имеющих ровно 5 делителей, среди 1-го миллиона натуральных чисел - C++
Среди первого миллиона десятичных натуральных чисел количество чисел, имеющих ровно пять делителей (единица и само число не учитываются),...

Определить количество чисел, имеющих ровно пять делителей, среди первого миллиона натуральных чисел - C++
Среди первого миллиона десятичных натуральных чисел количество чисел, имеющих ровно пять делителей (единица и само число не учитываются),...

Вывести наибольшее простое число до миллиона - C++
Полный текст задания: Вывести на экран самое большое простое число меньше 1000000 Если можно с комментариями.

Построить последовательность из 20 чисел, образованную цифрами пятеричного представления последовательности натуральных чисел - C++
Построить последовательность из 20 чисел, образованную цифрами пятеричного представления последовательности натуральных чисел, начинающейся...

Построить из трех чисел минимальное число - C++
Вам дано три числа a, b и c. Вы должны в таком порядке приписать эти числа друг к другу, чтобы в результате получилось минимальное число....

Построить последовательность действительных чисел a1,..., an по правилу - C++
Здравствуйте! Помогите пожалуйста! Дана действительная квадратная матрица порядка n. Построить последовательность действительных...

Нужно построить генератор псевдослучайных чисел! - C++
Кто может помочь построить генератор псевдослучайных последовательностей(чисел), использующего разложения алгебраических чисел. очень...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.04.2014, 23:47     Построить картинку (3 миллиона чисел) #2
Цитата Сообщение от sergei123123 Посмотреть сообщение
В первом столбце 1024 значения (от 0 до 1023), это значения по х, во втором столбце, значения по у, от 0 до 1024, где каждое число повторяется соответственно 1024 раза, 3 столбец значения (высоты).
То есть, данные расположены так (номера строк в файле отсутствуют)?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
0          0      1.818835793
1          0      1.811158943
2          0      1.802277270
3          0      1.793396774
....       ...      ...
1023       0       1.793396775
0          1       1.818835793
1          1       1.811158943
2          1       1.802277270
3          1       1.793396774
....       ...      ...
1023        1       1.793396775
0           2       1.802277270
1           2       1.793396774
...         ...       ...
1023      1023      1.793396779
monolit
185 / 184 / 22
Регистрация: 24.03.2011
Сообщений: 665
Завершенные тесты: 1
03.04.2014, 23:52     Построить картинку (3 миллиона чисел) #3
А какое тут количество чисел? Всего лишь 3M - это примерно матрица 1000x1000 (чуть больше, неважно - ерунда). Всего лишь осталось узнать размеры 'изображения' - можно просто максимальные значения x и y найти, а потом создаешь матрицу - и вперед. Другой вопрос, что ты с этим 'изображением' делать собрался.
Ну и желательно бы это все считать в динамическую память, чтоб по файлу не бегать - все ж быстрее потом будет.

Добавлено через 37 секунд
Пардон, там даже размер задан. Ну тогда пункт с их определением можно пропустить)
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
03.04.2014, 23:57     Построить картинку (3 миллиона чисел) #4
Цитата Сообщение от alsav22 Посмотреть сообщение
То есть, данные расположены так
Тогда можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    int N = 1024;
    double** arr = new double*[N];
    for (int i = 0; i < N; ++i)
        arr[i] = new double[N];
 
    ifstream fin("data.txt");
    if (!fin)
        cout << "Error!" << endl;
    else
    {
        int i, j;
        while (fin >> i >> j)
            fin >> arr[i][j];
        
        fin.close();
    }
sergei123123
0 / 0 / 0
Регистрация: 13.09.2013
Сообщений: 9
04.04.2014, 01:06  [ТС]     Построить картинку (3 миллиона чисел) #5
Задача сводиться к тому что, строиться картинка, с нее берутся значения x,y начальные и х,у конечные. Потом вычитается плоскость наклона (устраняется градиент, как то так), и строится график распределения высот. я так понимаю надо будет обращаться к данным матрицы? Это данные с АСМ микроскопа ).

Добавлено через 4 минуты
Цитата Сообщение от alsav22 Посмотреть сообщение
Тогда можно так:
Спасибо, сейчас попробую.
Данные расположены вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
0   0   1.818835793
1   0   1.811158943
2   0   1.80227727
3   0   1.793396774
4   0   1.785482256
5   0   1.789870116
6   0   1.806560354
7   0   1.821080968
 
0        0  1.818835793
1        0   1.811158943
2        0   1.80227727
3        0   1.793396774
4        0   1.785482256
5        0   1.789870116
...............................
1023   0   1.821080968
 
0        1   1.818835793
1        1   1.811158943
2        1   1.80227727
3        1   1.793396774
4        1   1.785482256
1023   1   1.789870116
..........................
1023   0  1.821080968
 
0        2   1.818835793
1        2   1.811158943
2        2   1.80227727
3        2   1.793396774
...............................
1023   2   1.789870116
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.04.2014, 01:26     Построить картинку (3 миллиона чисел) #6
Цитата Сообщение от sergei123123 Посмотреть сообщение
Данные расположены вот так:
Вы хоть смотрите, что пишите ниже. Там, непонятно что.
sergei123123
0 / 0 / 0
Регистрация: 13.09.2013
Сообщений: 9
04.04.2014, 01:52  [ТС]     Построить картинку (3 миллиона чисел) #7
Цитата Сообщение от alsav22 Посмотреть сообщение
Вы хоть смотрите, что пишите ниже. Там, непонятно что.
Да, извините, ошибся) вот так правильно.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
0        0   1.818835793
1        0   1.811158943
2        0   1.80227727
3        0   1.793396774
4        0   1.785482256
5        0   1.789870116
~~~~~~~~~~~~~~
1023   0   1.821080968
 
 
0        1   1.818835793
1        1   1.811158943
2        1   1.80227727
3        1   1.793396774
4        1   1.785482256
5        1   1.789870116
~~~~~~~~~~~~~~
1023    1   1.821080968
 
~~~~~~~~~~~~~~~~
 
0        1023   1.818835793
1        1023   1.811158943
2        1023   1.80227727
3        1023   1.793396774
4        1023   1.785482256
5        1023   1.789870116
~~~~~~~~~~~~~~~~
1023   1023   1.821080968
Добавлено через 14 минут
Цитата Сообщение от alsav22 Посмотреть сообщение
Сообщение от alsav22
То есть, данные расположены так
Тогда можно так:
Не работает, почему то ругается на Undefined symbol 'ifstream'.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.04.2014, 02:15     Построить картинку (3 миллиона чисел) #8
Цитата Сообщение от sergei123123 Посмотреть сообщение
Не работает, почему то ругается на Undefined symbol 'ifstream'.
Это называется: не компилируется. Это же кусок кода. Нужные инклуды сделайте.
sergei123123
0 / 0 / 0
Регистрация: 13.09.2013
Сообщений: 9
04.04.2014, 02:22  [ТС]     Построить картинку (3 миллиона чисел) #9
всё, понял)
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.04.2014, 02:27     Построить картинку (3 миллиона чисел) #10
Цитата Сообщение от sergei123123 Посмотреть сообщение
Только как я понял я не смогу достать значения 3 столбца оттуда, да?
Оттуда - откуда? Из файла? Из массива?

Добавлено через 2 минуты
Цитата Сообщение от sergei123123 Посмотреть сообщение
всё, понял)
Значение j - это номер столбца.
sergei123123
0 / 0 / 0
Регистрация: 13.09.2013
Сообщений: 9
04.04.2014, 02:57  [ТС]     Построить картинку (3 миллиона чисел) #11
Цитата Сообщение от alsav22 Посмотреть сообщение
Оттуда - откуда? Из файла? Из массива?
Я про массив подумал, когда вводить уравнение плоскости начал, потом достал, я не очень разбираюсь в программировании).
А вот такой вопрос еще, если не затруднит). При переводе в оттенки серого значений из массива, смогу ли я воспользоваться Canvas, для прорисовки попиксельно, то есть ссылаться на полученные значения цвета в RGB?
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
04.04.2014, 03:32     Построить картинку (3 миллиона чисел) #12
Это нужно в ветке по Builder спрашивать: http://www.cyberforum.ru/cpp-builder/
Это уже не С++.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2014, 04:06     Построить картинку (3 миллиона чисел)
Еще ссылки по теме:

Построить гистограмму некоего набора натуральных чисел - C++
Даны n натуральных чисел. Построить гистограмму для этих значений. Помогите, пожалуйста

По заданному ряду чисел построить новый ряд - C++
Помогите, пожалуйста, написать 2 программы. Только без &quot;это ж элеметарно&quot; &quot;ты что такой тугой&quot;. Просто напишите полностью программы. ...

Построить односвязный список из входной последовательности чисел - C++
Построить односвязный список из входной последовательности чисел. При построении в списке располагать сначала узлы, содержащие простые...

Цикл: Построить последовательность целых чисел a1, ..., a30, где a1=1, a2=1, a[i]=a[ i/2 ]+ a[i – 2] (i=3, ..., 30). - C++
2 часа пробовали сделать прогу по данной задаче. что то получилось, но оказалось неверным.дальше дело не идёт. Задача вроде простая, но...

Нужно написать программу - Построить последовательность чисел Фибоначчи - C++
Люди помогите пожалуйста!!! Построить последовательность чисел Фибоначчи из 20 элементов. Выбрать 7 последних чисел из этой...


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

Или воспользуйтесь поиском по форуму:
sergei123123
0 / 0 / 0
Регистрация: 13.09.2013
Сообщений: 9
04.04.2014, 04:06  [ТС]     Построить картинку (3 миллиона чисел) #13
Спасибо.
Yandex
Объявления
04.04.2014, 04:06     Построить картинку (3 миллиона чисел)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru