Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.65/20: Рейтинг темы: голосов - 20, средняя оценка - 4.65
0 / 0 / 0
Регистрация: 26.08.2019
Сообщений: 16

Есть файл с цифрами. С него нужно сделать три массива данных

26.08.2019, 00:56. Показов 4259. Ответов 21

Студворк — интернет-сервис помощи студентам
Здравствуйте,помогите пожалуйста,есть фаил с цифрами - строка грубо говоря,с нее нужно сделать три массива данных,не как не доходит,как сделать
Вот на чем остановилась
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp1
{
    class Program
    {
        static void Main()
        {
            
            string[] lines = System.IO.File.ReadAllLines(@"C:\Users\Kristina\Downloads\y_axis_Channel 1_CH1.frf");
 
            System.Console.WriteLine("Contents of y_axis_Channel 1_CH1.frf");
            foreach (string line in lines)
            {
                
                Console.WriteLine("\t" + line);
            }
 
      
            Console.WriteLine("Press any key to exit.");
            System.Console.ReadKey();
          
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.08.2019, 00:56
Ответы с готовыми решениями:

Есть файл .txt с него нужно считать информацию
Есть файл .txt с него нужно считать информацию и записать в строку у меня считывает только первую строку, и записывает по всем переменным ...

Есть код для Билдера, нужно сделать из него проект
Всем привет, есть код с билдера, помогите, кто может сделать из этого проект, пытаюсь, но то к форме не той код приписываю, то еще что... ...

Как записать в файл и считать потом из него три массива с числами?
Доброго времени суток. Стоит такая задача: есть три динамических массива Y,Cr,Cb (n заранее не известна) с вещественными числами в...

21
880 / 559 / 291
Регистрация: 21.11.2012
Сообщений: 1,554
26.08.2019, 11:34
может еще что-нибудь? какие цифры, как они сохранены, какие массивы должны получиться, есть ли ограничения на размер массивов?

вы когда в автомастерскую приезжаете тоже говорите "сделайте машину" и уходите? или же описываете немного конкретнее проблему?
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
26.08.2019, 13:43
может, там и массивы не нужны?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
            int[] InputArray = File.ReadAllText("file.txt").Split(' ').Select(n => Convert.ToInt32(n)).ToArray();
 
            int Chunks = 3;
 
            int ChunkLength = (int)Math.Ceiling(InputArray.Length / (double)Chunks);
 
            List<int>[] PartsFromInputArray = Enumerable.Range(0, Chunks).Select(i => InputArray.Skip(i * ChunkLength).Take(ChunkLength).ToList()).ToArray();
 
            foreach (List<int> Arrays in PartsFromInputArray)
            {
                for (int i = 0; i < Arrays.Count; i++)
                {
                    Console.Write(Arrays[i] + " ");
                }
                Console.WriteLine();
            }
0
0 / 0 / 0
Регистрация: 26.08.2019
Сообщений: 16
27.08.2019, 22:21  [ТС]
Сейчас каждый элемент это строка, а нам надо получить три массива чисел
0
0 / 0 / 0
Регистрация: 26.08.2019
Сообщений: 16
27.08.2019, 22:36  [ТС]
Здравствуйте,помогите пожалуйста,сейчас ф файле каждый элемент это строка,а надо получить три массива чисел,нечего не выходит,где только не читала,не получается,остановилась на этом,открытия файла и всё,а массив не могу сделать

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp1
{
    class Program
    {
        static void Main()
        {
            
            string[] lines = System.IO.File.ReadAllLines(@"C:\Users\Kristina\Downloads\y_axis_Channel 1_CH1.frf");
 
            System.Console.WriteLine("Contents of y_axis_Channel 1_CH1.frf");
            foreach (string line in lines)
            {
                
                Console.WriteLine("\t" + line);
            }
 
      
            Console.WriteLine("Press any key to exit.");
            System.Console.ReadKey();
          
        }
    }
}
0
60 / 45 / 17
Регистрация: 12.08.2019
Сообщений: 161
27.08.2019, 23:02
.frf это что за файл такой ?
0
0 / 0 / 0
Регистрация: 26.08.2019
Сообщений: 16
27.08.2019, 23:25  [ТС]
Формат FRF представляет из себя отчет, который сформировало программное обеспечение под названием FreeReport. Представляет собой важный компонент, необходим в сфере использования разработки на С++ и Delphi.Вообще данные в виде чисел,файл видится и читается,но в виде строк,а нужно в виде трёх массивов чисел
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
28.08.2019, 08:38
kristina12345, я же код высылал, в чем проблема?
0
880 / 559 / 291
Регистрация: 21.11.2012
Сообщений: 1,554
28.08.2019, 10:12
нахрена зачем темы одинаковые плодить? уже есть такая
0
60 / 45 / 17
Регистрация: 12.08.2019
Сообщений: 161
28.08.2019, 10:16
kristina12345 FreeReport проект с открытым исходным кодом. Значит можно посмотреть исходники, посмотреть как формируется файл при записи данных. А значит и свой парсер можно написать. Но задача имхо непростая.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,110
Записей в блоге: 2
28.08.2019, 16:55
Цитата Сообщение от kristina12345 Посмотреть сообщение
Сейчас каждый элемент это строка, а нам надо получить три массива чисел
НЕТ!

List<int>[] PartsFromInputArray - это массив списков int.
0
0 / 0 / 0
Регистрация: 26.08.2019
Сообщений: 16
28.08.2019, 17:18  [ТС]
Элд Хасп, когда я пишу это,бьет ошибку((( в этой строке
C#
1
int[] InputArray = System.IO.File.ReadAllText(@"C:\Users\Kristina\Downloads\y_axis_Channel 1_CH1.frf").Split(' ').Select(n => Convert.ToInt32(n)).ToArray();
System.FormatException
HResult=0x80131537
Сообщение = Входная строка имела неверный формат.
Источник = mscorlib
Трассировка стека:
в System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
в System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
в System.Convert.ToInt32(String value)
в ConsoleApp1.Program.<>c.<Main>b__0_0(Str ing n) в C:\Users\Kristina\source\repos\ConsoleAp p1\ConsoleApp1\Program.cs:строка 20
в System.Linq.Enumerable.WhereSelectArrayI terator`2.MoveNext()
в System.Linq.Buffer`1..ctor(IEnumerable`1 source)
в System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
в ConsoleApp1.Program.Main() в C:\Users\Kristina\source\repos\ConsoleAp p1\ConsoleApp1\Program.cs:строка 20



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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp1
{
    class Program
    {
        static void Main()
        {
            // The files used in this example are created in the topic
            // How to: Write to a Text File. You can change the path and
            // file name to substitute text files of your own.
 
            // Read each line of the file into a string array. Each element
            // of the array is one line of the file.
            string[] lines = System.IO.File.ReadAllLines(@"C:\Users\Kristina\Downloads\y_axis_Channel 1_CH1.frf");
            int[] InputArray = System.IO.File.ReadAllText(@"C:\Users\Kristina\Downloads\y_axis_Channel 1_CH1.frf").Split(' ').Select(n => Convert.ToInt32(n)).ToArray();
 
            int Chunks = 3;
 
            int ChunkLength = (int)Math.Ceiling(InputArray.Length / (double)Chunks);
 
            List<int>[] PartsFromInputArray = Enumerable.Range(0, Chunks).Select(i => InputArray.Skip(i * ChunkLength).Take(ChunkLength).ToList()).ToArray();
 
            foreach (List<int> Arrays in PartsFromInputArray)
            {
                for (int i = 0; i < Arrays.Count; i++)
                {
                    Console.Write(Arrays[i] + " ");
                }
                Console.WriteLine();
            }
            //1 - lines.Length
 
            // Display the file contents by using a foreach loop.
            System.Console.WriteLine("Contents of y_axis_Channel 1_CH1.frf");
            foreach (string line in lines)
               
            {
                // Use a tab to indent each line of the file.
                //line.IndexOf("+")
                Console.WriteLine("\t" + line);
            }
 
            // Keep the console window open in debug mode.
            Console.WriteLine("Press any key to exit.");
            System.Console.ReadKey();
          
        }
    }
}
0
60 / 45 / 17
Регистрация: 12.08.2019
Сообщений: 161
28.08.2019, 17:51
kristina12345, файл загрузите на форум и покажите что из него нужно извлечь.

так понял в файле .frf что-то такое должно быть

Code
1
2
3
4
5
6
7
8
9
��  HP LaserJet 1100 on LPT1: �����       4  �                   ��              Page1   Form   ��   x   |  ,       I   MasterData1      \   �     0           ���     10      begin
   if [Line#] <= 5 then
     ChildBand := 'Child1' else
     ChildBand := 'Child2';
 end                   �          �   Child1      �   �     0           ��                                 �          
   Child2      �   �     0           ��                                 �           �   Memo1     \   �                 ��  ,       Master                 Arial 
                    ���                Memo2     �   `                  �   ,       Child 1                 Arial 
                    ���             �   Memo3     �   `                   �  ,       Child 2                 Arial 
                    ���           ���     Description     Description ' Demonstrates how to switch child bands.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,110
Записей в блоге: 2
29.08.2019, 00:26
Цитата Сообщение от kristina12345 Посмотреть сообщение
когда я пишу это,бьет ошибку((( в этой строке
Значит получаемые вами данные из файла не являются строковым представлением целых чисел.

Прежде чем парсить данные вам надо разобраться с форматом файла, понять какие данные он содержит и как их извлекать.
0
0 / 0 / 0
Регистрация: 26.08.2019
Сообщений: 16
29.08.2019, 01:10  [ТС]
вот выложила фотографию файла,что он содержит,сам файл не могу скинуть,так как разрешение такого нет на сайте этом
Миниатюры
Есть файл с цифрами. С него нужно сделать три массива данных  
0
0 / 0 / 0
Регистрация: 26.08.2019
Сообщений: 16
29.08.2019, 01:11  [ТС]
Элд Хасп, вот выложила фотографию файла,что он содержит,сам файл не могу скинуть,так как разрешение такого нет на сайте этом
Миниатюры
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,110
Записей в блоге: 2
29.08.2019, 01:24
Цитата Сообщение от kristina12345 Посмотреть сообщение
вот выложила фотографию файла,
Вы что не можете сжать файл в архив и приложить к посту?
Иначе так и будете получать общие советы без гарантии их работы на конкретно вашем файле
0
0 / 0 / 0
Регистрация: 26.08.2019
Сообщений: 16
29.08.2019, 12:36  [ТС]
Элд Хасп, вложила,надеюсь у Вас откроет,потому что я застряла и дальше нечего не могу сделать с этими цифрами
Вложения
Тип файла: zip Архив ZIP - WinRAR.zip (58.7 Кб, 4 просмотров)
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,110
Записей в блоге: 2
29.08.2019, 13:07
Лучший ответ Сообщение было отмечено kristina12345 как решение

Решение

Цитата Сообщение от kristina12345 Посмотреть сообщение
я застряла и дальше нечего не могу сделать с этими цифрами
по смыслу у вас там какие-то связанные данные и нужно делать не три отдельных массива, а один массив с типом у которого три свойства (я назову их X, Y, Z)
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
34
35
36
37
38
39
40
41
42
43
44
    public class XYZ
    {
        public double X { get; set; }
        public double Y { get; set; }
        public double Z { get; set; }
 
 
        public static IEnumerable<char> DefaultSeparators = new char[] { ' ', '\t' };
        public static XYZ Parse(string source, IEnumerable<char> separators)
        {
            string[] values = source.Split(separators.ToArray(), StringSplitOptions.RemoveEmptyEntries);
            return new XYZ()
            {
                X = double.Parse(values[0], CultureInfo.InvariantCulture),
                Y = double.Parse(values[1], CultureInfo.InvariantCulture),
                Z = double.Parse(values[2], CultureInfo.InvariantCulture)
            };
        }
        public static XYZ Parse(string source)
            => Parse(source, DefaultSeparators);
 
 
 
        public static bool TryParse(string source, out XYZ xyz, IEnumerable<char> separators)
        {
            try
            {
                xyz = XYZ.Parse(source, separators);
                return true;
            }
            catch (Exception)
            {
                xyz = null;
                return false;
            }
        }
        public static bool TryParse(string source, out XYZ xyz)
            => TryParse(source, out xyz, DefaultSeparators);
 
 
        public override string ToString()
            => $"X={X}, Y={Y}, Z={Z}";
 
    }
И ввод-вывод данных
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
    class Program
    {
        static void Main(string[] args)
        {
 
            List<XYZ> listXYZ = File.ReadAllLines("y_axis_Channel 1_CH1.frf")
                .Select(line => XYZ.Parse(line))
                .ToList();
 
            Console.WriteLine(string.Join(Environment.NewLine, listXYZ));
 
        }
    }
2
0 / 0 / 0
Регистрация: 26.08.2019
Сообщений: 16
29.08.2019, 14:00  [ТС]
Элд Хасп, когда нажимаешь отладку,на черном экране цифры идут,как ишли раньше при открытия файла
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.08.2019, 14:00
Помогаю со студенческими работами здесь

Нужно сделать подобную прогу (есть exe файл)
Нужно сделать прогу на exe файл. Хочу поменять там пару моментов, но исходник был утерян, остался только exe файл. Ток скидывайте все...

Есть файл txt, в нем словосочетания в столбец, нужно к каждому словосочетанию добавить символ в конце. Как сделать?
Есть файл txt, в нем словосочетания в столбец, нужно к каждому словосочетанию добавить символ в конце, в данном случае закрывающий тег. Как...

Файл: Есть текстовый файл, дописать в него 6 одинаковых строк. Записываемая строка вводится с клавиатуры
42 Есть текстовый файл, дописать в него 6 одинаковых строк. Записываемая строка вводится с клавиатуры.

Нужно сделать базу данных без массива!
Вывести список тех товаров, чья стоимость выше средней стоимости всех товаров прайс-листа, список товаров производимых в указанной стране.

Есть база данных библиотеки, сотрудники, задолжники и тд. нужно сделать запросы и отчеты, они простые но как делать с формами это я не знаю
Отчеты 1. Книги i-го автора 2. Книги, хранящиеся на i-ом стеллаже 3. Кол-во экземпляров книг i-го автора Запросы ...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru