Просмотр полной версии : Как реализовать такую функцию ?
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
и т.д.
Помогите реализовать такую вот функцию
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 = 0; i < Memo1.GetLength(0); i++)
{
for (int j = 0; j < Memo2.GetLength(0); j++)
{
Console.WriteLine(Memo1[i]+b+Memo2[j]);
d.WriteLine(Memo1[i] + b + 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;
-----------
Писал прям тут, не проверял, но думаю алгоритм ясен
Мне больше нравится с 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];}
}
А так?
А так?
Где вы такую траву берете?
Мало того, что этот кусок кода из пяти строк написан с кучей ошибок, так он еще и задачу Топик Стартера не выполнит.
Вот пример на С++:
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
#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);
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot