Исходник программы:
Code
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace Map_creator
{
class Program
{
static int cnt(string s1, string s2)
{
int i = 0;
int x = -1;
int count = -1;
while (i != -1)
{
i = s1.IndexOf(s2, x + 1);
x = i;
count++;
}
return count;
}
static void Main(string[] args)
{
string startupath = AppDomain.CurrentDomain.BaseDirectory;
string[] users = File.ReadAllLines(startupath + "users.txt");
string[] forump = File.ReadAllLines(startupath + "forump.txt");
string[] nicknames, names;
string[,] usersdata = new string[800,30];
char[] splitter = new char[1] { '|' };
int[] good_users = new int[800];
int temp_cnt = 0, i,ii;
Console.WriteLine("Выбрать пользователей, колличество сообщений которых более чем:");
int user_messages = Convert.ToInt32(Console.ReadLine());
//заполнение матрицы с информацией о пользователях:
/*
никнейм - 0
имя - 5
город - 12
* */
Console.WriteLine("Заполнение матрицы с информацией о пользователях... ");
for (i = 0; i != users.Length; i++)
{
for (ii = 0; ii != 28; ii++)
{
usersdata[i,ii]=users[i].Split(splitter)[ii];
}
}
Console.WriteLine("Подсчет колличества сообщений...");
Console.WriteLine("");
//подсчет колличества сообщений:
for (i = 0; i != users.Length; i++)
{
for (ii = 0; ii != forump.Length; ii++)
{
if (cnt(forump[ii], usersdata[i, 0]) > 0)
temp_cnt++;
if (temp_cnt > user_messages)
break;
}
good_users[i] = temp_cnt;
temp_cnt = 0;
}
//Вывод карты:
string html = "<html><title>Карта</title><body>";
html=html+ "<img src=\"http://umorok.hdd1.ru/1.gif\" border=\"0\" usemap=\"#Map\" />";
html=html+"<map name=\"Map\">";
for (i = 0; i != users.Length; i++)
if (good_users[i] > user_messages)
html=html+"<area shape=\"circle\" coords=\"XXX,XXX,XX\" title=\""+usersdata[i, 0]+"\">";
html=html+"</map></body></html>";
Console.WriteLine(html);
Console.WriteLine("");
File.WriteAllText(startupath + "map.html", html, Encoding.UTF8);
Console.WriteLine("В папке с программой создан HTML файл.");
Console.ReadLine();
}
}
}
UPD Чуток оптимизировал, должен по быстрее выполняться.