|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Работа с массивами. |
|
[решено] Работа с массивами.
|
Пользователь Сообщения: 59 |
Профиль | Отправить PM | Цитировать Нужна помощь!
следующая ситуация: есть четыре текстовых файла. для удобства именуем: 1.txt, 2.txt, 3.txt, 4.txt все имеют след вид: 1000205275 1000223812 1000238288 4474 1000031760 227334 1000014533 1000010159 1000042383 и тд. нужно взять число из первой строчки 1.txt и проверить если не повторяется в других файлах(2.txt, 3.txt, 4.txt) то сделать что-то, и то же самое с остальныим строчками... хотел сделать с циклами методом перебора, но понял что с массивами быстрее и проще, да вот беда не знаю как. не работал с массивами. и еще вопрос, как отразится на скорости работы если в файлах будет 1000 строк, или 5000?? |
|
Отправлено: 15:30, 02-03-2010 |
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать |
Отправлено: 16:43, 02-03-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 367
|
Профиль | Отправить PM | Цитировать Russo, что значит имеют вид?
Цитата Russo:
Цитата Russo:
Цитата Russo:
Цитата Russo:
вобщем, сформулируй окончательно задачу предоставив как можно больше инфы. а то, я например понял так. нужно просто проверить файлы на идентичность. если файлы идентичны, сделать действие. если нет, пропустить или сделать другое действие. |
||||
------- Отправлено: 17:00, 02-03-2010 | #3 |
Пользователь Сообщения: 59
|
Профиль | Отправить PM | Цитировать не файлы проверить, а строки на предмет вхождения в другие файли. интересует не идентичночть файлов, а присутствие в них строк из первого файла.
Цитата kaster:
|
|
Отправлено: 17:12, 02-03-2010 | #4 |
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать Цитата Russo:
|
||
Отправлено: 17:16, 02-03-2010 | #5 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Russo,
Если я правильно понял задачу, то у меня так получилось: #include <File.au3> #include <Array.au3> Dim $aArray1, $aArray2, $aArray3, $aArray4 $file1 = "1.txt" $file2 = "2.txt" $file3 = "3.txt" $file4 = "4.txt" _FileReadToArray($file1, $aArray1) _FileReadToArray($file2, $aArray2) _FileReadToArray($file3, $aArray3) _FileReadToArray($file4, $aArray4) For $i = 1 To UBound($aArray1) - 1 $error2 = _ArraySearch($aArray2, $aArray1[$i]) If $error2 = -1 Then MsgBox(48, $file1 & " строка " & $i, "Данные файла " & $file2 & " в строке № " & $i _ & " не совпадают", 5) Else MsgBox(64, $file1 & " строка " & $i, "Данные файла " & $file2 & " в строке № " & $i _ & " совпадают", 5) EndIf $error3 = _ArraySearch($aArray3, $aArray1[$i]) If $error3 = -1 Then MsgBox(48, $file1 & " строка " & $i, "Данные файла " & $file3 & " в строке № " & $i _ & " не совпадают", 5) Else MsgBox(64, $file1 & " строка " & $i, "Данные файла " & $file3 & " в строке № " & $i _ & " совпадают", 5) EndIf $error4 = _ArraySearch($aArray4, $aArray1[$i]) If $error4 = -1 Then MsgBox(48, $file1 & " строка " & $i, "Данные файла " & $file4 & " в строке № " & $i _ & " не совпадают", 5) Else MsgBox(64, $file1 & " строка " & $i, "Данные файла " & $file4 & " в строке № " & $i _ & " совпадают", 5) EndIf Next PS Наверное, можно сделать изящнее и проще... |
Отправлено: 17:34, 02-03-2010 | #6 |
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать Проверка наличия совпадений строк 1- го файла в остальных :
#include <Array.au3> #include <File.au3> $sStr='' For $i=2 To 4 $hFile = FileOpen($i & ".txt", 0) $sStr &= FileRead ( $hFile ) & @CRLF FileClose ( $hFile ) Next MsgBox(0,'$sStr',$sStr) Dim $aRecords _FileReadToArray("1.txt",$aRecords) _ArrayDisplay($aRecords) For $i = 1 To UBound($aRecords)-1 If StringRegExp ( $sStr, $aRecords[$i],0)=1 Then Msgbox(0,$aRecords[$i] ,'Совпадение найдено') Else Msgbox(0,$aRecords[$i] ,'Совпадение не найдено') EndIf Next |
Отправлено: 17:37, 02-03-2010 | #7 |
Пользователь Сообщения: 59
|
Профиль | Отправить PM | Цитировать спасибо! код от madmasles подошел практически идеально. gregaz также спасибо за потраченое время и труд!!!
РЕШЕНО! |
Отправлено: 12:21, 03-03-2010 | #8 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
C/C++ - Как правильно работать с массивами | oRaVeNo | Программирование и базы данных | 13 | 06-07-2010 06:41 | |
C/C++ - [решено] Лабораторная. Работа с массивами | Artem-Samsung | Программирование и базы данных | 6 | 01-06-2009 21:30 | |
Perl. Работа с массивами. | simon171078 | Вебмастеру | 2 | 09-01-2007 16:19 | |
Работа БП | Surround | Хочу все знать | 5 | 05-03-2006 21:40 | |
Работа ХР с CD | LamerOK | Microsoft Windows 2000/XP | 8 | 17-04-2004 23:51 |
|