Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Как реализовать такую функцию ? (https://forum.antichat.xyz/showthread.php?t=208526)

Tapaceuka 02.06.2010 02:14

Как реализовать такую функцию ?
 
В Memo1 находятится:
o
ol
ola
olal
olala

В Memo2 находятся:
1
12
123
1234
12345

И чтоб при нажатии на кнопку она все записала всё в 1 файл в виде:
o;1
o;12
o;123
....
olal;1
olal;12
olal;123

и т.д.

Помогите реализовать такую вот функцию

Ra$cal 02.06.2010 02:22

вложенные циклы, нэ?

KATYA 02.06.2010 03:30

PHP код:

using System;
using System.IO;

namespace 
ololo
{
    class 
ololo
    
{

        public static 
void Main()
        {
           
/*Если берём из файлов, то раскоментируем две след.
 строки, а строки ниже с мемо закомментиркем или удалим.*/
            //string[] Memo1 = File.ReadAllLines("Memo1.txt");
            //string[] Memo2 = File.ReadAllLines("Memo2.txt");
            
string[] Memo1 = {"vasya""petya""ivan"};
            
string b ";";
            
string[] Memo2 = {"111""222""333"};

            
StreamWriter d = new StreamWriter("out.txt"true);
            for (
int i 0Memo1.GetLength(0); i++)
            {
                for (
int j 0Memo2.GetLength(0); j++)
                {
                    
Console.WriteLine(Memo1[i]+b+Memo2[j]);
                    
d.WriteLine(Memo1[i] + Memo2[j]);
                }
                
            }
            
d.Close();
            
Console.ReadLine();
            
            
            
            }
            
        }
    } 

На выходе получим out.txt c содержимым

vasya;111
vasya;222
vasya;333
petya;111
petya;222
petya;333
ivan;111
ivan;222
ivan;333

s0l_ir0n 02.06.2010 08:43

var
f:textfile;
i:integer;
begin
AssignFile(f,'olo.txt');
Rewrite(f);
For i:=0 to Memo1.Lines.Count do
Writeln(f,Memo1.Strings[i]+';'+Memo2.Strings[2]);
CloseFile(f);
end;
-----------
Писал прям тут, не проверял, но думаю алгоритм ясен

Kaas 02.06.2010 09:35

Мне больше нравится с LINQ:

Код:

var res = (from p in list1
              from g in list2
              select p+";"+g).ToList();


.::f-duck::. 02.06.2010 09:39

Цитата:

for (i;i<x;i++)
{
temp[i] = strcat(memo1, memo2);
std::cout << temp[i];}
}
А так?

Ins3t 02.06.2010 13:12

Цитата:

Сообщение от .::f-duck::.
А так?

Где вы такую траву берете?

Мало того, что этот кусок кода из пяти строк написан с кучей ошибок, так он еще и задачу Топик Стартера не выполнит.

Вот пример на С++:

Код:

////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
#include <iostream>
using std::cout;
using std::endl;
////////////////////////////////////////////////////////////////////////////////
#include <string>
using std::string;
////////////////////////////////////////////////////////////////////////////////
#include <vector>
using std::vector;
////////////////////////////////////////////////////////////////////////////////
int main( int argc, char * argv[] ) {
        vector < string > memo1( 3 );
        memo1.at( 0 ) = "qwe";
        memo1.at( 1 ) = "rty";
        memo1.at( 2 ) = "uio";

        vector < string > memo2( 3 );
        memo2.at( 0 ) = "123";
        memo2.at( 1 ) = "456";
        memo2.at( 2 ) = "789";

        for( int i = 0; i < memo1.size(); i++ ) {

                for( int k = 0; k < memo2.size(); k++ ) {
                        cout << memo1[ i ] << ":" << memo2[ k ] << endl;
                        }
                }
        return 0;
        }
////////////////////////////////////////////////////////////////////////////////

Если понадобится реализовать с файлами, то есть прочесть два файла и записать итог в третий - пиши в ПМ.

Если нужно на шарпе - смело бери пример KATYA.

s0l_ir0n 02.06.2010 13:13

кто смелый и напишет на браинфаке?))))

Tapaceuka 02.06.2010 14:47

все понял как правельнее:

AssignFile(f, 'brute.txt');
ReWrite(f);
for i:=0 to Memo1.Lines.Count-1 do
for j:=0 to Memo2.Lines.Count-1 do
Writeln(f,Memo1.Lines[i]+';'+Memo2.Lines[j]);
Closefile(f);


Время: 15:19