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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
praeses
0 / 0 / 0
Регистрация: 22.03.2010
Сообщений: 8
#1

Функции и динамические массивы. - C++

22.03.2010, 21:01. Просмотров 904. Ответов 12
Метки нет (Все метки)

Вечер добрый. Помогите пожалуйста написать 2 программы. плз (

N1
Дан одномерный массив, состоящий из 20 целых чисел. Создать другой массив, содержащий элементы исходного массива, большие его среднего арифметического значения. При написании программы использовать функции.

N2
Дана матрица 6х5. Сформировать одномерный массив из элементов матрицы, образующих упорядоченные по возрастанию фрагменты. Перегрузить написанные функции для работы с переменными различных типов (где это возможно).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2010, 21:01     Функции и динамические массивы.
Посмотрите здесь:

Динамические массивы и функции - C++
Помогите решить, пожалуйста))) На динамические массивы: 1.1 Выделить память для трехмерного массива а. Изменить индексы...

Снова динамические массивы и функции - C++
int ** A=new int*; for (int i=0;i<(NN+1);i++) A=new int; void ZZ (char *E, int **A, int *N) // преобразует строку...

Динамические массивы с передачей в функции - C++
Здравствуйте, завтра у меня обязательная контрольная работа, без права пересдачи, я переболел ветрянкой и не смог разобраться, времени не...

Шаблонные функции и динамические массивы строк - C++
Всем доброго времени суток. Я уже наверное всех достал вопросами, но опять не могу отловить ошибку сам... Задача: написать шаблонную...

Можно передавать и вызывать из функции в DLL динамические массивы? - C++
Мне нужно создать перегруженные функции удаления элемента из динамического массива с заданным ключом!Можно передавать в функцию и вызывать...

Как сделать динамические массивы вместо обычных? Используя функции - C++
Как сделать динамические массивы вместо обычных? Используя функции. Для введения одной матрицы нужна одна функция? т.е. чтобы ввести 2...

Динамические массивы - C++
Если у меня есть 2 двумерных динамических массива один х1 размерностью m*n, а другой х2 размерностью m*(n+1), то что происходит с ними...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
23.03.2010, 13:53     Функции и динамические массивы. #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
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
#include <iostream>
 
using namespace std;
 
const int LIMIT=20;
int input (int[], int);
int srednee(int[],int);
void print(int [], int);
int form ( int[], int[], int, int, int);
 
int main ()
{
    int a[LIMIT]={0},b[LIMIT], n, d=0;
 
    n=input(a,LIMIT);
    int sr=srednee(a,n);
    cout<<"Srednee arifmetihceskoe: "<<sr<<endl;
    
    d=form (a,b,n,d,sr);
    print (b,d);
 
    return 0;
}
int form (int a[], int b[], int n, int d, int sr)
{
    for (int i=0; i<n; i++)
    {
        if (a[i]>sr)
            b[d++]=a[i];
    }
    return d;
}
int srednee(int mas[], int r)
{
    int sum=0; int rez=0;
    for (int t=0; t<r; t++)
        sum+=mas[t];
    rez=sum/r;
    return rez;
}
int input(int mas[], int size) 
{   
    int n=0;
    do {
        cout<<"Vvedite kolichestvo elementov: ";
        cin>>n;
        } 
    while(n<1||n>size);
    cout<<"Vvedite "<<n<<" chisel: "<<endl;
    int k=0;
    while((k<n)&&(cin>>mas[k]))
        k++;
    return k;
}
void print(int mas1[], int size)
{
    for (int i=0; i<size; i++)
        cout<<mas1[i]<<" ";
    cout<<endl;
}
Можно, конечно, среднее арифметическое представить как вещественное число, но, наверное, нет смысла, так как числа в самом масиве целые, нет надобности их сравнивать с дробным
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
23.03.2010, 13:56     Функции и динамические массивы. #3
Цитата Сообщение от praeses Посмотреть сообщение
Сформировать одномерный массив из элементов матрицы, образующих упорядоченные по возрастанию фрагменты.
Непонятно задание, что за фрагменты? Приведи пример.
praeses
0 / 0 / 0
Регистрация: 22.03.2010
Сообщений: 8
23.03.2010, 14:15  [ТС]     Функции и динамические массивы. #4
NNN777 спасибо большое!

fasked, что-то сам плоховато понимаю суть. ну рассматриваю два варианта:
1) либо просто расположить все элементы матрицы по возрастанию
2) либо так: например есть фрагмент чисел 1 2 3 5 2 1 6 - в нем возрастающий фрагмент 1235 и 16, может быть такие фрагменты и надо сформировать в одномерный массив )
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
23.03.2010, 14:17     Функции и динамические массивы. #5
И тогда эти два фрагмента запихать в один массив, должно получится 123516?
praeses
0 / 0 / 0
Регистрация: 22.03.2010
Сообщений: 8
23.03.2010, 14:20  [ТС]     Функции и динамические массивы. #6
получается что так, только наверно, чтобы было понятно что это фрагменты, необходимо разделить их между собой пробелами ))
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
23.03.2010, 14:32     Функции и динамические массивы. #7
Осталось узнать, каким образом совершать обход матрицы, чтобы выцеплять эти фрагменты
praeses
0 / 0 / 0
Регистрация: 22.03.2010
Сообщений: 8
24.03.2010, 16:00  [ТС]     Функции и динамические массивы. #8
оу, да я важную часть задания не скопировал.
Дана матрица 6х5. Сформировать одномерный массив из элементов матрицы,образующих упорядоченные по возрастанию фрагменты каждой строки матрицы.

Добавлено через 35 секунд
Перегрузить написанные функции для работы с переменными различных типов (где это возможно).

Добавлено через 5 часов 47 минут
help me plz (

Добавлено через 19 часов 32 минуты
Цитата Сообщение от fasked Посмотреть сообщение
Осталось узнать, каким образом совершать обход матрицы, чтобы выцеплять эти фрагменты
ну так что, есть идеи ? буду премного признателен
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
24.03.2010, 16:20     Функции и динамические массивы. #9
А почему бы не попробовать что-то вроде такого обхода?
C++
1
2
3
4
5
for (int j=0; j<5; j++)//проход по столбцам
{
for (int i=0; i<6; i++)//проход по строкам
{if (a[i++]>a[i])
b[k++]=a[i];}
praeses
0 / 0 / 0
Регистрация: 22.03.2010
Сообщений: 8
25.03.2010, 00:15  [ТС]     Функции и динамические массивы. #10
что за массивы a и b ))

можешь написать вторую программу ?(( уже 3ий день сижу, все пытаюсь разбираться, но туго доходят функции и перегрузка их (((

Добавлено через 7 часов 34 минуты
Цитата Сообщение от NNN777 Посмотреть сообщение
А почему бы не попробовать что-то вроде такого обхода?
C++
1
2
3
4
5
for (int j=0; j<5; j++)//проход по столбцам
{
for (int i=0; i<6; i++)//проход по строкам
{if (a[i++]>a[i])
b[k++]=a[i];}
уважаемый, не могли бы вы написать программу эту, или хотя бы набросочки . я буду очень сильно признателен (
siger
13 / 13 / 1
Регистрация: 27.02.2010
Сообщений: 46
25.03.2010, 04:24     Функции и динамические массивы. #11
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
char function(char *A, char *B) {
int i,j,k,n,l;
k = n = j = 0;
for(i = 0; i < 6 * 5 - 1; i++) {
   if( a[i + 1] > a[i] || n < 6)
    k++;
   else
   {
     for(l = 0; l < k; l++) {
       B[j] = A[i - k]; k--; j++;
    }
    n++;
    if( n > 6) n = 0;
}
 
return B; //Не уверен, в падлу думать
}
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
25.03.2010, 10:33     Функции и динамические массивы. #12
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
#include <iostream>
#include <cstdlib>
using namespace std;
 
int main() 
{
    int k=0;
    int b[31]={0};
    int a[5][6]={{1,2,1,2,1,2},{4,5,8,4,2,1},{7,8,4,5,6,1},{4,5,6,1,7,6},{5,6,7,8,2,1}}; // Входные данные
  
    for(int i=0; i<5; i++)
    {
        for (int j=0; j<6; j++)
            cout<<a[i][j]<<" ";cout<<endl;
    }   
    for (int i=0; i<5; i++)//проход по строкам
    {
        for (int j=0; j<6;j++)//проход по столбцам
        {
            if (a[i][j]>a[i][j-1])
                b[k++]=a[i][j];
            else 
            {
                if ((a[i][j+1]>a[i][j])&&(j!=5)) 
                    b[k++]=a[i][j];
            }
        }
    }
    cout<<"Rezultat: "<<endl;
    for (int i=0; i<k; i++)
        cout<<b[i]<<" ";cout<<endl;
}
Вот вроде работает, но нужно протестировать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2010, 18:23     Функции и динамические массивы.
Еще ссылки по теме:

Динамические массивы - C++
Сдраствуйте надо написать програму на тему Динамические массивы Написать программу, использованием динамических массивов, вводя размер...

Динамические массивы - C++
Попытался поработать с дин. массивами, почему то ошибка появляется,может подскажете в чем проблема #include &quot;iostream&quot; using...

Динамические массивы - C++
int memory=MAX_PATH; char* htmlBuff =(char*) malloc(memory * sizeof(char)); for (int i=0 ; i&lt;260 ; i++) htmlBuff='1'; ...

Динамические массивы - C++
1. Заданы два массива А(N) и В(M). Подсчитать в них количество отрицательных элементов и первым на печать вывести массив, имеющий...

Динамические массивы - C++
1. Сформировать динамический одномерный массив, заполнить его случайными числами и вывести на печать 2. Выполнить указанное в варианте...


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

Или воспользуйтесь поиском по форуму:
praeses
0 / 0 / 0
Регистрация: 22.03.2010
Сообщений: 8
25.03.2010, 18:23  [ТС]     Функции и динамические массивы. #13
гигантское спасибо ))
Yandex
Объявления
25.03.2010, 18:23     Функции и динамические массивы.
Ответ Создать тему
Опции темы

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