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

Массив: Все элементы массива, кратные трем, записать в одномерный массив. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибки в коде http://www.cyberforum.ru/cpp-beginners/thread641297.html
Изучаю ООП с++ по книге Р.Лафоре. Как было написано в книге ввел код: #include <iostream> USING NAMESPACE STD; INT MAIN() { COUT << "Ó ÊÀÆÄÎÉ ÝÏÎÕÈ ÑÂÎÉ ßÇÛÊ\N"; RETURN 0; } запустил через build и выдало такую ошибку:
C++ Замена файла [c++] void zam(LPCTSTR FILE,LPCTSTR LIFILE) { //Сюда надо вставить код который заменяет файл FILE на этот LIFILE //CopyFile не предлагать! } http://www.cyberforum.ru/cpp-beginners/thread641287.html
C++ Запустить дополнительную страницу браузера
Как можно запустить страницу браузера? С помошью след функции можно запустить отдельно новую копию браузера. ShellExecute(NULL,NULL,ExeFile,URL,NULL,SW_RESTORE); Возникли такие вопросы: 1. можно ли и как запустить не отдельную копию а дополнительную станицу. 2. как запустить отдельную копию для opera - этой командой не запускается.
C++ Позиция курсора
Можете мне пояснить пораметры этой записи пожалуйста. Что можно менять что нет.. COORD position = {0, 0}; HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hConsole, position);
C++ Массив: Найти первый максимум в этом массиве, а затем все числа до этого элемента упорядочить по возрастанию, а после — по убыванию. http://www.cyberforum.ru/cpp-beginners/thread641263.html
Дан массив из n целых чисел. Найти первый максимум в этом массиве, а затем все числа до этого элемента упорядочить по возрастанию, а после — по убыванию. Помогите написать пожалуйста.. Очень срочно надо.. Заранее спасибо.
C++ Подскажите бесплатный игровой движок под с++ Подскажите бесплатный игровой движок под с++ подробнее

Показать сообщение отдельно
Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
23.08.2012, 14:46     Массив: Все элементы массива, кратные трем, записать в одномерный массив.
Немного хитрой рекурсии (по матрице a проходим всего один раз и при этом создаем динамический массив b и заполняем его элементами, кратными 3):

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
void Init(int *a, int *end, int *count, int **b, int *i)
{
   if (a < end)
   {
       *count += ((*a) % 3 == 0);
       Init(a + 1, end, count, b, i);
       if ((*a) % 3 == 0)
          *(*b + *count - (*i)++ - 1) = *a;
   }
   else
      *b = (int *)malloc(*count * sizeof(**b));
}
 
int main()
{
   int *b = NULL, i = 0, n = 0, a[2][3] = {{1,2,3}, {4,5,6}};
   Init(*a, *a + 6, &n, &b, &i);
   for(i = 0; i < n; i++)
      printf("%d ", b[i]);
   return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru