Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
80 / 68 / 31
Регистрация: 10.05.2011
Сообщений: 284
1

Задачи с массивами

07.09.2012, 13:23. Показов 938. Ответов 3
Метки нет (Все метки)

Объясните, как решить.
Пример 1.
void *v=static_cast<void*>(&mas)// mas - массив это имелось в виду*?
не пойму, что дальше делать, вижу, что надо написать функцию, но передать void* понятно, а число кол-во байт, что к чему? я знаю, что такой байты биты знаю как вывести.

Пример 2.
Создаю 2 массива. Там не написано, но я так понимаю надо инициализировать два массива и в цикле for перебрать 2 массива и отменить для каждого элемента const and volatile, и надо присвоить те ъначение которые были или что?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Миниатюры
Задачи с массивами   Задачи с массивами  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.09.2012, 13:23
Ответы с готовыми решениями:

Задачи с массивами
Помогите пожалуйста,решить 2 задачи(только недавно стал изучать Си и не очень понимаю его)...

Задачи с массивами
Добрый вечер, уважаемые программисты. Прошу у вас помощи с задачами.

Задачи с массивами
1. Создайте массив из 15 целочисленных элементов и определите среди них минимальное значение. 2....

Задачи с массивами
Задан массив Y(M). Вы числить сумму 2ух наибольших и 2ух наименьших элементов массива.(M&gt;5) ...

3
153 / 137 / 34
Регистрация: 23.05.2009
Сообщений: 275
07.09.2012, 14:11 2
Пример 1:
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
#include <iostream>
#include <algorithm>
 
using std::cout;
 
void func(void* src, int sz, unsigned char val)
{
   unsigned char *ptr = static_cast<unsigned char *>(src);
   for(int i = 0; i < sz; ++i)
   {
      ptr[i] = val;
   }
}
 
void print(int &val)
{
   cout<<val<<", ";
}
 
int main()
{
   const size_t szArray = 10;
   int mas[szArray];
   cout<<"Before execution of func\n";
   std::for_each(mas, mas + szArray, print); //всякий мусор
   func(mas, sizeof(int) * szArray , 0);
   cout<<"\nAfter execution of func\n";
   std::for_each(mas, mas + szArray, print); //нули
   return 0;
}

Пример 2:
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 <algorithm>
 
using std::cout;
 
 
void print(double val)
{
   cout<<val<<", ";
}
 
int main()
{
   const double constArray[] = {1.1, 2.2, 3.3};
   volatile double volatileArray[] = {10.1, 20.2, 30.3};
   cout<<"constArray before changes\n";
   std::for_each(constArray, constArray + 3, print);
   cout<<"\nvolatileArray before changes\n";
   std::for_each(volatileArray, volatileArray + 3, print);
   for(int i = 0; i < 3; ++i)
   {
      double * ptr = const_cast<double*>(constArray + i);
      *ptr = 0;
      volatileArray[i] = 0;
   }
   cout<<"\nconstArray after changesn";
   std::for_each(constArray, constArray + 3, print);
   cout<<"\nvolatileArray after trying to change\n";
   std::for_each(volatileArray, volatileArray + 3, print);   
   return 0;
}
Правда не понятно зачем и как отменять действие модификатора volatile.
1
1453 / 790 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
07.09.2012, 14:47 3
Первый пример вижу так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void func(void* p, int size, int n)
{
    for (int i = 0; i<size; i++)
        static_cast<int*>(p)[i] = n;
}
int main()
{
    int arr[] = {1,2,3,4,5};
    void* parr = static_cast<void*>(arr);
    func(parr, sizeof arr/sizeof (int), 10);
    for (int i = 0; i<sizeof arr/sizeof (int); i++)
        cout<<static_cast<int*>(parr)[i]<<" ";
    cout<<endl;
    system("pause");
    return 0;
}
1
153 / 137 / 34
Регистрация: 23.05.2009
Сообщений: 275
07.09.2012, 14:49 4
В задании написано "Функция должна присваивать передаваемое значение каждому байту в заданном диапазоне"
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.09.2012, 14:49

Небольшие задачи с массивами
Доброго времени суток.Изучаю массивы,пытаюсь решить задачи.Написал,но не выходит.Нужен совет. 1)В...

Задачи с массивами (Ошибка)
Ребят, учусь на первом курсе, экзамен по программированию..задача на массивы двумерном массиве...

Работа с файлами, массивами и т.д.(2 задачи)
Пропустил эту тему, теперь не могу ничего сделать... 4. Фирма имеет N магазинов. Информацию о...

Ищу задачи с массивами начального уровня
Доброго времени суток. Совсем недавно засел за изучение языка C++. Все шло хорошо, пока не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.