Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
 Аватар для fxxer
15 / 15 / 3
Регистрация: 19.05.2012
Сообщений: 58

Подскажите алгоритм

19.05.2012, 16:18. Показов 616. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть файл, к примеру со словами стул, кровать, окно, все они с новой строки начинаются, есть файл со словами, большой, маленький, и файл со словами выкинуть, найти.
Помогите с написанием скрипта на php, что бы на выходе получался еще один файл "output":
большой стул выкинуть
большой стул найти
маленький стул выкинуть
маленький стул найти
большой кровать выкинуть
большой кровать найти
маленький кровать выкинуть
маленький кровать найти

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

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
$fp = fopen('output.txt', 'wr+'); // Текстовый режим
$arr1 = file("do.txt"); // Считывание файла в массив
$arr2 = file("counter.txt"); // Считывание файла в массив
$arr3 = file("posle.txt"); // Считывание файла в массив
$res1 = count($arr1); // подсчет строк в массиве
$res2 = count($arr2);
$res3 = count($arr3);
$string = $arr1[$a]. $arr2[$b]. $arr3[$c]; // конкатенация
$write = fwrite($fp, $string); // Запись в файл
for ($a=0, $b=0, $c=0; $a<=$res1, $b<=$res2, $c<=$res3; $b++)
    {
        
    }
Вот что писать в самом цикле и как правильно его заполнить я не знаю.... Подскажите плиз... Я даже уверен в том что тело цикла тоже не правильно написал
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.05.2012, 16:18
Ответы с готовыми решениями:

Подскажите алгоритм
Нужно создать сайт, на котором регистрируется пользователь и для него создаётся личная страница, а которой он выкладывает фотки, его...

Подскажите алгоритм для парсинга
всем привет, вот у меня есть десяток таких блоков &lt;div class=&quot;title&quot;&gt; &lt;a href=&quot;http://test.com/asus_rt-n53/p195257/&quot;&gt; ...

Подскажите алгоритм для проверок ссылок
Подскажите пожалуйста алгоритм, который сможет проверять введенную пользователем ссылку, на работоспособность. Эта ссылка на файлы для...

5
 Аватар для AnTro.Net
131 / 127 / 50
Регистрация: 28.04.2010
Сообщений: 928
19.05.2012, 16:43
Цитата Сообщение от fxxer Посмотреть сообщение
for ($a=0, $b=0, $c=0; $a<=$res1, $b<=$res2, $c<=$res3; $b++)
сильно!
PHP
1
$string = $arr1[$a]. $arr2[$b]. $arr3[$c]; // конкатенация
а где объявления самих переменных $a, $b, $c?
0
 Аватар для atom
3 / 3 / 1
Регистрация: 19.05.2012
Сообщений: 15
19.05.2012, 19:45
Цитата Сообщение от fxxer Посмотреть сообщение
Подскажите плиз... Я даже уверен в том что тело цикла тоже не правильно написал
ваще ниче не правильно. зачем считывать все из файлов в массив (нужно иметь ввиду, что файл может быть очень большой)? можно построчно читать файл функцией fgets, например:
PHP
1
2
3
4
5
6
7
8
 
// Построчное чтение файла 
$handle = fopen ("/tmp/inputfile.txt", "r"); 
while (!feof ($handle)) { 
    $buffer = fgets($handle, 4096); 
    echo $buffer; 
} 
fclose ($handle);
соответственно и считать строки в массиве не нужно будет.
Потом, тупо делаешь конкатенацию того что прочитано из файла.
0
 Аватар для fxxer
15 / 15 / 3
Регистрация: 19.05.2012
Сообщений: 58
20.05.2012, 11:40  [ТС]
В общем более менее рабочий код получился, не столь важно какой быстрый, со всеменем научусь писать правильно. Но есть одно но. Когда текст записывается в файл поулчается вот такая фигня:
  1. едва
  2. мама
  3. ушла
  4. едва
  5. она
  6. ушла
  7. едва
  8. сестраушла
  9. едва
  10. ушла
Заметьте что сестра ушла почему то пишется вместе

а далжно получаться:
  1. едва мама ушла
  2. едва она ушла
  3. едва сестра ушла
  4. едва ушла
Цифры спереди это форматированный текст, внимания не обращайте.

Вот сам код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
//Открывает файл в разных режимах
$fp = fopen('output.txt', 'wr+'); // Текстовый режим
$arr1 = file("counter.txt"); // Считывание файла в массив
$arr2 = file("do.txt"); // Считывание файла в массив
$arr3 = file("posle.txt"); // Считывание файла в массив
$a = 0;
$b = 0;
$c = 0;
$res1 = count($arr1);
$res2 = count($arr2);
$res3 = count($arr3);
for ($a; $a<=$res1; $a++)
    {
        $string = $arr2[$b]. $arr1[$a]. $arr3[$c];
        $write = fwrite($fp, $string); // Запись в файл  
        echo "$arr2[$b] $arr1[$a] $arr3[$c]<br>";
    }
?>
echo выводит все правильно, а вот запись в файл как то не так ведетсякак хотелось бы, помогите ламеру ушастому
0
 Аватар для atom
3 / 3 / 1
Регистрация: 19.05.2012
Сообщений: 15
20.05.2012, 19:50
Цитата Сообщение от fxxer Посмотреть сообщение
echo выводит все правильно, а вот запись в файл как то не так ведетсякак хотелось бы, помогите ламеру ушастому
не хотите делать правильно пусть будет неправильно. замените строку:
PHP
1
$string = $arr2[$b]. $arr1[$a]. $arr3[$c];
на

PHP
1
$string = trim($arr2[$b]). trim($arr1[$a]). trim($arr3[$c])."\r\n";
и радуйтесь.
1
 Аватар для fxxer
15 / 15 / 3
Регистрация: 19.05.2012
Сообщений: 58
20.05.2012, 19:55  [ТС]
Цитата Сообщение от atom Посмотреть сообщение
не хотите делать правильно пусть будет неправильно. замените строку:
PHP
1
$string = $arr2[$b]. $arr1[$a]. $arr3[$c];
на

PHP
1
$string = trim($arr2[$b]). trim($arr1[$a]). trim($arr3[$c])."\r\n";
и радуйтесь.
Я делаю как сказали Вы, тренируюсь, просто этот вариант почти работал. Ваш вариант я буду изучать, пока пойму что и как работает, я ведь впервые писал на каком либо языке программирования.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.05.2012, 19:55
Помогаю со студенческими работами здесь

Подскажите алгоритм сокращенного отображения новостей
Стандартная ситуация, когда на главной странице или где-то в категории записи отображаются сокращенно и при нажатии на ссылку &quot;читать...

Подскажите алгоритм создания строки навигации ?
Ребят! Подскажите пожалйста алгоритм создания строки навигации - Страница 1 из 153 (как на этом и куче других форумов к примеру) и далее...

подскажите алгоритм создания категорий
Нужно сделать категории как на drupal, т.е чтобы одну можно было вставить в другую. Вот интересует сам вывод этих категорий. Я так понимаю...

Подскажите алгоритм
Добрый вечер. Стоит такая задача: проверить входит ли точка в произвольный многоугольник. Все координаты вершин многоугольника и координаты...

подскажите алгоритм
Работаю с CheckListBoxами но не могу сделать нормальный алгоритм роботы. Первая строка вопрос. В FormCreate пишу ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru