Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

Чемпионы рейтинга экспертов в этой рассылке

Лысков Игорь Витальевич
Статус: Специалист
Рейтинг: 295
∙ повысить рейтинг >>
Verena
Статус: Специалист
Рейтинг: 45
∙ повысить рейтинг >>
Dr_Andrew
Статус: Специалист
Рейтинг: 35
∙ повысить рейтинг >>

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 1202
от 31.12.2008, 04:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 456, Экспертов: 44
В номере:Вопросов: 3, Ответов: 7

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>

Вопрос № 155732: Здравствуйте!!! Нужно написать программу, сортирующую элементы каждого столбца произвольной матрицы размерностью n*m по убыванию, либо по возрастанию. Порядок для каждого столбца задается пользователем. Написать функции: 1) Заполнения двумер...


Вопрос № 155758: Чем отличается fopen() от fopen_s() ? и fscanf от fscanf_s() ?...
Вопрос № 155811: Здравствуйте! Подскажите, есть ли возможность что-то записать (хоть пару байт) на жесткий диск, но не в виде файла, а как-то иначе, может быть напрямую в файловую систему... Чтобы было невозможно отследить создание и дальнейшее чтение этой информа...

Вопрос № 155.732
Здравствуйте!!!
Нужно написать программу, сортирующую элементы каждого столбца произвольной матрицы размерностью n*m по убыванию, либо по возрастанию. Порядок для каждого столбца задается пользователем.
Написать функции:
1) Заполнения двумерного массива случайными числами из диапозона [-150;150]
2) Вывода двумерного массива
3) Сортировки элементов матрицы по убыванию и по возрастанию
Программа написана, но работает правильно только в случае когда количество столбцов равно количеству строк. Как это исправить? Очень нужно, завтра уже надо сдавать задачу! Очень прошу помогите!!!

Приложение:

Отправлен: 25.12.2008, 11:17
Вопрос задал: Баженов Павел Андреевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лысков Игорь Витальевич
Здравствуйте, Баженов Павел Андреевич!
Подправьте:
Код:
void zp(int*mas,int n,int m)
{
int i,j;
srand(time(0));
for(i=0;i<n;i++)
for(j=0;j<m;j++)
*(mas+i*m+j)=rand()%301-150; //n->m
}

void vd(int*mas,int n,int m)
{
int i,j;
for(i=0;i<n;i++)
{for(j=0;j<m;j++)
cout<<*(mas+i*m+j)<<" "; //n->m
cout<<endl;}
}

---------
Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Специалист)
Ответ отправлен: 25.12.2008, 11:54

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 239619 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Отвечает: shayen
    Здравствуйте, Баженов Павел Андреевич!
    Вот мой вариант вашей программы, компилировалась на VS 2005, для отображения русских шрифтов нужно в свойствах коносли установить шрифт Lucada console. Код в приложении удачи на сдаче

    Приложение:

    Ответ отправил: shayen (статус: Студент)
    Ответ отправлен: 25.12.2008, 16:39

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 239650 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Вопрос № 155.758
    Чем отличается fopen() от fopen_s() ? и fscanf от fscanf_s() ?
    Отправлен: 25.12.2008, 15:04
    Вопрос задал: Юрий Анатольевич (статус: Посетитель)
    Всего ответов: 3
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Сандров Алекс
    Здравствуйте, Юрий Анатольевич!

    Вроде как _s-функции более надёжные:

    msdn2005 said:
    Significant enhancements have been made to make the CRT more secure. Many CRT functions now have more secure versions. If a new secure function exists, the older, less secure version is marked as deprecated and the new version has the _s ("secure") suffix.
    Ответ отправил: Сандров Алекс (статус: Студент)
    Ответ отправлен: 25.12.2008, 15:17

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 239643 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Отвечает: Sergey A. Wedensky
    Здравствуйте, Юрий Анатольевич!

    Слегка дополню предыдущий ответ. Из того же MSDN:

    Основные улучшения в области безопасности:
    - Контроль параметров (проверка передаваемых указателей на NULL, проверка выхода за диапазон интегральных и перечислимых типов). Могут выбрасывать исключения "invalid parameter".
    - Все буферы, куда функция будет писать сопровождаются максимальным размером. Например, fscanf_s требует передачи размера для всех параметров типа "s", "c", "[]":
    char s[81];
    fscanf_s( stream, "%s", s, 81 );
    - все _s-функции обеспечивают корректное null-терминирование строк.
    - улучшена диагностика ошибок. Так, все _s-функции корректно устанавливают errno и т.д.
    - проверка синтаксиса строк спецификации формата (для printf и подобных).
    - поддержка безопасности на уровне файловой системы и ОС.
    Ответ отправил: Sergey A. Wedensky (статус: Практикант)
    Ответ отправлен: 25.12.2008, 15:54

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 239646 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Отвечает: Калеев Владимир Викторович
    Здравствуйте, Юрий Анатольевич!
    Функция fopen_s() в отличие от fopen() позволяет контролировать доступ к файлу при открытии.
    errno_t fopen_s( FILE** pFile, const char *filename, const char *mode );
    Как видим здесь есть дополнительный параметр mode, в котором можно задавать значения в виде обычной строки:

    "r" открытие для чтения. Если файл не существует или не был найден, функция вернет ошибку.

    "w" Открыть пустой файл для записи. Если файл уже существует, его содержимое уничтожается (удаляется).

    "a" Открыть файл для дозаписи (т.е. в конец файла). Если файл не существует, то функция его создает.

    "r+" Открыть файл для чтения и записи (файл должен быть создан до вызова функции с этим параметром)

    "w+" Открыть пустой файл для чтения и записи. Если файл уже существовал, его содержимое перезаписывается.

    "a+" Открыть файл для чтения и дозаписи. Если файл не существует, то фу нкция создает его.

    А для того чтобы прочитать данные из файлов открытых через такую функцию уже используются fscanf_s() и т.д.
    Ответ отправил: Калеев Владимир Викторович (статус: 4-й класс)
    Ответ отправлен: 26.12.2008, 06:09

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 239685 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Вопрос № 155.811
    Здравствуйте!
    Подскажите, есть ли возможность что-то записать (хоть пару байт) на жесткий диск, но не в виде файла, а как-то иначе, может быть напрямую в файловую систему... Чтобы было невозможно отследить создание и дальнейшее чтение этой информации сторонними программами.

    Есть одна программа, которая что-то куда-то записывает. Не в реестр, Windows переустанавливал. Пытался разными программами (типа FileMon) мониторить чтение всех файлов на диске, ничего не видит. Программу перемещал на другой диск на этом компьютере. Но так и ничего не смог сделать, не хочет она забывать кое что, и все тут. Хотелось бы разобраться в чем дело, где можно так хорошо хранить информацию, или как ее скрыть.
    Если будет кому-то интересно, могу выслать программу.
    Отправлен: 25.12.2008, 23:19
    Вопрос задал: Upgrader (статус: Студент)
    Всего ответов: 2
    Мини-форум вопроса >>> (сообщений: 5)

    Отвечает: Сандров Алекс
    Здравствуйте, Upgrader!

    А что за программа? (высылать не надо)
    FileMon-ом надо смотреть, когда она ставится, ибо тогда она и прописывает себя (или так и делалось?)
    Если программа платная, то, может, лучше купить? Люди всё-таки старались, работали.
    Если чисто технически интересно, можно поискать краки в интернете, потом поискать самих кракеров и спросить, что там и как.

    А если самому копать, можно почитать msdn про файловую систему. Если запись ведётся на диск, то эта облась должна отмечаться как занятая. И должны быть функции, которые работают напрямую с дисками, читают, пишут, ставят эти самые метки.
    Ответ отправил: Сандров Алекс (статус: Студент)
    Ответ отправлен: 26.12.2008, 06:17

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 239686 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает: Olegzp
    Здравствуйте, Upgrader!
    Могу предположить самый простой вариант, используется при защите от копирования.
    Прогрмма сама себя открывает(.exe) и записывает по определенному адресу свои данные.
    Сломать возможно необходимо если есть оригинал проверить с помощью любой программы проверяющей побайтово.
    Если надо могу написать подобную программу.
    Ответ отправил: Olegzp (статус: 3-й класс)
    Ответ отправлен: 26.12.2008, 16:58

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 239741 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5
    Комментарий оценки:
    Спасибо, не знал, но в данном случае это не тот случай :)


    Вы имеете возможность оценить этот выпуск рассылки.
    Нам очень важно Ваше мнение!
    Оценить этот выпуск рассылки >>

    Отправить вопрос экспертам этой рассылки

    Приложение (если необходимо):

    * Код программы, выдержки из закона и т.п. дополнение к вопросу.
    Эта информация будет отображена в аналогичном окне как есть.

    Обратите внимание!
    Вопрос будет отправлен всем экспертам данной рассылки!

    Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
    экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


    Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
    Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2008, Портал RusFAQ.ru, Россия, Москва.
    Авторское право: ООО "Мастер-Эксперт Про"
    Техподдержка портала, тел.: +7 (926) 535-23-31
    Хостинг: "Московский хостер"
    Поддержка: "Московский дизайнер"
    Авторские права | Реклама на портале

    ∙ Версия системы: 5.13 от 01.12.2008

    Яндекс Rambler's Top100
    RusFAQ.ru | MosHoster.ru | MosDesigner.ru
    RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

    В избранное