Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Заменить значения массивов в файле
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Заменить значения массивов в файле

Страниц (1): [1]
 

1. bruce159357 - 25 Сентября, 2017 - 15:59:41 - перейти к сообщению
Кто может помочь с заданием? Дан файл, в который записано 10 одномерных массивов. Нужно заменить положительные числа на 1, а негативные на -1. Массивы снова записать в файл.
2. andrewkard - 25 Сентября, 2017 - 16:09:49 - перейти к сообщению
bruce159357 пишет:
Дан файл, в который записано 10 одномерных массивов.

как записан, цифры через пробел и каждый массив с новой строки?
3. bruce159357 - 25 Сентября, 2017 - 16:12:27 - перейти к сообщению
andrewkard пишет:
bruce159357 пишет:
Дан файл, в который записано 10 одномерных массивов.

как записан, цифры через пробел и каждый массив с новой строки?

В условиях об этом ничего не сказано
4. andrewkard - 25 Сентября, 2017 - 16:14:59 - перейти к сообщению
bruce159357 пишет:
В условиях об этом ничего не сказано

и как тогда решить это задание?
5. bruce159357 - 25 Сентября, 2017 - 16:16:32 - перейти к сообщению
andrewkard пишет:
bruce159357 пишет:
В условиях об этом ничего не сказано

и как тогда решить это задание?

Если я правильно понял, массивы нужно записать в файл самому. А как это сделать значения не имеет.
6. andrewkard - 25 Сентября, 2017 - 16:56:53 - перейти к сообщению
тогда как то так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $file = 'data.txt';
  3.  
  4. $fp = fopen($file, 'w');
  5.  
  6. for($i = 0; $i < 10; $i++){
  7.  
  8.     $data = range(-10, 10, 1);
  9.  
  10.     shuffle($data);
  11.  
  12.     fwrite($fp, implode(' ', $data)."\r\n");
  13. }
  14.  
  15. fclose($fp);
  16.  
  17. $data = file_get_contents($file);
  18.  
  19. $rows = explode("\r\n",$data);
  20.  
  21. foreach($rows as $index => $row){
  22.  
  23.     if(empty($row)) continue;
  24.  
  25.     $numbers = explode(" ",$row);
  26.  
  27.     foreach($numbers as $i => $num){
  28.         $numbers[$i] = $num >= 0 ? 1 : -1;
  29.     }
  30.  
  31.     $rows[$index] = implode(" ", $numbers);
  32. }
  33.  
  34. file_put_contents($file,implode("\r\n",$rows));
  35.  
7. bruce159357 - 25 Сентября, 2017 - 17:05:33 - перейти к сообщению
andrewkard пишет:
тогда как то так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $file = 'data.txt';
  3.  
  4. $fp = fopen($file, 'w');
  5.  
  6. for($i = 0; $i < 10; $i++){
  7.  
  8.     $data = range(-10, 10, 1);
  9.  
  10.     shuffle($data);
  11.  
  12.     fwrite($fp, implode(' ', $data)."\r\n");
  13. }
  14.  
  15. fclose($fp);
  16.  
  17. $data = file_get_contents($file);
  18.  
  19. $rows = explode("\r\n",$data);
  20.  
  21. foreach($rows as $index => $row){
  22.  
  23.     if(empty($row)) continue;
  24.  
  25.     $numbers = explode(" ",$row);
  26.  
  27.     foreach($numbers as $i => $num){
  28.         $numbers[$i] = $num >= 0 ? 1 : -1;
  29.     }
  30.  
  31.     $rows[$index] = implode(" ", $numbers);
  32. }
  33.  
  34. file_put_contents($file,implode("\r\n",$rows));
  35.  

Спасибо за помощь

 

Powered by ExBB FM 1.0 RC1