Вопросы по программированию

Автор Богдан, 03 Листопад 2007, 11:41:18

Попередня тема - Наступна тема

..vovan..

Помогите с программой Turbo Pascal 7.1. С чего надо начинать и как запускать действие ???

Garfield

#701
Цитата: ..vovan.. від 01 Жовтень 2009, 09:53:30
Помогите с программой Turbo Pascal 7.1. С чего надо начинать и как запускать действие ???
что ты имеешь ввиду? как запустить программу? или ты вообще с паскалем не знаком?

Компиляция - Alt + F9
Запуск - Ctrl + F9

Phantom of the Opera

"Мыслящий ум - тот, который постоянно учится, никогда не делая заключений; стили и шаблоны уже приведены к заключениям, и, таким образом, они не могут способствовать мышлению." Брюс Лі

Dmytro

Почему считается, что Линукс для программиста лучше Винды? Ведь те прогпродукты есть и Винде.
Сегодня звезды встали таким образом, что ты можешь гонять интересы. Однако, есть риск что на бесптичье и твоя жопа - соловей.

FalseMan

Как минимум, отсутствие проблем с путями и поиском библиотек(sic!). Та структура, что так ругают виндоюзеры(что программа раскидана по всей ФС) очень даже себя оправдывает. А также - полная кастомизация и более прямая ее реализация. Ну и настраивать для совместной работы легче именно тут. Кстати, на хабре промелькнула тут статейка - http://habrahabr.ru/blogs/webdev/71743/ . А вообще, я и 10%, наверное, не сказал по этой теме :)

немой

vector <string> *lines=new vector <string>;
string textline;
while (getline(infile, textline,'\n')) {
lines->push_back(textline);
.... }

как в данном случае проще всего вывести содержимое вектора на экран, скажем?

βεερ_βooρ

Цитата: FalseMan від 11 Жовтень 2009, 22:43:56А вообще, я и 10%, наверное, не сказал по этой теме
Можно сказать намного короче(хотя и непонятней) - Линукс(впрочем как и все Юникс-подобные) - инструментальная ОС.
Цитата: немой від 12 Жовтень 2009, 09:27:31
vector <string> *lines=new vector <string>;
string textline;
while (getline(infile, textline,'\n')) {
lines->push_back(textline);
.... }

как в данном случае проще всего вывести содержимое вектора на экран, скажем?
А разве класс  vector не перегружает оператор << ?
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

немой

Цитата: βεερ_βooρ від 12 Жовтень 2009, 16:09:00А разве класс  vector не перегружает оператор << ?
так? cout<<lines[0]; не
Цитатаerror C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::vector<_Ty>' (or there is no acceptable conversion)

и так: cout<<*lines[0]; тоже не:
Цитатаerror C2100: illegal indirection
error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::vector<_Ty>' (or there is no acceptable conversion)

пока я сделал так:

for (vector<string>::iterator i=lines->begin(); i!=lines->end(); i++)
{
cout<<*i<<endl;
}

Balldir

Не мог бы кто то подсказать как реализовать бинарный поиск в с++ для списка с двойными связями?
Интересует примерный код .
Fortuna comprobat hominies consilium .
Quilibet fortunae suae faber.

2kin

Люди! Помогите, а то мозг медленно плавится....

Пишу программку под WM5 используя, естественно, CF3.5

И тут такая вот проблема:

Цитатаcannot convert from 'System.Net.IPEndPoint [...\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\System.dll]' to 'System.Net.IPEndPoint []'

хотя МСДН говорит, что

ЦитатаIPEndPoint

Version Information
.NET Framework
Supported in: 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

.NET Compact Framework
Supported in: 3.5, 2.0, 1.0

т.е. есть совместимость и с компактным фреймворком и обычным.

А вот преобразовать не может :'(





greg.re1234

Доброго всем времени суток!
Просьба объяснить на пальцах и прочих подручных предметах разницу между "скобочными" ЯП и "не-скобочными".
И если кто кинет ссылку на какой-нибудь свободный труд именно по теории программирования, буду очень благодарен.

βεερ_βooρ

Цитата: greg.re1234 від 11 Листопад 2009, 20:08:10
Просьба объяснить на пальцах и прочих подручных предметах разницу между "скобочными" ЯП и "не-скобочными".
Уточни свой вопрос, приведи примеры "скобочного" и "не-скобочного" ЯП
Цитата: greg.re1234 від 11 Листопад 2009, 20:08:10
И если кто кинет ссылку на какой-нибудь свободный труд именно по теории программирования, буду очень благодарен.
Теоретическая информатика это не узкая специализированная наука, скажи конкретнее что тебе надо.
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

greg.re1234

#712
Цитата: βεερ_βooρ від 11 Листопад 2009, 23:51:22
Уточни свой вопрос, приведи примеры "скобочного" и "не-скобочного" ЯП
C++ и Python
Цитата: βεερ_βooρ від 11 Листопад 2009, 23:51:22
Теоретическая информатика это не узкая специализированная наука, скажи конкретнее что тебе надо.
Надо для тех кто в танке) Нет, а серьезно надо какая-то база. Я даже не математик, но программирование мне интересно.
С учетом того что я могу многого не понять из того что можешь ты например, посоветуй что-нибудь просто написанное.

βεερ_βooρ

#713
Цитата: greg.re1234 від 12 Листопад 2009, 10:39:49
C++ и Python
Судя по всему имелись ввиду операторные скобки.
http://ru.wikipedia.org/wiki/Операторные_скобки
Цитата: greg.re1234 від 12 Листопад 2009, 10:39:49
Надо для тех кто в танке) Нет, а серьезно надо какая-то база. Я даже не математик, но программирование мне интересно.
С учетом того что я могу многого не понять из того что можешь ты например, посоветуй что-нибудь просто написанное.
Для начала надо научится четко формулировать свои мысли и их излагать.Ясность мышления всегда приветствуется, а собеседнику не нужно будет гадать что от него хотят. И для этого и нужна математика.
Тут уместно процитировать двух умных людей:
"Математика - это язык!" — Джозайя Уиллард Гиббс
«Человек, не способный к математике, не является разумным. Этого недочеловека в лучшем случае можно терпеть, раз он научился носить ботинки, мыться и не сорить в доме.» — Р.Э.Хайнлайн

Поэтому рекомендую начать изучение с самых основ. Абсолютный минимум - Конкретная математика Кнута
Так же крайне желательно знание логики, хотя бы в рамках стандартного университетского курса: логика высказываний, исчисление предикатов, теоремы Геделя, подход Эрбрана, Автоматическое Доказательство Теорем(АДТ), метод резолюций, клаузы Хорна и т.д.  Пособий по этому делу много, например:
Миронов А.М. Учебное пособие по курсу "Математическая логика"

Более углубленный экспериментальный курс:

При наличии минимальной математической базы:
Кнут Искусство программирования Must have.


Собственно по основаниям программирования(Big fat warning - Эти книги не для новичка и не скажу что они просто написаны. No pain - no gain):
Н. Н. Непейвода, И. Н. Скопин Основания программирования.
Лавров С.С. Программирование. Математические основы, средства, теория.

Ну и если что не ясно - спрашивайте.
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

Edd.Dragon


afi

тоже хотед Intuit посоветовать, но меня уже опередили :)

afi

кто сталкивался с алгоритмом А* для поиска кратчайшего пути? можете дать советы по его реализации?

немой

Цитата: afi від 14 Листопад 2009, 14:24:03
кто сталкивался с алгоритмом А* для поиска кратчайшего пути? можете дать советы по его реализации?
http://www.policyalmanac.org/games/aStarTutorial_rus.htm


greg.re1234

Вопрос первый-глупый.
Пишу на питоне.
print "Hello world!"
В консоли все ок.
Сохранил как script.py, двойной щелчек-ничего. Как понять? И что должно собственно быть?
Я хочу получить окно с надписью "хелло ворлд".

FalseMan

Цитата: greg.re1234 від 21 Листопад 2009, 16:05:18Сохранил как script.py, двойной щелчек-ничего. Как понять? И что должно собственно быть?
Я хочу получить окно с надписью "хелло ворлд".
Запускать надо из консоли. За окошками - это уже к tkinter, pyqt, pygtk, wxpython. ;)

greg.re1234

Спасибо! Закрадывались такие сомнения, подтвердилось)

Garfi

В универе задали программку, анимацию типа "грузовик едет"... К BC++ 3.1 подключил BGI. Нарисовал "грузовик", с помощью getimage(); и putimage(); его "перемещаю". После компиляции "грузовик" некоторое время "стоит" (секунд 40), а потом "едет". Это так и должно быть или я где-то налажал?

(Под спойлером исходник, если что...)

Вибачте, але ви не маєте права на перегляд спойлерів.

Edd.Dragon

что-то я не понял

Цитата: Garfi від 28 Листопад 2009, 14:41:40void main()
{     
   int driver=DETECT,mode,size,i;

т.е. size = 0.

Цитата: Garfi від 28 Листопад 2009, 14:41:40buf=malloc(size);
Т.е. выделили 0 байт памяти? Зачем? Потом туда ложим кусок экрана? В этом нет никаких опасностей? Если getImage сам выделяет память по выданному ему указателю, тогда строка buf=malloc(size) просто не нужна.

А стоит 40 сек, может так долго getImage отрабатывает? Ты бы отдебажил, т.е. запустил в режиме пошагового ручного выполнения. Тогда бы и увидел какая именно строка выполняется 40 сек.


greg.re1234

#724
Пардон что не совсем программирование...



<html>
<head>
<script type="text/javascript">
function mouseOver()
{
document.getElementById("a").src ="square11.jpg"
}
function mouseOut()
{
document.getElementById("a").src ="square1.jpg"
}
</script>
<title>main_page</title>
</head>
<body>
<table cellspacing=50 cellpadding=20>
<tr>
  <td><img src="square1.jpg" id="a" onmouseover="mouseOver()"; onmouseout="mouseOut()"><td>
  <td>2</td>
  <td>3</td>
</tr>
<tr>
  <td>4</td>
  <td>5</td>
  <td><img src="square2.jpg" id="a" onmouseover="mouseOver()"; onmouseout="mouseOut()"></td>
</tr>
<tr>
  <td>7</td>
  <td><img src="square3.jpg" id="a" onmouseover="mouseOver()"; onmouseout="mouseOut()"></td>
  <td>9</td>
</tr>
</table>

</body>
</html>


Надо чтобы по маусовер 3 элемента(один и тот же джипег) менялись на другой(square11.jpg).
Но. По маусовер по любому из 3х элементов анимируется только один и тот же. То есть не важно над каким провел-анимация только в одном.
Подскажите что делать)
С уважением.

В догонку.

import pygtk
pygtk.require('2.0')
import gtk
class Base:
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.show()
def main(self):
gtk.main()
print __name__
if __name__ == "__main__":
base = Base()
base.main()


Это пример из мануала по pygtk. На даблклик по прежнему реагирует досовским окошком.
Как заставить отрисовать окно? Просто пустое окно.

βεερ_βooρ

Убедительная просьба на будущие - используйте при оформлении тег code. Не надо пихать исходники под спойлер, пихайте под тег code, так будет всем удобнее.
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

Edd.Dragon

Цитата: greg.re1234 від 30 Листопад 2009, 21:10:15По маусовер по любому из 3х элементов анимируется только один и тот же. То есть не важно над каким провел-анимация только в одном.
В DOMе не может быть несколько элементов с одинаковым id. Одинаковый id у нескольких элементов - это ошибка. Так что не удивительно, что срабатывает только один.

Вариантов как сделать - масса. Смотря как удобнее.

<table cellspacing=50 cellpadding=20 id="someTable"><tr>
   <td><img src="square1.jpg" id="a1" onmouseover="mouseOver()"; onmouseout="mouseOut()"><td>
</tr><tr>
   <td><img src="square2.jpg" id="a2" onmouseover="mouseOver()"; onmouseout="mouseOut()"></td>
</tr><tr>
   <td><img src="square3.jpg" id="a3" onmouseover="mouseOver()"; onmouseout="mouseOut()"></td>
</tr></table>


<script type="text/javascript">
function mouseOver()
{
   document.getElementById("a1").src ="square11.jpg";
   document.getElementById("a2").src ="square11.jpg";
   document.getElementById("a3").src ="square11.jpg";
}
</script>


<script type="text/javascript">
var idList = ['a1', 'a2', 'a3'];
function mouseOver()
{
   for(var i = 0; i < idList.length; i++) document.getElementById(idList[i]).src = 'square11.jpg';
}
</script>


<script type="text/javascript">
function mouseOver()
{
   imgList = document.getElementById('someTable').getElementsByTagName('img');
   for(var i = 0; i < imgList.length; i++) imgList[i].src = 'square11.jpg';
}
</script>


FalseMan

Цитата: greg.re1234 від 30 Листопад 2009, 21:10:15Это пример из мануала по pygtk. На даблклик по прежнему реагирует досовским окошком.
Как заставить отрисовать окно? Просто пустое окно.
А лог ошибок в консоли читал? Gtk и pygtk в системе стоят?

greg.re1234

Спасибо, с яваскриптом понял, код в спойлерах постить больше не буду.
Все стоит. Вывод лога не вижу-он сразу пропадает поле даблклика.
Запустить из IDLE тоже не могу. Я в мануалах читал что либо *имяфайла*.ру либо python *имяфайла*.ру должны запустить соответствующий файл. Неа. Синтакс еррор.

FalseMan

Цитата: greg.re1234 від 01 Грудень 2009, 13:57:08Неа. Синтакс еррор.
_какой_ еррор? Кинь трейслог.
И да, у тебя отступы поломались когда ты копипастил сюда или их и не было?

Andrii

Вітаю всіх!!
Як зробити на css дві <div> таблиці не фіксованої ширини поряд, тобто щоб вийшло 2 колонка і 1 строка. Пробував float:left\right - при змінні розміру вікна - права колонка ховається під низ :(

Edd.Dragon

Цитата: Andrii від 04 Грудень 2009, 22:23:47Пробував float:left\right - при змінні розміру вікна - права колонка ховається під низ
А размеры дивов ты как задавал в css?

Вообще, не стОит страдать исключительно дивной версткой. Когда что-то гораздо удобнее сделать таблицей - значит надо делать таблицей.

Andrii

#732
#left {

margin-left:20px;
margin-top:20px;
margin-bottom:20px;
text-align:left;
height:auto;
border:1px solid #000;
width:70%;
}
#right {
float:right;
margin-right:5px;
margin-top:20px;
margin-bottom:20px;
width:20%;
border:1px solid #000;



}


UPD

Я так подумав і видалив лівий блок і зробив так:

<div id="main"><div id="right">Правий блок</div>
Лівий блок
</div>

Правильно?

Edd.Dragon

#733
Andrii,
margin и padding, кстати, тоже учавствуют в размерах. Т.е. у тебя левый див 70% + 20px, а правый - 20% + 5px. Может и из-за этого.

А вот так все пучком работает. При чем НЕ ВАЖНО, какие флоаты ты поставишь. Хоть left в обоих, хоть right в обоих, хоть left и right. Одинаково будет работать, т.к. это ни на что не влияет (в данном случае).

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<title>test</title>
<style type="text/css">
div.leftPanel {
float: left;
width: 70%;
background-color: gray;
}
div.rightPanel {
float: right;
width: 30%;
background-color: silver;
}
div.panelContent {
margin: 20px;
}
</style>
</head>

<body>

<div>
<div class="leftPanel">
<div class="panelContent">LEFT</div>
</div>
<div class="rightPanel">
<div class="panelContent">RIGHT</div>
</div>
</div>

</body>
</html>





Добавлено: Fri Dec  4 22:53:10 2009

Цитата: Andrii від 04 Грудень 2009, 22:31:49Правильно?
Еще хуже. Раз взялся за слои, так и мысли слоями. Каждый логический блок - слой.

Andrii

О, паше :) І ще одне, ці діви заключені в головному - <div id="main"></div> Як зробити його висоту по висоті внутрішніх <div>?

Edd.Dragon

Цитата: Andrii від 04 Грудень 2009, 22:58:31Як зробити його висоту по висоті внутрішніх <div>?
А он какой высоты?  ???


Andrii

Цитата: Edd.Dragon від 04 Грудень 2009, 23:09:16
А он какой высоты?  ???


Так, якщо зазначено висота 100 пікселів, але якщо символів буде більше - то все розтянеться? Тоді норм. І ще, як текст по верху виставити?

Edd.Dragon

Цитата: Andrii від 04 Грудень 2009, 23:15:57Так, якщо зазначено висота 100 пікселів
А зачем ее указывать, если тебе надо, чтобы он был ровно столько, сколько его внутренности?

Цитата: Andrii від 04 Грудень 2009, 23:15:57І ще, як текст по верху виставити?
У тебя таких вопросов в дальнейшем возникнет 200 и все сюда? Может проще воспользоваться справочником по css? Прочесть сначала у чего какие свойства бывают. А потом за ними туда заглядывать.

user_lol

Як завершити програму натисканням клавіші? Hаприклад:

int main()
{
    int x;
    scanf("%d",x);
    if(x==2) ось тут??
    else {//код програми};
    return 0;
};

немой

Цитата: user_lol від 05 Грудень 2009, 20:13:27Як завершити програму натисканням клавіші? Hаприклад:
так же, как и в конце. верни значение.

user_lol

Цитата: немой від 06 Грудень 2009, 00:39:44
так же, как и в конце. верни значение.
чогось не виходить, пробував вертати і 0, і 1  :(

Edd.Dragon

Цитата: user_lol від 06 Грудень 2009, 01:02:14
чогось не виходить, пробував вертати і 0, і 1  :(
что не получается?

Отрабатывает return 0, а потом идет выполнение дальше? А ты уверен, что срабатывает условие и return выполняется? return - он и в Африке return. Если у тебя выполняется код в else - значит ты зашел в else, а не туда, где return. Выполняй программу пошагово и смотри что в переменных находится.

user_lol

Цитата: Edd.Dragon від 06 Грудень 2009, 01:05:25
что не получается?

Отрабатывает return 0, а потом идет выполнение дальше? А ты уверен, что срабатывает условие и return выполняется? return - он и в Африке return. Если у тебя выполняется код в else - значит ты зашел в else, а не туда, где return. Выполняй программу пошагово и смотри что в переменных находится.
Та затупив, нубська помилка. В  scanf("%d",x) біля ікса пропустив & і воно порівнює, як я зрозумів, з адресою комірки пам"яті, а не з її вмістом?

Цитата: Edd.Dragon від 06 Грудень 2009, 01:05:25
Выполняй программу пошагово и смотри что в переменных находится.
Доречі як? можливо пригодится  :). Компілятор devcpp, якшо потрібно.

Edd.Dragon


Цитата: user_lol від 06 Грудень 2009, 16:32:12Компілятор devcpp, якшо потрібно.
А в какой среде пишешь?

user_lol


Edd.Dragon


user_lol


немой

#747
user_lol, скачай вижуал студию с++ лучше. она новее, популярнее и ответы на вопросы легко гуглятся.

βεερ_βooρ

Цитата: немой від 06 Грудень 2009, 21:34:27
user_lol, скачай вижуал студию с++ лучше. она новее, популярнее и ответы на вопросы легко гуглятся.
А если человеку нужен GCC? :P
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

Edd.Dragon

Цитата: user_lol від 06 Грудень 2009, 20:20:11
:-\ 

Ну тогда смотри, что есть в меню "Отладка" и если так не работает, читай мануалы какой дебагер и как к нему подключить. Но по идее должно быть настроено.