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

Переделать в динамический массив - C++

Восстановить пароль Регистрация
 
Ruslan737
 Аватар для Ruslan737
1 / 1 / 0
Регистрация: 02.02.2012
Сообщений: 33
16.04.2012, 09:55     Переделать в динамический массив #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
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
#include <cstdlib>
#include <iostream>
#include <time.h>
#include <cmath>
 
using namespace std;
 
//Инициализация массива
void arrInit(int* arr, int size){
    for(int i = 0; i < size; i++){
        *arr = rand()%19-9;
        arr++;
    }
    return;
}
 
// Проверка является ли число простым
bool simpleCheck(int x){
    bool flag = true;
    for(int i = 2; i < x-1; i++){
        if(x % i == 0){
            flag = false;
            break;
        }
    }
    return flag;
}
 
// Подсчёт среднего
double arrAverage(int* arr, int size){
    int summ = 0;
    double avg = 0;
    for(int i = 0; i < size; i++){
        if(simpleCheck(*arr))
            break;
        summ += *arr;
        avg = summ/(i+1.0);
        arr++;
    }
    return avg;
}
 
int main(int argc, char* argv[]){
    srand((unsigned)time(0));
    int size1 = 4, size2 = 6;
    int* arr1 = new int[size1];
    int* arr2 = new int[size2];
    // Инициализация массивов случайными значениями
    arrInit(arr1, size1);
    arrInit(arr2, size2);
    // Вычисление размера результирующего массива
    int posCount = 0;
    for(int i = 0; i < size1; i++)
        if(arr1[i] > 0)
            posCount++;             
    for(int i = 0; i < size2; i++)
        if(arr2[i] > 0)
            posCount++;
    // Заполнение рез. массива положительными значениями из первых двух массивов
    int* resArr = new int[posCount];
    int* ptr = resArr;
    for(int i = 0; i < size1; i++)
        if(arr1[i] > 0){
            *ptr = arr1[i];
            ptr++;
        }
    for(int i = 0; i < size2; i++)
        if(arr2[i] > 0){
            *ptr = arr2[i];
            ptr++;
        }
    cout << arrAverage(resArr, posCount) << endl;
    system("pause");
    return 0;
}
задание:Из положительных значений двух целочисленных массивов различной размерно-
сти сформировать общий массив. Найти среднее арифметическое элементов, рас-
положенных в массиве до первого простого числа. Создать функции для вычисле-
ния среднего значения и определения простого числа.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2012, 09:55     Переделать в динамический массив
Посмотрите здесь:

C++ динамический массив
C++ Динамический массив
Динамический массив C++
C++ Переделать под динамический массив
Переделать статический массив в динамический C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
defer
秘密
 Аватар для defer
555 / 235 / 3
Регистрация: 29.11.2010
Сообщений: 783
16.04.2012, 10:09     Переделать в динамический массив #2
массивы и так динамические

можно написать
C++
1
2
3
4
 int size1, size2;
 
cin>>size1;
cin>>size2;
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
16.04.2012, 10:10     Переделать в динамический массив #3
Что переделывать? Тут и так массивы динамические.
panicwassano
590 / 558 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
16.04.2012, 12:23     Переделать в динамический массив #4
Цитата Сообщение от Ruslan737 Посмотреть сообщение
Помогите переделать программуМассивы должны быть динамическими.И можно её написать на начальном уровне)С++
сами спросили, сами ответили, в коде хоть разберитесь если не сами писали. Все что вам нужно тут реализовано
Ruslan737
 Аватар для Ruslan737
1 / 1 / 0
Регистрация: 02.02.2012
Сообщений: 33
17.04.2012, 02:43  [ТС]     Переделать в динамический массив #5
Понятно,спасибо)Скажите пожалуйста,почему она не работает?Я её запускаю,а она вылетает
Yandex
Объявления
17.04.2012, 02:43     Переделать в динамический массив
Ответ Создать тему
Опции темы

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