LINUX.ORG.RU

Сообщения Holly

 

односвязные списки

У меня, казалось бы, простой, но в то же время непонятный мне вопрос: вот связный список:

first --> ... --> ... --> ... --> ... --> NULL

как удалить элемент, который указывает на NULL?

Holly
()

GtkNotebook, переключение между страницами

я создаю контейнер типа GtkNotebook

/* ......... */

/* Инициализируем подсистему формирования GUI */

gtk_init (&argc, &argv);

group = gtk_accel_group_new ();

/* Создаем главное окно программы */

window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

gtk_window_set_title (GTK_WINDOW (window), APPNAME);

gtk_widget_set_size_request (window, 800, 600);

/* Соединяем событие «destroy» с обработчиком сигнала */

g_signal_connect(G_OBJECT (window), «destroy», G_CALLBACK(gtk_main_quit), NULL);

/* Создаем вертикальный контейнер для меню и области редактирования */

vbox = gtk_vbox_new(FALSE, 0);

gtk_container_add (GTK_CONTAINER (window), vbox);

/* Создаем notebook */

notebook = gtk_notebook_new ();

/* Создаем виджеты для страниц */

label_1 = gtk_label_new («Редактор»);

label_2 = gtk_label_new («Справочник»);

/* Добавляем страницы */

gtk_notebook_append_page (GTK_NOTEBOOK (notebook), label_1, NULL);

gtk_notebook_append_page (GTK_NOTEBOOK (notebook), label_2, NULL);

/* ......... */

/* Позиционируем справочник вертикально */

gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 5);

/* ......... */

/* Позиционируем область редактирования вертикально */

gtk_box_pack_start(GTK_BOX(vbox), notebook, FALSE, TRUE, 0);

На первой странице должен быть обычный редактор, на второй - телефонная книга. Как осуществить возможность переключения между редактором и справочником?

Holly
()

перегрузка операции на c++

Возникла проблема. Необходимо написать функции вставки/удаления элемента в связном списке, следующего после элемента с номером n. Чтобы это организовать необходимо перегрузить операцию []. Написанный мной кусок конечно же зависает. Но где ошибки?

elem operator[](int n)

{

elem *p; /* elem - структура */

p = first; /* first - указатель на начало списка */

for(int i = 0; i < n; i++)

{

if(p == NULL)

{ printf(«нет такого элемента\n»);

} else {

while(p != NULL) {

p = p->link;

}

}

}

return *p;

};

Holly
()

Установка библиотеки gtk

Как установить библиотеку gtk/gtk.h, если с линукса нет выхода в инет?

Holly
()

Помогите в подготовке к экзамену))

Ммм... Мне надо придумать примеры прог. Но замкнутый круг. Я несколько не понимаю вопросы, поэтому не могу написать нужные программы. Но в то же время я не могу разобрать вопросы без примера. Может хоть парочку подскажите?)) 1. Стандартные переопределения типов (stddef.h) на примере собственной функции strlen с возвращаемым значением типа size_t. 2. Пример фрагмента кода обхода линейного списка (это со структурой). 3. Пример фрагмента кода вставки элемента в список. 4. Пример программы, использующей переполнение буфера для подмены адреса возврата (это про стек). 5. Сильные и слабые имена программ с несколькими модулями с совпадением имен.

Holly
()

работа с acronis partition expert

Я пытаюсь отделить новый диск. Освободила 98 гигов из 137, но acronis говорит, что недостаточно дискового пространства. Как это исправить?

Holly
()

скрипт с getopt

Можете объяснить, как написать скрипт?

Само задание: Необходимо написать сценарий test_panel, вызываемый с по крайней мере одним параметром panel_program, обеспечивающую возможность: для каждого файла с расширением in в подкаталоге tests текущего каталога запустить программу заданную параметром panel_program (решающую задачу 5 по информатике) результат каждого запуска проанализировать и сформировать отчет, из которого для каждого теста должно быть ясно провален тест или прошел успешно: код возврата сравнить с значением из соответствующего файла с расширением .status вывод сравнить с содержимым файла .out Программа должна распознавать опцию -r (--report-type), позволяющая выбрать вид форматирования отчета. Необходимо предусмотреть как минимум два вида отчета (например, краткий и подробный).

То, что знаю:

#if [ $# == 0 ]

#then

# echo 'Введите параметры'

#exit 1

#fi

#сам getopt. Правда, не знаю пока, что он должен выводить, поэтому просто 1 и 2

set — `getopt r:a «$@»`

#[ $# -lt 1 ] && exit 1 # getopt failed

while [ $# -gt 0 ]

do

case «$1» in

-r) echo «1»;break;;

-report-type) echo «1»; break;;

--) echo «2»; break;;

esac

shift

done

# поиск файла с расширением in

for i in `find $i -name «*.in» -print 2> /dev/null`

do

# а тут я только понимаю смысл, что файл in нужно отправить на программу, её выход сравнить с содержимым .out ...

done

В общем, знаю я немного)

Holly
()

простейшие скрипты

Чтобы в скрипте открыть какой-либо файл с программой, что надо написать? cd .../файл, а потом скопировать в скрипт код программы? что-то не проходит...

Holly
()

Emacs и таблицы

Вот у меня есть некая программа. Её надо модифицировать, и сделать так, чтобы результаты выводились в виде таблицы. Как это сделать?

Holly
()

RSS подписка на новые темы