Здравствуйте, ArtemGorikov, Вы писали:
AG>Здравствуйте, VladD2, Вы писали:
VD>>Таки все же интересно глянуть на тоже самое на АТЛ-е.
AG>ATL — в студию
...
Ну, вот совсем другое дело! Истенный С++-стиль! Чтобы разобраться нужно потрахаться. Код "улучшен" отсуствием декомпозиции. В общем, отличный наглядный пример того как написать шифрогрмму.
... << RSDN@Home 1.2.0 alpha rev. 606>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, ArtemGorikov, Вы писали:
VD>Запустил этот тест. Результат получился еще более потрясающим чем предыдущим: VD>
VD> 00427CD0
VD>
Сори, это я файл забыл подставить. Если подставить путь к файлу, то получается более осмысленный вариант:
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, VladD2, Вы писали:
VD>Сори, это я файл забыл подставить. Если подставить путь к файлу, то получается более осмысленный вариант:
VD>
На какой файл натравили? Че за бред вообще вывело? У меня на текстовом файле прекрасно работает. Количество траха такое же, как в Вашем варианте, если отбросить "синтаксический оверхед".
Здравствуйте, ArtemGorikov, Вы писали:
AG>Здравствуйте, VladD2, Вы писали:
VD>>Здравствуйте, VladD2, Вы писали:
VD>>Сори, это я файл забыл подставить. Если подставить путь к файлу, то получается более осмысленный вариант:
VD>>
AG>На какой файл натравили? Че за бред вообще вывело? У меня на текстовом файле прекрасно работает. Количество траха такое же, как в Вашем варианте, если отбросить "синтаксический оверхед".
Скопиковал код из своего же поста в новый проект, собрал — работает.
Собирал и с managed extensions и без, все равно работает. Натравил на exe-шник — все равно все работает, вывела кучу "слов" на консоль. Как Вы ее собирали, ума не приложу. Поделитесь опытом
Нашел, где была проблема. К сожалению, std::cout не принял unicode, а я раньше тестил в ansi/mbcs сборке. Надо было везде на консоль выводить ansi text. Вот правильный код:
// StringTest.cpp : Defines the entry point for the console application.
//#include <iostream>
#include <tchar.h>
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit#include <atlbase.h>
#include <atlfile.h>
#include <atlstr.h>
#include <atlcoll.h>
int _tmain(int argc, _TCHAR* argv[])
{
typedef char XCHAR; // define which format do we work with: ansi/mbcs or unicodetypedef ChTraitsCRT<XCHAR> ChTraitsX; // define char traits for strings (will use it also seperately)typedef CStringT< XCHAR, StrTraitATL<XCHAR, ChTraitsX> > CStringX; // our strings;typedef CAtlMap<CStringX, size_t> str_map; // string map ( uses hash capability of atl strings )
CAtlFile file; // atl wrapper for files
CAtlFileMapping<XCHAR> mapping; // atl wrapper for memory-mapped files. Allows access to files up to 2 GB length as
memory area.
if(argc < 2
|| FAILED(file.Create(argv[1], GENERIC_READ, FILE_SHARE_READ, OPEN_EXISTING))
|| FAILED(mapping.MapFile(file))
)
{
std::cout << "error opening file";
return 0;
}
static CStringX space_mask(" \t\r\n,./?;:\"'!()-+*=\\|{}<>[]"); // mask with seperator symbols
str_map words; // map objectfor(const XCHAR *it = mapping, *it_end = (const XCHAR*)mapping + mapping.GetMappingSize();
it < it_end;
it = ChTraitsX::CharNext(it)) // function needed to operate with mbcs symbols correctly
{
const XCHAR* it_prev = it;
while(it_prev != it_end && 0 <= space_mask.Find(*it_prev)) // skip seperator symbols at the beginning
it_prev = ChTraitsX::CharNext(it_prev);
it = it_prev;
while(it != it_end && space_mask.Find(*it) < 0) // find seperator
it = ChTraitsX::CharNext(it);
if(it != it_prev)
{
CStringX word(it_prev, it - it_prev); // extract the word
str_map::CPair* pPair = words.Lookup(word); // lookup if the word is allready in the mapif(pPair)
++pPair->m_value; // if yes, increase counterelse
words[word] = 1; // if no, reset counter to 1
}
}
std::cout << "======Begin dump=======\r\n";
for(POSITION pos = words.GetStartPosition(); pos; ) // enumerate pairs in the map and dump them to cout
{
str_map::CPair* pPair = words.GetNext(pos);
std::cout << "word \"" << CStringA(pPair->m_key) << "\" accured " << pPair->m_value << "times\r\n";
}
std::cout << "======End dump=======\r\n";
return 0;
}
Здравствуйте, ArtemGorikov, Вы писали:
AG>На какой файл натравили?
На тот же самый на который и два других примера, т.е. на исхоный шарповский.
AG> Че за бред вообще вывело?
Это тебя нужно спросить. Ты бы хоать перед тем как браво посотить этот бред проверил бы что он выдает. Идиально конечно вообще добиться аналогичного результата.
AG> У меня на текстовом файле прекрасно работает. Количество траха такое же, как в Вашем варианте, если отбросить "синтаксический оверхед".
Я не знаю что у тебя работает. Но читать твой код очень не просто. А результат вообще проверить невозможно.
... << RSDN@Home 1.2.0 alpha rev. 606>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, ArtemGorikov, Вы писали:
AG>Скопиковал код из своего же поста в новый проект, собрал — работает. AG>Собирал и с managed extensions и без, все равно работает. Натравил на exe-шник — все равно все работает, вывела кучу "слов" на консоль. Как Вы ее собирали, ума не приложу. Поделитесь опытом
Ну, незнаю. Может это из-за того что я на 2005 студии собираю. Чесно говоря сейчас копаться в отладчике влом. Один хрен выделение слов похоже не врено, так как нужно не разделители использовать, а алгоритм.
... << RSDN@Home 1.2.0 alpha rev. 606>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
------ Build started: Project: ConcordanceAtl, Configuration: Debug Win32 ------
Compiling...
ConcordanceAtl.cpp
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(28) : error C2065: 'memory' : undeclared identifier
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(28) : error C2146: syntax error : missing ';' before identifier 'area'
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(28) : error C2065: 'area' : undeclared identifier
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(29) : error C2059: syntax error : 'if'
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(33) : error C2143: syntax error : missing ';' before '{'
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(34) : error C2228: left of '.cout' must have class/struct/union
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(34) : error C2228: left of '.<<' must have class/struct/union
type is ''unknown-type''
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(38) : error C2146: syntax error : missing ';' before identifier 'space_mask'
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(38) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(38) : error C2377: 'CStringX' : redefinition; typedef cannot be overloaded with any other symbol
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(22) : see declaration of 'CStringX'
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(40) : error C2146: syntax error : missing ';' before identifier 'words'
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(42) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(42) : error C2143: syntax error : missing ',' before '*'
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(42) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(42) : error C2146: syntax error : missing ')' before identifier 'XCHAR'
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(42) : error C2059: syntax error : ')'
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(44) : error C2228: left of '.CharNextW' must have class/struct/union
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(44) : error C2059: syntax error : ')'
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(45) : error C2143: syntax error : missing ';' before '{'
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(46) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(46) : error C2143: syntax error : missing ';' before '*'
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(46) : error C2086: 'const int XCHAR' : redefinition
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(42) : see declaration of 'XCHAR'
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(47) : error C2228: left of '.Find' must have class/struct/union
type is ''unknown-type''
c:\myprojects\tests\concordanceatl\concordanceatl\concordanceatl.cpp(47) : fatal error C1903: unable to recover from previous error(s); stopping compilation
Build log was saved at "file://c:\MyProjects\Tests\ConcordanceAtl\ConcordanceAtl\Debug\BuildLog.htm"
ConcordanceAtl - 24 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
ЗЫ
Ты бы создал просто Win32 Console-ый проект и задал бы в нем поддржку ATL. Тогдв жить стало бы проще. А то что-то мучаешся вручную и я вместе с тобой. Да и пример все же лучше повторять без халтуры. А то видимость меньшего объема она и есть видимость. Так, солова у тебя выделяются халтруно и сотрировку результата ты не делашь. А все это добавит объема и при твоем методе кодирования ухудшит читаемость. Собственно код уже читается очень плохо в сравнении с эталонным. В общем то об этом я и вел речь. Думаю когда ты добъешь свой год и сделашь его полностью аналогичным и работоспособным, то трах и неудобство ты сможешь оценить сам. О них я и говорил.
... << RSDN@Home 1.2.0 alpha rev. 606>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, ArtemGorikov, Вы писали:
VD>ЗЫ
VD>Ты бы создал просто Win32 Console-ый проект и задал бы в нем поддржку ATL. Тогдв жить стало бы проще. А то что-то мучаешся вручную и я вместе с тобой.
Я так и сделал
VD>Да и пример все же лучше повторять без халтуры. А то видимость меньшего объема она и есть видимость. Так, солова у тебя VD>выделяются халтруно и сотрировку результата ты не делашь.
А как ты узнал, что выделяются халтурно? Ты же не смог его собрать. Вот ты требуешь сортировки, при этом против дерева в std::map. Ты бы определился уже, потому что использование дерева как раз даст отсортированный результат, а такого требования первоначально не было.
VD> А все это добавит объема и при твоем методе кодирования ухудшит читаемость. Собственно код уже читается очень плохо в сравнении с эталонным.
Ах ну да, твой код у нас теперь эталон. А я и не знал.
VD> В общем то об этом я и вел речь. Думаю когда ты добъешь свой год и сделашь его полностью аналогичным и работоспособным, то трах и неудобство ты сможешь оценить сам. О них я и говорил.
Мой код полностью работоспособен, я его протестировал в анси и юникод — сборке на студии 2003. То, что ты пользуешься бетой 2005 — не мои проблемы, хотя тут, скорее всего, проблема драйвера клавиатуры. Я код и не задумывал как аналогичный, он лучше. То, что у кого-то руки не от того места растут — иначе как объяснить то, что он не догадался исправить переносы, добавленные в код его чудесным ПО на сервере, написанном на самом лучшем в мире языке — C# .
PS Предлагаю закончить эту дискуссию. Я для себя сделал определенные выводы, больше спорить с тобой не буду. То, что ты не в состоянии (или придуряешься) собрать 1 cpp и обвиняешь в этом меня, не делает тебе чести .
Здравствуйте, ArtemGorikov, Вы писали:
VD>>Ты бы создал просто Win32 Console-ый проект и задал бы в нем поддржку ATL. Тогдв жить стало бы проще. А то что-то мучаешся вручную и я вместе с тобой.
AG>Я так и сделал
Тогда где строчка:
#include"stdafx.h"
AG>А как ты узнал, что выделяются халтурно?
Код прочел. Ты меня за совсем уж полного болвана не считай.
AG> Ты же не смог его собрать.
Да собрать то я его в конце концов смог. Только на коносли каша. А что там нужно где подкручивать я не помню и желания разбираться нет, так как у меня есть средство разработки вообще не имеющее подобных проблем.
AG> Вот ты требуешь сортировки, при этом против дерева в std::map.
Я не против дерева "вообще". В данном случае оно конечно позволяет уменьшить код на две строки. Но эффективность будет ведь ниже.
Ну, и главное, пример ведь не аналогичен. Хотя бы взял для приличия тогда каой-нить CRBMap.
AG> Ты бы определился уже, потому что использование дерева как раз даст отсортированный результат, а такого требования первоначально не было.
Что значит не было? Ты оригинальный код читал? Там что сортировка от болды влеплена?
VD>> А все это добавит объема и при твоем методе кодирования ухудшит читаемость. Собственно код уже читается очень плохо в сравнении с эталонным.
AG>Ах ну да, твой код у нас теперь эталон.
Естественно. Он был создан первым. Ты значение слова эталон хорошо понимашь?
БСЭ:
Эталон (франц. etalon), образец, мерило, идеальный или установленный тип чего-либо; точно рассчитанная мера чего-либо, принятая в качестве образца.
VD>> В общем то об этом я и вел речь. Думаю когда ты добъешь свой код и сделашь его полностью аналогичным и работоспособным, то трах и неудобство ты сможешь оценить сам. О них я и говорил.
AG>Мой код полностью работоспособен,
Я бы сказал, что он просто некондиционен. Он и не аналогичен, и выдает абракодабру.
AG> я его протестировал в анси и юникод — сборке на студии 2003.
И что он выдает результаты аналогичные исходному примеру?
AG> То, что ты пользуешься бетой 2005 — не мои проблемы,
Твои, твои. Код должен давать один результат не зависимо от компилятора. Да и не только в абракодабре дело.
AG> хотя тут, скорее всего, проблема драйвера клавиатуры.
Чего?
AG> Я код и не задумывал как аналогичный, он лучше.
AG> То, что у кого-то руки не от того места растут — иначе как объяснить то, что он не догадался исправить переносы, добавленные в код его чудесным ПО на сервере, написанном на самом лучшем в мире языке — C# .
Про руки чья бы корова мычала.
AG>PS Предлагаю закончить эту дискуссию.
Да, пожалй. На конструктив ты не настроен.
AG> Я для себя сделал определенные выводы, больше спорить с тобой не буду. То, что ты не в состоянии (или придуряешься) собрать 1 cpp и обвиняешь в этом меня, не делает тебе чести .
Это из серии "- Нет, дотктор. Это у вас картиночки такие.".
Ты не смог даже воспроизвести примитивный пример, а потнов целая гора. То же что твои примеры не компилируются или выдают абракодабру виноват исключительно ты. И не нужно заставлять других пыжится и исправлять твои ошибки. Например, мой код скомпилируется с первого раза. Нужно только заменить им фал дефолтного консольного проекта.
... << RSDN@Home 1.2.0 alpha rev. 606>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
using System;
using System.Collections.Generic;
using System.IO;
static class Program
{
static void Main(string[] args)
{
SortedDictionary<string,int> concordance = new SortedDictionary<string,int>();
foreach (string word in File.ReadAll(args[0]).Split(" \n\r\t!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~".ToCharArray()))
if (concordance.ContainsKey(word))
concordance[word] += 1;
else
concordance.Add(word, 1);
foreach (string key in concordance.Keys)
Console.WriteLine("Слово {0,20} встретилось {1,3} раз[а].", key, concordance[key]);
}
}
Вот только разделители будут учитываться все равно не все.
Здравствуйте, VladD2, Вы писали:
VD>От части. Но не только. Все же слишком много "шума" у СТЛ-овских итераторов. И два конца совершенно не нужных для простого перебора. И определение внутри типа контейнера.
Просто они более низкоуровневые. Соответственно возможностей больше, за счет этого "шума".
От этих двух подробностей (два конца, тип контейнера) можно избавиться, написав обертку поверх stl-итераторов.
Вот, набросал тут
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, ArtemGorikov, Вы писали:
VD>>>Ты бы создал просто Win32 Console-ый проект и задал бы в нем поддржку ATL. Тогдв жить стало бы проще. А то что-то мучаешся вручную и я вместе с тобой.
AG>>Я так и сделал
VD>Тогда где строчка: VD>
VD>#include"stdafx.h"
VD>
Могу прислать проект, тока позже — он дома. Там есть и stdafx.h в т.ч.
AG>>А как ты узнал, что выделяются халтурно?
VD>Код прочел. Ты меня за совсем уж полного болвана не считай.
Т.е. скомпилил и отладил в голове? Ну ты прям супер-компьютер А числа большие складывать в уме можешь быстро? Если серьезно, то я в этом сильно сомневаюсь, после того, как тебя поставило в замешательство отсутствие #include "stdafx.h" в начале исходника.
AG>> Ты же не смог его собрать.
VD>Да собрать то я его в конце концов смог. Только на коносли каша. А что там нужно где подкручивать я не помню и желания разбираться нет, так как у меня есть средство разработки вообще не имеющее подобных проблем.
Каша была в первом варианте, которую ты с радостью привел. Я нашел ошибку — ты собрал проект в unicode, и на std::cout << some_unicode_text выводилась не строка, а ее адрес в памяти или еще чего-то. Вообще-то визард консольного проекта по умолчанию настройку ставит на ansi, поэтому я не догадался специально включить unicode и проверить. А вот ты ее включил сам — наверно для того, чтобы сказать "ага! я нашел баг!" — это из той же оперы, когда с ты двух компов завалил базу оутлука и сказал, что он г####.
VD>Что значит не было? Ты оригинальный код читал? Там что сортировка от болды влеплена?
VD>>> А все это добавит объема и при твоем методе кодирования ухудшит читаемость. Собственно код уже читается очень плохо в сравнении с эталонным.
Не знаю зачем влеплена; скорее всего от балды. Надо было подсчитать повторы слов и все.
AG>>Ах ну да, твой код у нас теперь эталон.
VD>Естественно. Он был создан первым. Ты значение слова эталон хорошо понимашь? VD>БСЭ: VD>
Эталон (франц. etalon), образец, мерило, идеальный или установленный тип чего-либо; точно рассчитанная мера чего-либо, принятая в качестве образца.
Ну я это и хотел сказать, что ты свой код назвал "образцовам, идеальным".
VD>>> В общем то об этом я и вел речь. Думаю когда ты добъешь свой код и сделашь его полностью аналогичным и работоспособным, то трах и неудобство ты сможешь оценить сам. О них я и говорил.
Дело привычки.
AG>> То, что ты пользуешься бетой 2005 — не мои проблемы,
VD>Твои, твои. Код должен давать один результат не зависимо от компилятора. Да и не только в абракодабре дело.
Пришлю проект — надеюсь проблем не будет загрузить?
VD>Ты не смог даже воспроизвести примитивный пример, а потнов целая гора. То же что твои примеры не компилируются или выдают абракодабру виноват исключительно ты. И не нужно заставлять других пыжится и исправлять твои ошибки. Например, мой код скомпилируется с первого раза. Нужно только заменить им фал дефолтного консольного проекта.
Да все понятно. Спорить с тобой бессмысленно, твой код просто эталон, а всех кто пытается дискутировать с тобой ты поливаешь грязью. Думаю, настоящий трах — это не писать на С++, а общаться с тобой.
Здравствуйте, ArtemGorikov, Вы писали:
AG>Т.е. скомпилил и отладил в голове? Ну ты прям супер-компьютер А числа большие складывать в уме можешь быстро? Если серьезно, то я в этом сильно сомневаюсь, после того, как тебя поставило в замешательство отсутствие #include "stdafx.h" в начале исходника.
А ты не сомневайся. В тебе же никто не сомневается? Вот и ты уважай других.
Что касается "stdafx.h", то тебе как бы прозрачно намекали, что код нужно постить работоспособный. Чтобы другие не мучались. Пойми, что твой код просто никто не будет смотреть если он не скомпилируется с первого раза.
AG>Каша была в первом варианте, которую ты с радостью привел. Я нашел ошибку — ты собрал проект в unicode,
Так учись писать код так чтобы он не зависил от таких мелочей. Я собрал просто дефолтный проект ничего не переключая.
AG> и на std::cout << some_unicode_text выводилась не строка, а ее адрес в памяти или еще чего-то. Вообще-то визард консольного проекта по умолчанию настройку ставит на ansi,
Не нужно быть таким уверенным в себе. В VS 2005 визард по-умолчанию как раз создает юникодный проект. Что, кстати, логично. Ну, а то что std::cout не может нормально работать с юникодом — это опять же проблема этой библиотеки приводящая в конце коцов к тому самому траху о котором я говорю. Налепленные же тобой макросы _T() усугибили эту проблему.
AG> поэтому я не догадался специально включить unicode и проверить.
Писать нужно так чтобы догадываться не приходилось. Но тут я согласен, что основная вина лежит на реализации STL.
AG> А вот ты ее включил сам — наверно для того, чтобы сказать "ага! я нашел баг!" — это из той же оперы, когда с ты двух компов завалил базу оутлука и сказал, что он г####.
Мне не очень наравится твой тон и отношение. Дай договоримся, что ты все же будешь более уважительно относиться к собеседнику. ОК? По крайней мере все свои предположения на счет честности или подлости собеседника держи при себе. А если что просто переспроси.
VD>>Что значит не было? Ты оригинальный код читал? Там что сортировка от болды влеплена?
VD>>>> А все это добавит объема и при твоем методе кодирования ухудшит читаемость. Собственно код уже читается очень плохо в сравнении с эталонным.
AG>Не знаю зачем влеплена; скорее всего от балды. Надо было подсчитать повторы слов и все.
Что то ты изворачиваешся. Ну, да говорю тебе открытым текстом — сортировка была введена как раз чтобы можно было сравнить результаты теста. Результат твоего кода не только не отсортирован, но еще и отличается по количеству слов (еще бы ведь разбор слов попросту не сделан).
Короче, тесты не идентичены и сравнивать их нельзя. Но уже видно, что код получился очень грязным и плохо читаемым. Уверен, что будучи доведенным до полной аналогичности он будет еще хуже. Так что в качестве демонстрации он подходит уже сейчас.
AG>Ну я это и хотел сказать, что ты свой код назвал "образцовам, идеальным".
"Образец" не равно "образец для подрожания". Задача была создать аналогичный по функциональности код и сравнить время затраченное на его созадание, объем и читабельность получившегося кода.
VD>>>> В общем то об этом я и вел речь. Думаю когда ты добъешь свой код и сделашь его полностью аналогичным и работоспособным, то трах и неудобство ты сможешь оценить сам. О них я и говорил.
AG>Дело привычки.
Привыкнуть можно ко многму. Когда-то люди привыкали писать на ассемблере. Сейчас же, думаю, большинство сойдется во мнении, что это мазахистская привычка.
AG>Пришлю проект — надеюсь проблем не будет загрузить?
Ты лучше код допиши и приводи его в таком виде, чтобы его можно было просто копипэстом в пустой файл дефолтного консольного проекта засовывать.
AG>Да все понятно. Спорить с тобой бессмысленно, твой код просто эталон, а всех кто пытается дискутировать с тобой ты поливаешь грязью. Думаю, настоящий трах — это не писать на С++, а общаться с тобой.
Ну, ты на правильном пути. Воспринимай замечания как оскорбления и никогда не делай, что от тебя требуется. При этом во всем вени окружающих. Тогда всегда будешь прав.
ЗЫ
Грязь на тебя никто не выливал. Тебя просто попросили воспроисзвести тест. Ты же это не сделал и ищишь отмазки. Какова цель? Думаю, это вопрос риторический.
... << RSDN@Home 1.2.0 alpha rev. 606>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, ArtemGorikov, Вы писали:
AG>>Т.е. скомпилил и отладил в голове? Ну ты прям супер-компьютер А числа большие складывать в уме можешь быстро? Если серьезно, то я в этом сильно сомневаюсь, после того, как тебя поставило в замешательство отсутствие #include "stdafx.h" в начале исходника.
VD>А ты не сомневайся. В тебе же никто не сомневается? Вот и ты уважай других. VD>Что касается "stdafx.h", то тебе как бы прозрачно намекали, что код нужно постить работоспособный. Чтобы другие не мучались. Пойми, что твой код просто никто не будет смотреть если он не скомпилируется с первого раза.
AG>>Каша была в первом варианте, которую ты с радостью привел. Я нашел ошибку — ты собрал проект в unicode,
VD>Так учись писать код так чтобы он не зависил от таких мелочей. Я собрал просто дефолтный проект ничего не переключая.
А если используется командная строка, то stdafx.h нафиг не нужен.