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

memset() - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ узнать количество элементов через указатель http://www.cyberforum.ru/cpp-beginners/thread861971.html
#include"cards.h" #include"cards2.h" #include<string> #include<iostream> #include<conio.h> #include<vector> template<class T> class cards { T card; T suit;
C++ Алгоритм Хаффмана Добрый день!Есть у кого исходники Сжатие по алгоритму Хаффмана,написанные на СИ(с ассемблерными вставками).Заранее благодарю http://www.cyberforum.ru/cpp-beginners/thread861970.html
Выход за границы массива C++
Выхожу за пределы массива, но вот только не понимаю как. #include <iostream> #include <fstream> using namespace std; const int n = 10; const int m = 6; int main()
C++ Я не прошу писать мне код, я прошу подсказать мне, что за структура требуется в задании
Написать программу для работы по запросам оператора с приоритетной очередью запросов. Куча отображается в память двоичным деревом. Приоритет - целое число. Запрос - строка произвольной длины. Узел дерево содержит ключ, указатель на левое и правое поддеревья, направление предыдущего прохода и указатель на поле запрса. В очереди могут находится запросы с равными приоритетами; в этом случае...
C++ Ошибки ввода http://www.cyberforum.ru/cpp-beginners/thread861929.html
Кто-нибудь помогите, не работает ввод.
C++ Дана строка символов, состоящая из цифр и пробелов. Вывести на экран слово с максимальной длиной Помогите, выдает ошибку в проверке условия цикла #include <conio.h> #include <stdio.h> #include <string.h> int main() { char dest; clrscr(); подробнее

Показать сообщение отдельно
ZaMaZaN4iK
Мой лучший друг-отладчик!
 Аватар для ZaMaZaN4iK
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
11.05.2013, 22:48     memset()
Здравсвуйте. У меня возник вопрос касательно memset().Есть код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <memory.h>
#include <cstdio>
 
using namespace std;
 
long long n,ans=0,thing[101],i,c,cost;
bool flag[101];
 
 
int main()
{
    memset(thing,1001,sizeof (thing));
    memset(flag,0,sizeof (flag));
    scanf("%I64d",&n);
    for(i=0;i<n;++i)
    {
        scanf("%I64d%I64d",&c,&cost);
        cout<<thing[c];
        if(cost < thing[c])
        {
            thing[c]=cost;
            flag[c]=true;
        }
    }
    for(i=1;i<101;++i)
        if(flag[i])
            ans+=thing[i];
    printf("%I64d",ans);
    system("pause");  
}
Почему memset() не заполняет массив thing значением 1001?А вместо этого в массиве появляются другие значения?
Но если заменить
C++
1
memset(thing,1001,sizeof (thing));
на
C++
1
memset(thing,0,sizeof (thing));
то всё работает.

Помогите разобраться с особенностью memset()
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru