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

Передача динамического массива в функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсчитать количество слов,начинающихся с указанной буквы http://www.cyberforum.ru/cpp-beginners/thread858159.html
Ребят,помогите пожалуиста. вот ,есть задачка: Дан текст произвольной длины,оканчивающийся точкой.текст состоит из слов,разделенных пробелами.Подсчитать количество слов,начинающихся с указанной буквы; Я программку написала,он считает слова,а главного условия,т.е счичать не все слова,а именно,с указанной буквы,не считает вот сама прога: #include <stdio.h> #include<string.h> enum{OUT,IN};...
C++ Найти максимальное и минимальное значение функции Просьба решить задачку, так как я сам ни бум бум...=( А через пару недель нужно перездать зачет. Очень прошу помочь!! Составить таблицу значений заданной функции. Найти максимальное и минимальное значение функции, соответствующие им значения аргументов для каждого значения параметра. Шаг изменения аргумента и параметра студент выбирает самостоятельно так, чтобы число значений параметров было... http://www.cyberforum.ru/cpp-beginners/thread858154.html
Реализация семафоров C++
Возможно ли реализовать семафоры вручную или же для этого нужна обязательная поддержка процессора?
Как распарсить строку и положить данные в элементы структуры C++
Здравствуйте! Интересует следующий вопрос. У нас есть есть строка. Например, ab|ac|ad|ae|af|ag|ah. И есть структура -> struct table { string ab, ac, ad, ae, af, ag, ah; }; Задача состоит в том, чтобы из строки вытащить значения, какими являются ab, ac, .., ah. Я написал кусок кода, который вытаскивает эти значения. Но т.к. это дело происходит в цикле, я не могу на каждом шаге записать...
C++ структуры с указателями http://www.cyberforum.ru/cpp-beginners/thread858135.html
Ребят, не могу понять как сделать 2 структуры вместе, при этом я могу что то в них поменять, например, как здесь # include <iostream> # define N 10 using namespace std; struct computer { char firma ; char CPU ; int kolvo;
C++ Для заданных значений аргумента Х вычислить значения суммы S и функции Y или Z. Вычисление S произвести с точностью E Составить программы в среде Dev -C++ 1. Для заданных значений аргумента Х вычислить значения суммы S и функции Y или Z. Вычисление S произвести с точностью E. подробнее

Показать сообщение отдельно
Харек
1 / 1 / 0
Регистрация: 13.04.2013
Сообщений: 20

Передача динамического массива в функции - C++

07.05.2013, 11:48. Просмотров 659. Ответов 10
Метки (Все метки)

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
#include <iostream>
#include <cstdlib>
using namespace std;
 
/*const*/ int k=3;
//void sum (int mas[k][k]);
void sum (int * arr[], int k, int t);
//void max(int matrix[k][k]);
void max(int * arr[] ,int g, int r);
 
int main(){
 /*       int arr[k][k];*/
 cout << "Vvedi razmernost' massiva \n";
cin >> k;
 
int* * arr= new int*[k]; //Г§Г*âåëè äèГ*Г*ìè÷åñêèé Г¬Г*Г±Г±ГЁГў
for (int i=0; i<=k; i++)
{
    arr[i]=new int[k];
}
 
        int i, j;
 
        for ( i = 0; i < k; i++ ){
                for ( j = 0; j < k; j++ ){
                        cout<< "arr[" << i << "]["<<j<<"] = ";
                        cin >> arr[i][j];// Г§Г*ïîëГ*åëè Г¬Г*Г±Г±ГЁГў
                }
        }
 
        cout <<"\n";
        for ( j = 0; j < k; j++ ){
            cout <<"\n";
        for ( i = 0; i < k; i++ )
        cout<< arr[i][j] << "      ";
        }
        cout <<"\n Summa elementov v teh stolbtsax,kotorye ne soderjat otricatelnyh elementov:";
        sum(arr,k,k);
        cout <<"\n Minimum sredi summ elementov diagonalej,parallelnyh pobochnoy diagonali matricy: ";
        max(arr,k,k);
      fflush(stdin);
      char c=getchar();
        return 0;
     //   system("PAUSE");
        delete [] arr;
    //return EXIT_SUCCESS;
}
 
void sum (int * mas[],int k, int t)
{
        int i,j,a,sum,n;
        for (i=0;i<k;i++)
        { 
                a=0;
                sum=-1;
                for (j=0;j<k;j++) {
                if (mas[i][j]<0) a++;
                }
                if (a==0)
                        { 
                        sum=0;
                        for (n=0;n<k;n++){
                        sum+=mas[i][n];
                        }
                        cout << "\n stolbets "<< i << " =  " << sum << "\n"; 
                }
        } 
        if (sum==-1) 
          {
              cout<< " net takix stolbtsov";
        }
}
int sumDiagonal (int matrix,int y, int currentDiagonal)
{
    int sum = 0;
    if(currentDiagonal < k)
        for(int i = -1; i != currentDiagonal; ++i)
            sum += abs(matrix[currentDiagonal - i - 1][i + 1]);
    else
        for(int i = currentDiagonal - k + 1, j = k; i < k; ++i)
            sum += abs(matrix[--j][i]);
    return sum;
}
void max(int * matrix[],int c, int r)
{
        int min = sumDiagonal(matrix, 0);
        for(int i = 1, cnt; i < k + k - 1; ++i)
        {
                cnt = sumDiagonal(matrix, k, i);
                if(cnt < min)
                        min = cnt;
        }
        cout <<  min;
}

А вопрос такой
Динамически массив отсюда
C++
1
2
3
4
5
6
7
8
9
10
11
void max(int * matrix[],int c, int r)
{
        int min = sumDiagonal(matrix, 0);
        for(int i = 1, cnt; i < k + k - 1; ++i)
        {
                cnt = sumDiagonal(matrix, k, i);
                if(cnt < min)
                        min = cnt;
        }
        cout <<  min;
}
Нужно передать в эту функцию
C++
1
2
3
4
5
6
7
8
9
10
11
int sumDiagonal (int matrix[],int y, int currentDiagonal)
{
    int sum = 0;
    if(currentDiagonal < k)
        for(int i = -1; i != currentDiagonal; ++i)
            sum += abs(matrix[currentDiagonal - i - 1][i + 1]);
    else
        for(int i = currentDiagonal - k + 1, j = k; i < k; ++i)
            sum += abs(matrix[--j][i]);
    return sum;
}
КАК? Что неправильно?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru