Помогите Исправить Программку Чтобы Она Работала

Тема в разделе "C/C++/C#", создана пользователем victory, 9 дек 2014.

  1. victory

    victory New Member

    Регистрация:
    4 ноя 2014
    Сообщения:
    4
    Симпатии:
    0
    #include<iostream>
    #include<stdio.h>
    #include<math.h>
    #include<conio.h>

    using namespace std;

    double sum(double **a,int n,int m)
    {
    double sum=0.0;
    for(int i=0;i<m;i++)
    {
    sum+=a[n];
    }
    return sum;
    }
    int main()
    {;
    int n,m;
    cin>>n>>m;
    double **a;
    a=new double*[10];
    for(int i=0;i<n;i++)
    for(int j=0;j<m;j++)
    {
    cin>>a[j];
    }
    double min=sum(a,n,m);
    for(int i=1;i<n;i++)
    {
    for(int j=1;j<m;j++)
    if(min>sum(a,i,m))
    {
    min=sum(a,i,m);
    }
    cout<<"min="<<endl;
    _getch();
    return 0;
    }







    }
    При компиляции ошибок нет(у меня).Но не работает. ^_^
    Заранее спасибо.
     
  2. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    Есть ошибки.
    Вы создаёте двумерный массив,для него нужно выделять память дважды.
    Если вам интересно я могу рассказать подробнее.

    Ещё вы запрашиваете размерность массива(как я понял) n и m,а выделяете память под 10 элементов.

    Для того чтобы лучше понять,что должен делать код пишите задание.
     
  3. victory

    victory New Member

    Регистрация:
    4 ноя 2014
    Сообщения:
    4
    Симпатии:
    0
    Хочу,в смысле чтобы объяснили подробнее. ^_^
    Вот задание:
    Описать функцию , которая вычисляет сумму элементов k - го столбца действительной матрицы A = ( a[sub]ij[/sub] ) [sub]mn[/sub] размером m на n . Для данной действительной матрицы A размером m на n , используя функцию суммирования элементов столбца матрицы , найти номер столбца с минимальной суммой элементов .
     
  4. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    Код (C++):
    //для чего были другие библиотеки подключен????
    #include<iostream>
    using namespace std;

    double Sum(double **A, int N, int K)//N - строк , K - номер столбца,в которм хотим вычислять
    {
    double sum = 0.0;
    for (int i = 0; i < N; i++)
    sum += A[i][K];
    return sum;
    }

    void main()
    {
    int N, M;
    cout << "Put N and M:";
    cin >> N >> M;
    // тут всё понятно,считываем размерность в наши переменные.
    //важно понимать,что матрица NнаM обычно подразумевает N строк и M столбцов

    double **A; // создаём указатель на указатель вещественного типа.

    A = new double* [N];//Выделяем память под массив указателей
    /*
    для одномерного массива:
    int *Mas = new int [size]; - значит выделяем size ячеек в памяти размерности int.
    рисунок:
    [ int ]
    [ int ]
    [ int ]
    [ int ]
    ...
    [ int ]
    size - штук
    каждая ячейка фиксированной длины

    у нас:
    N ячеек,но каждая ячейка - это одномерный массив
    [double*]
    [double*]
    ...
    [double*]
    N - штук
    размер каждой ячейки компилятор не знает,мы должны это задать
    */

    for (int i = 0; i < N; i++)
    {
    A[i] = new double[M]; // теперь каждая наша ячейка - это M ячеек фиксированной длины - double
    /*
    [[double] [double] ... [double]] - M штук(столбцов в каждой строке)
    [[double] [double] ... [double]]
    ...      ...  ...   ...
    [[double] [double] ... [double]]
    N -штук (строк в каждом столбце)
    */


    for (int j = 0; j < M; j++)
    {
    cout << "Put [" << i << "][" << j << "] element:";
    cin >> A[i][j];
    }

    }
    //Индексация в массивах с 0!!


    double min = 0;//нам нужен индекс,а не само значение.
    for (int i = 1; i < M; i++) // ицкл по каждому столбцу
    {
    if (Sum(A, N, min) > Sum(A, N, i))
    min = i;
    }

    for (int i = 0; i < N; i++)
    {
    cout << "\n";
    for (int j = 0; j < M; j++)
    cout << A[i][j] << "\t";
    }

    cout << "\n Index of row with min sum = " << min << endl;
    }
    //
     
Загрузка...
Похожие Темы - Помогите Исправить Программку
  1. Rpp
    Ответов:
    1
    Просмотров:
    809
  2. victory
    Ответов:
    0
    Просмотров:
    963
  3. victory
    Ответов:
    0
    Просмотров:
    789
  4. victory
    Ответов:
    3
    Просмотров:
    1.327
  5. Nintendo1994
    Ответов:
    1
    Просмотров:
    840

Поделиться этой страницей