Форум программистов, компьютерный форум CyberForum.ru

Бинарные файлы: на место тех позиций, у которых значение меньше определенного числа, записать 0 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Нужно еще два способа (вывести введенное слово наоборот) http://www.cyberforum.ru/cpp-beginners/thread858057.html
Ребят у меня программа выводит введенное слово наоборот(То есть ввожу привет, а выводит тевирп). Помогите сделать тоже самое только двумя другими способами. Вот код: #include <stdio.h> #include <string.h> #include <conio.h> int main () { char str; int n=0,i,j; printf("vvedite stroku\n");
C++ система масового обслуживания с отказами на обычном dev C++ помогите, смоделировать система масового обслуживания с отказами на обычном dev C++ http://www.cyberforum.ru/cpp-beginners/thread858018.html
Подсчет попарно неизоморфных графов, содержащих не более 4 вершин C++
Пишу курсовую по программе,которая считает попарно неизоморфные графы,содержащие не более 4 вершин.вот прога: #include <stdio.h> #include <conio.h> #define NMAX 4 // максимальное число вершин графа() */ /*---------------------------------------------------------*/ /* функция ввода матрицы смежности */ /*---------------------------------------------------------*/ void...
Возвращение значения из функции C++
Ребят, подскажите, когда функция возвращает значение из функции, то в памяти создается копия значения? Я все время думал что функция на "прямую" возвращает значение в программу, после чего перестает существовать. Но вот по словам автора книги, как я понимаю создается копия. К примеру если мы возвращаем объект какого-нибудь класса return object(a,b); то фактически мы создаем 2 лишних объекта...
C++ Цикл должен удалять все первые элементы пар чисел сумма которых превышает 10 http://www.cyberforum.ru/cpp-beginners/thread858008.html
Помогите найти ошибку. Цикл должен удалять все первые элементы пар чисел сумма которых превышает 10. Например: 1 2 3 4 5 6 7 8 9 10 Результатом должно быть 1 2 3 4 6 8 10 n - размерность массива for(int j=1; j<=n; j++) { if((j%2==0)&&(arr+arr>10)) {
C++ Бинарное дерево. Каждую вершину с чётным номером поменять местами с сыном, имеющим чётный номер Доброго времени суток всем помогите пожалуйста с задачей: Дано бинарное дерево. Каждую вершину с чётным номером поменять местами с сыном, имеющим чётный номер. подробнее

Показать сообщение отдельно
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
08.05.2013, 00:57     Бинарные файлы: на место тех позиций, у которых значение меньше определенного числа, записать 0
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void zamena(int size) {
    double k = 0.0, a = 0.0, num = 0.0;
    cout << endl << "Vvedite k=";
    cin >> k;
    fstream fl("MAT.FF", ios_base::in | ios_base::out | ios_base::binary);
    for (int i = 0; i < size; i++)
        for (int j = 0; j < size; j++) {
            fl.read((char*) &a, sizeof(a));
            if ((i == j) && a < k) {
                fl.seekp(fl.tellp() - (streampos) sizeof(a));
                fl.write((char*) &num, sizeof(a));
            }
        }
    fl.close();
}
неправльно обрабатывается строка
C++
1
in.seekg(-(sizeof(a)), in.cur);
и в таком варианте тоже
C++
1
in.seekp(-(sizeof(a)), in.cur);
в 32 разрядной системе (ХР), почему, не понимаю.
После этой строки он ставит указатель позиции в -1 и все.
в 64 разрядной все работает.
 
Текущее время: 18:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru