HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 01.07.2007, 11:12
nerezus
Флудер
Регистрация: 12.08.2004
Сообщений: 3,791
С нами: 11444066

Репутация: 2290


По умолчанию

Юзай new/delete вместо (m/c)alloc/free
 
Ответить с цитированием

  #2  
Старый 01.07.2007, 15:51
sni4ok
Участник форума
Регистрация: 04.11.2006
Сообщений: 150
С нами: 10271420

Репутация: 175
По умолчанию

Цитата:
Сообщение от nerezus  
Юзай new/delete вместо (m/c)alloc/free
плахой совет, ибо exception safe код при явном вызове delete получить трудно, потому правильный совет звучит так-
используйте умные указатели и обёртки над указателями вместо освобождения ресурсов на прямую.
 
Ответить с цитированием

  #3  
Старый 01.07.2007, 14:44
Ky3bMu4
Постоянный
Регистрация: 03.02.2007
Сообщений: 520
С нами: 10140806

Репутация: 932


По умолчанию

Или вот: http://www.codenet.ru/progr/visualc/esmall/add.txt
 
Ответить с цитированием

  #4  
Старый 02.07.2007, 11:17
Дикс
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
С нами: 10562786

Репутация: 537


По умолчанию

подскажите вот что:

entries = (char**)realloc(entries, arr_size*sizeof(char*));
такой строкой я заново переопределяю массив указателей entries или к нему как-то добавляется свободное место?
мне нужно в цикле добавлять в динамический массив указатели и каждый раз увеличивать его размер.


а дальше вот функция, которую я родил, если не лень, попробуйте скомпилить и скажите почему она ничего не выводит:

Код:
#include "stdio.h"  // ввод/вывод
#include "stdlib.h" // работа с памятью


char ** fndr(char *s1, char *s2, int *n_entrs)
{
char ** entries = NULL; // массив с указателями на вхождения
int arr_size = 2; // изначально его размер 0
int counter = 0; // счётчик записей
int destroy = 0; // если все буквы совпали то она равна нулю

for(int s1_len=0;s1[s1_len] != '\0'; s1_len++); // s1_len - длина первой строки
for(int s2_len=0;s2[s2_len] != '\0'; s2_len++); // s2_len - длина второй строки

for (int i=0; i<s1_len; i++)
{
	if(s1[i] == s2[0]) // если совпал первый символ
	{
	for(int g=0; g<s2_len; g++)
	{
	if(s1[i+g] != s2[g])
		destroy = 1;
	}

	if(!destroy)
	{


		 if(counter >= arr_size)
        {
            arr_size *= 2;
	entries = (char**)realloc(entries, arr_size*sizeof(char*)); // добавление памяти
        }

	entries[counter] = &s1[i]; // добавление указателя в массив
	counter++; // счотчик инкрементируем
	}

	}


} // конец перебора первой строки

*n_entrs = counter;
return entries;
}




void main()
{
char s1[] = "my house is you house in you house is wife";
char s2[] = "house";

char ** entries; // массив с указателями на вхождения
int n_entrs = 0; // кол-во вхождений

entries = fndr(s1, s2, &n_entrs);


for (int n=0; n<n_entrs; n++)
	printf("%s \n", entries[n]);

free(entries);
}
 
Ответить с цитированием

  #5  
Старый 06.07.2007, 19:38
Z0rd$23
Новичок
Регистрация: 11.06.2006
Сообщений: 4
С нами: 10481571

Репутация: 1
По умолчанию

Тут некоторые сортировки на С++, реализация. Если кому надо.
http://www3.msiu.ru/~roganov/2sem/sort.cpp
 
Ответить с цитированием

  #6  
Старый 15.09.2007, 18:07
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
С нами: 10393869

Репутация: 2032


По умолчанию

дайте инфы по оверлеям с нуля плз. юзал поиск, не нашел

ЗЫ не нашел другого раздела, чтобы спросить=\
 
Ответить с цитированием

  #7  
Старый 15.09.2007, 20:44
Ni0x
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
С нами: 10370602

Репутация: 472
По умолчанию

Piflit, я тебе уже писал, тебе нужно ознакомиться с документациями по формату PE, но уровень на котором ты находишься сейчас явно не предполагает ознакомления с этой темой. Лучше разберись с основнами для начала. Про указатели, ссылки почитай и т.п. И еще, не путай, если хочешь учиться покупай книгу именно по С, а не талмуд по С++ , ООП на данный момент тебе явно не нужно.
Цитата:
Оверлей – это то, что находится между физическим концом последней секции и концом файла. Конечно, оверлей может содержать и полезную для файла информацию.
wasm.ru -> статьи и форум, лучше чем там не ответят пожалуй нигде.

Последний раз редактировалось Ni0x; 15.09.2007 в 21:15..
 
Ответить с цитированием

  #8  
Старый 15.09.2007, 20:53
Piflit
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
С нами: 10393869

Репутация: 2032


По умолчанию

Цитата:
Сообщение от Ni0x  
Piflit, я тебе уже писал, тебе нужно ознакомиться с документациями по формату PE, но уровень на котором ты находишься сейчас явно не предполагает ознакмоления с этой темой. Лучше разберись с основнами для начала. Про указатели, ссылки почитай и т.п. И еще, не путай, если хочешь учиться покупай книгу именно по С, а не талмуд по С++ , ООП на данный момент тебе явно не нужно.
Спасибо за ответ. Я знаю, что ты много занешь, просто хочется услышать еще чьи-то мнения.
 
Ответить с цитированием

  #9  
Старый 20.09.2007, 21:01
ph0en1x
Познающий
Регистрация: 14.06.2006
Сообщений: 30
С нами: 10478216

Репутация: 11
По умолчанию

Задание А:
Вычислить значение функции. Осушествить вывод значений вводимых исходных данных и результат вычисления значений функции, сопровождая вывод наименованиями переменных.

Функция: f= lg(x+1) и sin^2SQR|ax| (тут система уравнений)
Условие: x>1 ; x <=1
Исходные даннные: a=20.3


Задание Б:
Диапазон и шаг изменения аргумента: x [0.5;2] , дельтаX=0.1

Модифицыровать программу таким образом, чтобы вычислялось многократно значение функции при изменении агрумента в указаном диапазоне и с заданым шагом.
Организовать вывод значения аргумента, и вычисленного значения функции в виде таблицы.
Таблица функции Y(X):
X Y
.... ....
.... ....

P.S помогите

Последний раз редактировалось ph0en1x; 22.09.2007 в 18:45..
 
Ответить с цитированием

  #10  
Старый 20.09.2007, 21:42
G1yuK
Познающий
Регистрация: 25.05.2007
Сообщений: 36
С нами: 9981605

Репутация: 28
По умолчанию

а на чём, т.е. каком языке это делать надо?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости. Обсуждения. 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.