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

Написать функцию,которая принимает массив целых чисел - C++

Восстановить пароль Регистрация
 
JIioneJI
1 / 1 / 0
Регистрация: 04.01.2013
Сообщений: 121
03.04.2013, 00:01     Написать функцию,которая принимает массив целых чисел #1
ющий: 104 561 223 451 234 222 234 565 673 456

Добавлено через 17 минут
Цитата Сообщение от JIioneJI Посмотреть сообщение
Написать функцию,которая принимает массив целых чисел расположенных в динамической
памяти(массив заполнен числами от(10,10000)),и создает новый массив данных при этом
заполняется он только трехзначными значениями,формировать значение для нового массива
можно только используя числа исходного массива, и по следующему правилу:

Исходный массив: 10 456 12 2345 1234 222 23 456 567 3456

Результирующий: 104 561 223 451 234 222 234 565 673 456
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
32
33
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int maschisl(int arr[], int size)
void main()
{
    int mas[10];
    int tmp[10];
    int count=0;
    srand((unsigned) time(NULL)); 
    for(int i=0; i<10; i++)
    {
       tmp[i]=mas[i];
    }
    for(int i=0; i<10; i++)
    {
        mas[i]=rand()%10000+10;
    }
    for(int i=0; i<10; i++)
    {
        cout<<mas[i]<<" ";
    }
    cout<<endl;
    for(int i; i<10; i++)
    {
        for(int i; i<10; i++)   
        {
            mas[i]/=10;
            count++;    
        }
    }
}
Добавлено через 17 минут
Подскажите плиз как сделать хотя бы главный принцип решения, завтра экзамен(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2013, 00:01     Написать функцию,которая принимает массив целых чисел
Посмотрите здесь:

C++ Написать функцию, которая определяет сумму положительных элементов массива целых чисел
C++ Написать функцию, которая возвращает максимальное из двух целых чисел, полученных в качестве аргумента. С++
1)Написать функцию, которая возвращает максимальное из двух целых чисел, полученных в качестве аргумента. (функции) C++
C++ Написать функцию, которая возвращает максимальное из двух целых чисел, полученных в качестве аргумента.
C++ Напишите функцию, которая получает массив A ненулевых целых чисел размера N
C++ Реализовать функцию, которая принимает массив и возвращает количество простых чисел в нем
C++ Написать функцию, которая возвращает разность двух целых чисел, полученных в качестве аргумента
C++ Написать функцию, которая принимает указатель на небольшой 2х мерный массив int значениями

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
anmartex
...
 Аватар для anmartex
1699 / 1192 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
03.04.2013, 08:01     Написать функцию,которая принимает массив целых чисел #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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include <iostream>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
// Подсчёт количества цифр в числе
size_t countDigits(int digit)
{
   size_t count = 0;
 
   for (; digit; digit /= 10)
   {
      count++;
   }
 
   return count;
}
 
// Подсчёт количества блоков чисел длинною lengthBlock
size_t countBlocks(int array[], size_t sizeArray, size_t lengthBlock)
{
   size_t count = 0;
   for (size_t i = 0; i < sizeArray; ++i)
   {
      count += countDigits(array[i]);
   }
 
   return (count / lengthBlock) + ((count % lengthBlock) ? 1 : 0);
}
 
// Возведение 10-ки в степень. Решил не использовать
// pow из <cmath>, ибо она оперирует с вещественными числами
// и я побоялся наступить на грабли
int pow10(size_t exponent)
{
   int result = 1;
 
   while (exponent--)
   {
      result *= 10;
   }
 
   return result;
}
// Блочное конвертирование массива длинною lengthBlock
void convert(int source[], size_t sizeSource, int dest[], size_t lengthBlock)
{
   dest[0] = 0;
   size_t j = 0;
   size_t length = 0;
 
   for (size_t i = 0; i < sizeSource; ++i)
   {
      int val = source[i];
      size_t count = countDigits(val);
 
      while (count--)
      {
         int digit = val / pow10(count);
         dest[j] = (dest[j] * 10) + digit;
 
         val -= (digit * pow10(count));
 
         if (++length == lengthBlock)
         {
            dest[++j] = 0;
            length = 0;
         }
      }
   }
}
 
int main()
{
   srand(time(NULL));
 
   int mas[10];
 
   for (int i = 0; i < 10; i++)
   {
      mas[i] = rand() % 10000 + 10;
   }
 
   for (int i = 0; i < 10; i++)
   {
      cout << mas[i] << " ";
   }
   cout << endl;
 
   size_t sizeNewMas = countBlocks(mas, 10, 3);
   int* newMas = new int[sizeNewMas];
 
   convert(mas, 10, newMas, 3);
 
   for (size_t i = 0; i < sizeNewMas; i++)
   {
      cout << newMas[i] << " ";
   }
   cout << endl;
 
   delete[] newMas;
 
   system("pause");
 
   return 0;
}
Написать функцию,которая принимает массив целых чисел

Бинарник + исходник: program.7z
Yandex
Объявления
03.04.2013, 08:01     Написать функцию,которая принимает массив целых чисел
Ответ Создать тему
Опции темы

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