Форум программистов, компьютерный форум, киберфорум
AutoIt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/30: Рейтинг темы: голосов - 30, средняя оценка - 4.57
2 / 2 / 2
Регистрация: 06.06.2014
Сообщений: 156
Записей в блоге: 1
1

Создание на основе данных, получаемых из каждой строки текстового файла, соответствующего массива

27.02.2015, 14:48. Показов 5655. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Нужно создать N кол. массивов (в файле 76 строк) и записать числа которые находятся после второй запятой в строке в новый массив. Пример:
Строка в txt: 0,0,2000,1,8
Программа должна записать в первый массив число 2000(т.к. находится после второй запятой)
Вторая строка txt: 0,0,1998,1,6
Программа во второй массив запишет число 1998.

И так кол. массивов да конца txt файла(в нем 76 строк)
Мне бы просто понять, как создавать такие массивы.

И если можно, что бы у массивов было название например mas и число массива(mas1 mas2 mas3 и так до 76)

P.S. Я уже полгода пытался написать программу для создания таких массивов, но ничего не получалось, пожалуйста, помогите.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.02.2015, 14:48
Ответы с готовыми решениями:

Добавить в конец каждой строки текстового файла изображение соответствующего числа из файла целых чисел
Дан текстовый файл и файл целых чисел. Добавить в конец каждой строки текстового файла изображение...

Создание базы данных на основе текстового файла.
Привет всем! Короче так. Что мне нужно, это база данных на основе текстового файла. Нашел как это...

Создание второго текстового файла на основе данных из первого
Добрый вечер! Народ, помогите нубасу)) Когда нажимаю кнопку1 выбираю текстовый файл (заранее...

Сложение чисел, получаемых из строк текстового файла
Всем привет! Ребят, помогите пожалуйста. (искал много, читал много но так и не нашёл нужного) В...

2
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
27.02.2015, 15:42 2
что конкретно не получается?
смотрите примеры fileRead, Assign, stringSplit.
И вообще, зачем делать массивы из одного числа?
0
2 / 2 / 1
Регистрация: 21.06.2013
Сообщений: 30
07.03.2015, 21:07 3
Лучший ответ Сообщение было отмечено AndreySeVeN как решение

Решение

Уважаемый товарищ!
Зачем вам такое извращение как много массивов? не удобнее-ли будет использовать один массив и обращаться к записать как ЗАПИСЬ[НОМЕР]?
Вот код для примера:
Кликните здесь для просмотра всего текста
PureBasic
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
55
56
57
#include <Array.au3>
#include <FileConstants.au3>
#include <StringConstants.au3>
 
; Объявляем пустой массив
Dim $MyMas[0]
 
; Вызов функции, имя файла и столбец
$MyMas = MyReadFile("list.txt",3);
 
MsgBox(4096,"Заголовок","Запись номер 1: " & $MyMas[1]);
 
; Проверяем что получился массив
if VarGetType($MyMas) == "Array" Then
   ; Красиво вывести массив
   _ArrayDisplay($MyMas);
EndIf
 
; Объявление функции
Func MyReadFile($file,$col)
; Объявляем пустой массив
Local $Array[0];
; Открываем файл на чтение
Local $hFile = FileOpen($file,$FO_READ);
; Проверяем открылся ли файл, иначе выход из функции
if $hFile = -1 Then
   MsgBox(4096,"Error","Файла нет");
   Return False;
EndIf
; Прочитать одну строку из файла
Local $line = FileReadLine($hFile);
 
; Цикл-перебор всех строк, работает пока есть строки
While $line
 
   ; Получить значение между второй и третьей запятой
   ;Local $aNumbers = StringRegExp($line,'.*?,.*?,(.+?),',1);
   Local $aNumbers = StringSplit($line,',');
 
   ; Если нет нужного столбца то пропустить итерацию
   if UBound($aNumbers) < $col Then
      ContinueLoop();
   EndIf
 
   ; Изменить размерность массива на 1
   ReDim $Array[UBound($Array)+1];
 
   ; Записать в массив
   $Array[UBound($Array,1)-1] = $aNumbers[$col];
 
   ; прочитать стрроку
   $line = FileReadLine($hFile);
WEnd
; Вернуть массив
Return $Array;
 
EndFunc


Добавлено через 24 минуты
Ладно, можно еще создавать переменные... но только не массивы!
На языке программирования AutoIT нельзя динамически СОЗДАВАТЬ массивы, только расширять.
Выкладываю пример с созданием динамических переменных:
Кликните здесь для просмотра всего текста
PureBasic
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
#include <Array.au3>
#include <FileConstants.au3>
#include <StringConstants.au3>
 
 
; Вызов функции, имя файла и столбец
MyReadFile("list.txt",3);
 
 
MsgBox(4096,"Заголовок","Запись номер 1: " & eval("Str_1"));
MsgBox(4096,"Заголовок","Запись номер 2: " & eval("Str_2"));
 
 
; Объявление функции
Func MyReadFile($file,$col)
; Открываем файл на чтение
Local $hFile = FileOpen($file,$FO_READ);
; Проверяем открылся ли файл, иначе выход из функции
if $hFile = -1 Then
   MsgBox(4096,"Error","Файла нет");
   Return False;
EndIf
; Прочитать одну строку из файла
Local $line = FileReadLine($hFile);
 
; Счетчик
Local $i = 1;
 
; Цикл-перебор всех строк, работает пока есть строки
While $line
 
   ; Получить значение между второй и третьей запятой
   Local $aNumbers = StringSplit($line,',');
 
   ; Если нет нужного столбца то пропустить итерацию
   if UBound($aNumbers) < $col Then
      ContinueLoop();
   EndIf
 
   ; Привязать данные к имени
   Assign("Str_" & $i,$aNumbers[$col],2);
   ;ConsoleWrite("Str_" & $i & " = " & $aNumbers[$col] & @CRLF);
   ;MsgBox(4096,"Заголовок","Запись номер "&$i&": " & eval("Str_"&$i));
 
   ; Инкремент счетчика
   $i = $i + 1;
 
   ; прочитать стрроку
   $line = FileReadLine($hFile);
WEnd
Return True;
EndFunc
1
07.03.2015, 21:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2015, 21:07
Помогаю со студенческими работами здесь

Составить список на основе данных текстового файла
На основе данных входного файла составить список сотрудников учреждения, включив следующие данные:...

Сформировать на основе внешнего текстового файла Т1 файл Т2, разбивая Т1 на строки
.Разработать программу, которая формирует на основе внешнего текстового файла Т1 файл Т2, разбивая...

В конец каждой строки текстового файла дописать количество символов этой строки
Помогите, нужно : &quot;В конец каждой строки текстового файла дописать количество символов этой...

Процедура создания типизированного файла, состоящего из первых слов каждой строки данного текстового файла
процедура создания типизированного файла, состоящего из первых слов каждой строки данного...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru