Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 2 3 4 [5]   Вниз
  Печать  
Автор Тема: ЭВМ 1 курс.Алгоритмические языки. С++  (Прочитано 132728 раз)
0 Пользователей и 1 Гость смотрят эту тему.
FallenSoul
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #120 : 18-10-2006 16:09 » 

известна конструкция карточки. Она следующая:
"Русская буква = Английская буква"

получена буква
  анализируем букву:
  если мы получили английскую букву, тогда :
    начинаем перебирать карточки сравнивая равна ли данная нам англ.буква той, что написана на карточке справа от знака равно
    перебираем до тех пор, пока буква не будет равна той что на карточке после знака равно
    как только нашли такую карточку
    запоминаем( записываем ) её номер
  если же мы получили русскую букву, тогда:
    начинаем перебирать карточки сравнивая равна ли данная нам русская буква той, что написана на карточке слева от знака равно
    перебираем до тех пор, пока полученная буква не будет равна той что на карточке перед знаком равно
    как только нашли такую карточку -завершение работы
« Последнее редактирование: 19-10-2006 12:38 от FallenSoul » Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #121 : 19-10-2006 07:35 » 

1. Тогда опять возвращаемся к алгоритму "Применить правило". Важно ли для алгоритма, что на карточке непременно русская и английская буквы, а не, например, китайский и древнеегипетский иероглифы? Важно ли для алгоритма, что какая-то буква стоит до или после знака равно?

2. В тобою записанном алгоритме "Найти карточку" есть похожие части? Если есть, то чем они отличаются.

3.
Цитата: FallenSoul
запоминаем( записываем ) её номер
Откуда взялся номер? Где в условиях или в структуре карточки указано, что у карточки есть номер?
« Последнее редактирование: 19-10-2006 07:38 от dimka » Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
FallenSoul
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #122 : 19-10-2006 12:38 » 

1.
а) Не является важным,- лишь бы программа для этого была специально предназначена( настроена )
б) Так же, не является важным- всё зависит от предпочтений программиста, и того -как в программе это обусловленно
2. Не понял =\
3. Ошибся . Исправим.
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #123 : 19-10-2006 15:34 » 

Цитата: FallenSoul
если мы получили английскую букву, тогда :
    начинаем перебирать карточки сравнивая равна ли данная нам англ.буква той, что написана на карточке справа от знака равно
    перебираем до тех пор, пока буква не будет равна той что на карточке после знака равно
    как только нашли такую карточку -завершение работы
  если же мы получили русскую букву, тогда:
    начинаем перебирать карточки сравнивая равна ли данная нам русская буква той, что написана на карточке слева от знака равно
    перебираем до тех пор, пока полученная буква не будет равна той что на карточке перед знаком равно
    как только нашли такую карточку -завершение работы
Есть ли здесь похожие части? Если есть, то чем они сходны и чем отличаются?
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
FallenSoul
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #124 : 19-10-2006 16:04 » 

Сходны тем, что в обоих случаях мы ищим одно и то же- буквы, разница лишь в алфавитах, которым они пренадлежат
так же сходны конструкции поиска карточки
собственно -различия только в местоположении буквы на карточке, и самой букве
В результате обоих поисков- получается так же одинаковый результат-единственная карточка
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #125 : 20-10-2006 10:50 » 

Т.е. признаёшь, что сходные части есть. Так вот, навык абстрагирования как раз и состоит в том, чтобы выделить общее (если это общее приближает нас к решению задачи), отбросив все различия на данном этапе. Нужно сконцентрировать и "упаковать" все различия либо в одно какое-то действие (вспомогательный алгоритм), либо разделить внешний и внутренний смыслы структуры данных (в твоём случае карточки).

Перепеши алгоритм "Найти карточку" таким образом, чтобы в нём тобою найденные общие части не повторялись. Это будет не законченный алгоритм, а только шаблон/каркас/черновик алгоритма. При этом удали из алгоритма все различия - добавишь их потом, когда сумеешь объединить подобные части.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
FallenSoul
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #126 : 23-10-2006 14:37 » 

Дим, спасибо за помощь в написании программы-я многое отсюда подчеркнул но, то что мы расписываем на 5 строк умещается в одну команду. Еще раз спасибо за помощь в освоении алгоритмизации, но мне надо уже несколько другая помощь.

Код готов, в котором через char задаётся слово и переводится через соответствие элементов массива.
Сейчас вопрос, как лучше зделать проверку на предыдущий элемент массива :

shvabra

1. схвабра
2. Проверяем первый элемент массива -если он равен "s" , тогда проверяем массив под номером i+1. Если он равен h ,тогда надо вывести на две буквы как в первом случае "сх" ,а одну "ш" и продолжить перевод слова с 3его символа латиницы.
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #127 : 23-10-2006 20:56 » 

Цитата: FallenSoul
то что мы расписываем на 5 строк умещается в одну команду.
Какую?

Цитата: FallenSoul
Сейчас вопрос, как лучше зделать проверку на предыдущий элемент массива :
Что значит как лучше, когда ты уже написал способ? Поскольку автоматные грамматики не на 1-м курсе изучают, да и задача того не стоит, то обработка подстрок вообще иначе реализуется - через буфер (очередь) символов. Но, опять же, структуры (вроде очереди) и алгоритмы обработки данных - это, обычно, 2-й курс.

Реализуется оно в точности тем же алгоритмом, что и для букв с небольшим изменением в части сравнивнения данных на входе и на карточке знаков, учитывающим, что знак является не буквой, а словом (последовательностью букв от 1-й и более).
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
FallenSoul
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #128 : 24-10-2006 16:29 » 

Код:
#include <iostream.h>
#include <stdio.h>
#include <conio.h>

char engrus[24],ruseng[24],slovo[20];
int kolvo,kolvo2,vibor;
void main()
 {
 engrus[0]='z';
// engrus[1]='yu';
 engrus[2]='c';
 engrus[3]='v';
 engrus[4]='b';
 engrus[5]='n';
 engrus[6]='m';
 engrus[7]='a';
 engrus[8]='s';
 engrus[9]='d';
 engrus[10]='f';
 engrus[11]='g';
 engrus[12]='h';
 engrus[13]='j';
 engrus[14]='k';
 engrus[15]='l';
 engrus[16]='e'; //н
 engrus[17]='r';
 engrus[18]='t';
 engrus[19]='y';
 engrus[20]='u';
 engrus[21]='i';
 engrus[22]='o';
 engrus[23]='p';

 ruseng[0]='§';
// ruseng[1]='о';
 ruseng[2]='ж';
 ruseng[3]='ў';
 ruseng[4]='Ў';
 ruseng[5]='­';
 ruseng[6]='¬';
 ruseng[7]=' ';
 ruseng[8]='б';
 ruseng[9]='¤';
 ruseng[10]='д';
 ruseng[11]='Ј';
 ruseng[12]='е';
 ruseng[13]='©';
 ruseng[14]='Є';
 ruseng[15]='«';
 ruseng[16]='н';
 ruseng[17]='а';
 ruseng[18]='в';
 ruseng[19]='л';
 ruseng[20]='г';
 ruseng[21]='Ё';
 ruseng[22]='®';
 ruseng[23]='Ї';

// sochitrus[0]='Ґ'
// sochitrus[1]='¦'
// sochitrus[2]='ж'
// sochitrus[3]='з'
// sochitrus[4]='и'
// sochitrus[5]='й'
// sochitrus[6]='о'
// sochitrus[7]='п'


 clrscr();
 cout<<'\n'<<"ЏҐаҐў®¤ б«®ў б ®¤­®Ј® п§лЄ  ­  ¤агЈ®©";
 cout<<'\n'<<"1 - ЏҐаҐў®¤ б агббЄ®Ј® п§лЄ  ­   ­Ј«Ё©бЄЁ©";
 cout<<'\n'<<"2 - ЏҐаҐў®¤ б  ­Ј«Ё©бЄ®Ј® п§лЄ  ­  агббЄЁ©"<<'\n';
 cin>>vibor;
 if(vibor==2)
  {
   clrscr();
   cout<<'\n'<<"‚ўҐ¤ЁвҐ б«®ў®: ";
   cin>>slovo;
   for(kolvo=0;kolvo<20;kolvo++)
     {
     for(kolvo2=0;kolvo2<24;kolvo2++)
       {
       if(slovo[kolvo]==engrus[kolvo2])
{
cout<<ruseng[kolvo2];
}
       }
     }
     getch();
  }
 if(vibor==1)
  {
   clrscr();
   cout<<'\n'<<"‚ўҐ¤ЁвҐ б«®ў®: ";
   cin>>slovo;
   for(kolvo=0;kolvo<20;kolvo++)
     {
     for(kolvo2=0;kolvo2<24;kolvo2++)
       {
       if(slovo[kolvo]==ruseng[kolvo2])
{
cout<<engrus[kolvo2];
}
       }
     }
     getch();
  }
}


Здесь рассматривается тот алгоритм который мы писали. Ищем карточку -найденную букву ищем в другом алфавите и переписываем.
« Последнее редактирование: 14-12-2007 16:10 от Алексей1153++ » Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #129 : 24-10-2006 17:47 » 

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

Что же касается подстрок, то лучше использовать буфер той длины, какую имеет самая длинная искомая подстрока. Содержимое буфера в процессе работы будет изменяться. Например, нужно заменить "sh" на "ш". Искомая подстрока имеет длину 2 символа. Входное слово "shvabra", тогда буфер будет последовательно содержать:
"s" - ничего не делаем, т.к. буфер не заполнен и не конец ввода
"sh" - найдено, заменяем на "ш"
"v" - ничего не делаем, т.к. буфер не заполнен и не конец ввода
"va" - не найдено, найдено "v" - заменяем на "в"
"ab" - не найдено, найдено "a" - заменяем на "a"
"br" - не найдено, найдено "b" - заменяем на "б"
"ra" - не найдено, найдено "r" - заменяем на "р"
"a" - найдено, заменяем на "а", т.к. буфер не заполнен и конец ввода

Алгоритм составь сам Улыбаюсь.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
FallenSoul
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #130 : 24-10-2006 21:53 » 

Гениально!
Всё прекрасно понял и осознал тебя. В самую точку моего вопроса!
Однако, как забить это програмно?

Сравнение букв, оно понятно. :\ Но как именно эти две буквы в строке, обозначить как одну переменную чтобы сравнивать её с областью допустимых значений заданных в массиве? Хм ...

Если буква №1 слова ,попадает под допустимые значения сочитания со следующей буквой, тогда ...
Возьми эту букву и запиши её вместе с буквой элемента №+1 и проверь эти две буквы, на принадлежность элементу массива с сочитаниями. Алгоритмически, я себе представил- здесь уже передо мной встаёт вопрос практических знаний. Сравнение будет идти в операторе ветвления if с условием, которое будет задано оператором присваивания. Если равно, тогда -тело функции. Но как обозначить два элемента совместно?!

Код:
if(element[i]+element[i+1]=engsochit[x]) cout<<russochit[x];

где
element - заданные в массиве английские буквы
i - кол-во заданных английских букв
russochit - заданные в массиве русские "сложные" буквы, кот. являются результатом сочитания английских(ж,ш,ц)
engsochit - заданные в массиве англ. сочитания, соотв. русским "сложным" буквам( zh , sh , shch )
x - кол-во заданных сочитаний
?
« Последнее редактирование: 24-10-2006 21:58 от FallenSoul » Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #131 : 25-10-2006 19:58 » 

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

P.S. Функции сравнения строк strcmp и strncmp, заголовочный файл string.h
« Последнее редактирование: 25-10-2006 20:01 от dimka » Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
FallenSoul
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #132 : 27-10-2006 14:02 » 

Почему не понимание?! Я представляю себе алгоритм действий,- но он упирается в синтаксис.
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #133 : 27-10-2006 16:31 » 

Цитата: FallenSoul
Я представляю себе алгоритм действий,- но он упирается в синтаксис.
Это свидетельствует о том, что тобою составленный алгоритм использует такие понятия, которые не очевидно и не непосредственно реализуются в известных тебе синтаксических конструкциях языка программирования.

Да, можно воспользоваться написанными кем-то указанными функциями, но в учебных целях лучше реализовать операции самостоятельно.

Например, мне понятно, что ты хочешь сделать:
Код: (C++)
if (element[i] + element[i + 1] = engsochit[x])
    cout << russochit[x];
(Знак "=" - это присваивание, сравнение будет "==".)
Это, в терминах абстрактной задачи, узкоспециализированный вариант внутренней части поиска карточки и применение правила. Но мне не совсем понятен твой подход к реализации задуманного. Что именно в терминах языка программирования, а не задачи (!), ты делаешь? Каков внутренний смысл этого выражения?

Конструкции языка программирования столь абстрактны, что ими можно воспользоваться для решения различных задач. (Вспомни, что про алгоритм говорилось.) Вот ты решил применить их для записи своего алгоритма. Т.е., опять, ты смотришь на внешний смысл конструкции и не хочешь увидеть внутренний смысл конструкции - операции над элементами массива. Потому не получается. Попытайся описать на русском языке, используя программистские термины, что ты делаешь.

Я мог бы дать решение всей твоей задачи, но не хочу этого делать без конкретных вопросов, заданных на должном абстрактном уровне. Т.е. мой пример должен восприниматься как пример программирования вообще, а не решения твоей конкретной задачи. Пока у меня ощущение, что в общем виде ты не готов воспринимать примеры. Не совсем понятна твоя мотивация: с одной стороны, если бы тебе нужно было просто сдать лабу, ты бы уже давно нашёл решение, или кто-нибудь бы его написал на каком-либо форуме - раз ты этого не делаешь, значит тебя интересует программирование; с другой стороны ты так нацелен на решение конкретной задачи, что "за деревьями леса не видишь" - в решении этой конкретной задачи не видно общих приёмов программирования, годных для решения любых задач, не видно результата обучения. Задача учебная, и решается не для того, чтобы её решить, а чтобы на примере решения обучиться программированию. Вот том и основная проблема - нужно суметь временно отложить цель (что решать) и сосредоточиться на процессе (как решать). Понять суть абстрагирования.

Т.е. в начале ты определил, что задача решается неким способом, с помощью некоторого инструмента (инструмент в виде языка программирования дал тебе, допустим, преподаватель). Ты не знаешь в деталях реализации этого способа, ты не умеешь пользоваться инструментом, ты знаешь только то, что задача этим способом решается. И вот это знание, что данный инструмент пригоден для решения задачи (инструмент имеет внешний смысл), позволяет отключиться от собственно задачи, сосредоточив внимание на освоении собственно инструмента (изучить внутренний смысл). Только изучив инструмент, ты сможешь применить его наилучшим способом. Не всякий инструмент создан для решения твоей конкретной задачи. Например, такой инструмент, как язык программирования, создан для решения множества задач. Не бойся сосредоточить внимание на нём, забыв на время о задаче. Лишь зная в деталях и инструмент, и задачу, ты сможешь их соединить.

С прагматической точки зрения программист всегда устанавливает связи между внешним и внутренним смыслом тех или иных элементов программы и элементов решаемой при помощи программирования задачи. Например, язык программирования предоставляет внутреннее с точки зрения языка понятие "целочисленная переменная, обозначаемая идентификатором i". Внутренний смысл такой переменной - возможность хранить какие-то целые числа. Какой внешний смысл имеют эти числа, какую роль играют в задаче - не важно для языка программирования. Ты, к примеру, начинаешь считать, что "i" - "счётчик итераций цикла". Этот смысл переменной определён программистом, "приложен" к переменной, определяет смысл конкретной этой переменной в конкретной программе, но он не является значимым для языка программирования. Когда создавался язык, никто не знал, что ты будешь при помощи этого языка решать свою задачу, и что ты назначишь целочисленной переменной имя "i" и смысл "счётчик итераций цикла". И компьютер об этом не "знает". Компьютер вообще ничего не "знает" о том, как и для чего им пользуются - он не может "знать" в принципе, это лишь машина. Т.е. ты устанавливаешь в своём сознании ассоциацию: "целочисленная переменная i" - это "счётчик цикла". Первое ("целочисленная переменная") - это такая "вещь в себе", это понятие языка программирования. Второе ("счётчик цикла") - это лишь твоё отношение к этой переменной, только то, что ты о ней думаешь. Первое реально существует вне зависимости от второго. Второе существует только в сознании, и существует постольку, поскольку существует первое. Ты можешь действовать в обратном направлении: подумать, что тебе нужен "счётчик итераций цикла", затем вспомнить, что есть в языке понятие "целочисленная переменная", которое можно применить в качестве счётчика. Но и в этом случае "целочисленная переменная" как понятие существует до того и вне зависимости от того, что тебе нужен "счётчик итераций цикла". Аналогично со структурами. Есть "вещь в себе", скажем, "массив символов". Ты начинаешь думать, что вот этим массивом символов ты воспользуешься в качестве "набора левых частей карточек-правил" или ещё каким-то образом. Но этот внешний смысл массива не подменяет внутреннего смысла массива. Как бы ты к нему не относился, он остаётся "массивом символов". Аналогично с алгоритмами. Есть "вещь в себе", например, "алгоритм поиска карточек". Он ищет карточки. Не важно, как эти карточки устроены, не важно, как ты этими карточками пользуешься, даже не важно, какими синтаксическими конструкциями ты реализовал этот алгоритм в программе, на каком языке программирования - к алгоритму это отношения не имеет. И вот ты решил воспользоваться этим алгоритмом в своей задаче, ты определил, что карточки содержат правила перевода, ты определил, что нужно сравнить особым образом карточку с буквой - это всё приспосабливает алгоритм к решению твоей задачи, но не подменяет внутренний смысл алгоритма. Что бы ты ни думал о конкретном применении этого алгоритма, он всё равно остаётся "алгоритмом поиска карточки" и ничем другим не становится.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
FallenSoul
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #134 : 15-11-2006 10:40 » 

Ок.

А можно вопрос такого плана? (3я лаб.работа)


Собственно вопрос в следущем.
Есть код лаб. работы, которая берёт из файла данные и заносит их в таблицу в другой файл:

Что берём:

Код:
Код: 
                        ИСХОДНЫЕ   ДАННЫЕ
╔╤╤╤╤╤╗
║ ДАННЫЕ 1 │ ДАННЫЕ 2 │ ДАННЫЕ 3 │ ДАННЫЕ 4 │ ДАННЫЕ 5 │ ДАННЫЕ 6 ║
╠╪╪╪╪╪╣
╟──────────┼──────────┼──────────┼──────────┼──────────┼──────────╢
╚╧╧╧╧╧╝
1.34        33.5        312        44        -1.0E-3        46 
56.89        4.32        7.e-2        67        450        14.85
67        4        -3.879        3.2        -436        67
0.2        6.4        -44        1.23        0.55        1.2E-3
1.578        0.25        4.5        0.45        -5.44        2.36
Что получается:
Код:
Код: 

                        ИСХОДНЫЕ   ДАННЫЕ
╔╤╤╤╤╤╗
║ ДАННЫЕ 1 │ ДАННЫЕ 2 │ ДАННЫЕ 3 │ ДАННЫЕ 4 │ ДАННЫЕ 5 │ ДАННЫЕ 6 ║
╠╪╪╪╪╪╣
1.34      33.5      3.12e+02  44        -0.001    46       
╟──────────┼──────────┼──────────┼──────────┼──────────┼──────────╢
56.89     4.32      7e-02     67        450       14.85     
╟──────────┼──────────┼──────────┼──────────┼──────────┼──────────╢
67        4         -3.879e+003.2       -436      67       
╟──────────┼──────────┼──────────┼──────────┼──────────┼──────────╢
0.2       6.4       -4.4e+01  1.23      0.55      0.0012   
╟──────────┼──────────┼──────────┼──────────┼──────────┼──────────╢
1.578     0.25      4.5e+00   0.45      -5.44     2.36     
╚╧╧╧╧╧╝


Собственно код программы выводит шапку таблицы, затем содержимое через символы с кодом │ и в конце каждой строки с данными массива по идее ставит ║.

Проблема вот в чём:
Не выводит в файле эти 2а символа.В начале строки должен быть символ-он игнорируется пустым местом,между элементами и в конце также. Ни 10,ни 8, ни 16 ричный код этих символов С++ выводить не хочет, однако совсем остальным проблем нет, и забитую по стандарту шапку имеющую такие символы выводит без проблем.

В чём мб проблема? Кодировка тхт файла может влиять или еще что?
Записан
FallenSoul
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #135 : 15-11-2006 10:42 » 

Сколько не пытался разными способами вывести эти символы-не выводит. Вместо символов подставил букву "а"-и она появилась.
А вот сам код программы:
 

Код:
#include<fstream.h> 
#include<stdlib.h>
#include<conio.h>
#include<iomanip.h>

const int m=5, n=6;
ifstream fin;
ofstream fout;
char c[6][202];

void main()
 {clrscr();
  fin.open("gg.txt"); # Откуда берём информацию
  if(!fin) {cout<<"Error when file was opening for reading"; exit(1);}

  fout.open("gg.res"); # Куда записываем
  if(!fout) {cout<<"Error when file was open for record";exit(1);}

 float a[m][n];
 int i,j;

 void vvod(float a[m][n]);
 void p(float a[m][n]);
 vvod(a);
 p(a);
 fout.close();
}


void vvod(float a[m][n])
{
  int i,j;
   for(i=0;i<6;i++)
    {

     fin.getline(c[i],203);
     if(i<4)
      fout<<c[i]<<endl;
    }
     for(i=0;i<m;i++)
     for(j=0;j<n;j++)
     fin>>*(*(a+i)+j);
     fin.close();
}

  void p(float a[m][n])
  {
   int i,j;
   for(i=0;i<m;i++)
   {
    fout<<'\xBA'; # ¦ -не выводит
    for(j=0;j<n;j++)
    switch(j)
     { case 0: case 1: case 3: case 4:
      fout.width(10);
      fout.setf(ios::left|ios::fixed);
      fout.precision(5);
      fout<<a[i][j]<<'\xB3'; # | -не выводит
      break;
      case 2:
      fout.width(10);
      fout.setf(ios::scientific);
      fout.precision(4);
      fout<<a[i][j];fout<<'\xB3'; # | -не выводит
      break;
      case 5:
      fout.width(10);
      fout.precision(4);
      fout<<a[i][j]<<"\xB3\n"; # | -не выводит
      break;
    }
   if(i==m-1)
    fout<<c[5]<<endl;
   else
    fout<<c[4]<<endl;
  }
 }
« Последнее редактирование: 14-12-2007 16:14 от Алексей1153++ » Записан
FallenSoul
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #136 : 18-11-2006 13:36 » 

Всё еще ищу ответ на такой вопрос. Никто не может помочь?
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #137 : 18-11-2006 14:20 » 

А вместо '\xB3' - '|' не пробовал?

Кстати, откуда инфа про В3, почему не 7С?
« Последнее редактирование: 14-12-2007 16:18 от Алексей1153++ » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #138 : 18-11-2006 15:13 » 

Цитата: Джон
Кстати, откуда инфа про В3, почему не 7С?
В кодировке CP 866 будет 0xB3.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
FallenSoul
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #139 : 18-11-2006 20:39 » 

'|' -не получается.
Однако вопрос в следующем ... Если открывать файл, в который записывается результат через среду Борланд СПП 3.1 , то таблица идеальная. Через текстовый редактор же половина границ не выводятся =\
« Последнее редактирование: 14-12-2007 16:23 от Алексей1153++ » Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #140 : 19-11-2006 06:08 » 

FallenSoul, через текстовый редактор - это как?

Ты сбрасываеш в текстовый файл сформированную таблицу, и затем пытаешься смотреть в текстовом редакторе Винды? Если так, то у тебя ничего не получится просмотреть. Так как в в кодировке 1251 символы формирования тестовой таблици не предусмотрены. Нужно брать редактор, который позволяет переключать кодировку открываемого файла. И в нем настраивать на 866
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #141 : 19-11-2006 08:42 » new

Цитата: Finch
Нужно брать редактор, который позволяет переключать кодировку открываемого файла. И в нем настраивать на 866
Есть более простой способ: стандартный в Windows/MS-DOS редактор edit.com. Затем в Блокноте (notepad.exe) можно выбрать появившийся уже довольно давно (не помню в какой версии) шрифт Terminal, содержащий только одну кодировку OEM/DOS.
« Последнее редактирование: 19-11-2006 08:45 от dimka » Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Страниц: 1 2 3 4 [5]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines