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

Работа с функциями - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сокращение кода http://www.cyberforum.ru/cpp-beginners/thread723905.html
Есть задача: Я решил таким способом: #include <fstream> int N,i,x,t,k,j,*G; main() { std::fstream I("input.txt"), O("output.txt", 2);
C++ Вызов функции. Перенос переменной Run-Time Check Failure #2 - Stack around the variable 'menu' was corrupted. Уже 2 часа не могу понять, почему эта ошибка... Помогите пожалуйста) Заранее спасибо) #include <iostream> #include <fstream> //files out or in libraries. using namespace std; int optmenu(char *menu) { cout << "Please select one of the following options:\n" << endl; http://www.cyberforum.ru/cpp-beginners/thread723896.html
C++ Структуры (вычислить самое распространенное женское имя)
Доброго времени суток! Не могу понять почему у меня строка не копируется. Решил заранее проверить вывод на экран. Вобще необходимо из введенной с клавиатуры информации вычислить самое распространенное женское имя, ну и вывести всю имеющуюся информацию на экран. Помогите разобрать, пожалуйста..... Вот фрагмент кода: //Самое распространенное женское имя #include<iostream> #include<conio.h>...
Переведено с Pascal на C++ (проверить) C++
Привет всем! Перевела программу с Pascal на C++...Но работает не так...дальше не знаю что делать) Помогите пожалуйста,если не трудно :-) Вот программа: #include <iostream.h> #include <conio.h> #include <stdio.h> #include <math.h> #include <stdlib.h> #include <time.h> #include <ctime>
C++ Запись массива в файл http://www.cyberforum.ru/cpp-beginners/thread723843.html
Здравствуйте. Помогите найти ошибку в программе. С клавиатуры вводится предложение, программа считает сколько слов начинается с одинакового символа, вывод результат на экран и записывает результат в файл. На экране выводит всё верно, а в файл записывает белиберду ("kolvo clov c { = -858993460") Заранее благодарю. #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <conio.h>...
C++ числовые ряды в С++ Как записать данный ряд: pi=3+4((1/2*3*4)-(1/4*5*6)+(1/6*7*8)-......) в С++? подробнее

Показать сообщение отдельно
Gazovik7
1 / 1 / 0
Регистрация: 04.12.2012
Сообщений: 27
08.12.2012, 20:37  [ТС]     Работа с функциями
Цитата Сообщение от Nixy Посмотреть сообщение
у вас не совподает объявление функции sum и ее заголовок во время описания снизу, и ошибка линкера, он собрал объектный фаил с одним описанием функции а потом находит, а там другая, если не поможет пришлите код я гляну, и да для "спасибо" тут кнопка есть )
всё равно не получается, пытался делать по этому примеру:
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
#include<iostream.h>
#include<iomanip.h>
int sum(int **a,const int n,const int m);
int matr(int **a,const int n,const int m);  // obyavlenie funcsii
int main()
{
    int n,m;
    cout<<"\nVvedite kol.strok-n i kol.stolb-m\n";
    cin>>n>>m;
    cout<<"n="<<n<<"  "<<"m="<<m;
    int **a,i,j;
    
 
    // Формирование матрицы А
    cout<<"\nVvedite matrisu A\n";
    a=new int *[n];
    for (i=0; i<n; i++)
          a[i]= new int [m];
    for(i=0; i<n; i++)
        for(j=0; j<m; j++)
            cin>>a[i][j];
        cout<<"sum="<<sum(a,n,m)<<"\n";
        cout<<matr(a,n,m);
        return 0;
}
 
 
 
 
int sum(int **a,const int n,const int m)
{ // opredelenie funcsii  -  sum
    int i,j,s=0;
for(i=0; i<n; i++)
        for(j=0; j<m; j++)
            s+=a[i][j];
        return s;
}
int matr(int **a,const int n,const int m)
{ // opredelenie funcsii  -  //печать матрицы
          int i,j;
          for(i=0; i<n; i++){
        for(j=0; j<m; j++)
            cout<<setw(4)<<a[i][j]<<"   ";
        cout<<endl;}
        return (**a);
}
не знаю, что делать с задачей здесь:
ещё раз сама задача:
Даны три квадратные матрицы A, B, C.
Найти длину вектора X={x1, x2, x3}, где x1 – сумма элементов матрицы A; x2 – сумма элементов матрицы B; x3 – сумма элементов матрицы C. Вычислить сумму элементов матрицы оформить в виде подпрограммы – функции.
Исходные данные:
матрица A 2x2

матрица В 3х3
матрица С 2х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
#include <iostream.h>
#include <math.h>
#include <windows.h>
int get_matrix_sum(int** matrix, int width, int height);
 
int main(int argc, char** argv)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251); // русский язык
    int** A;  //указатель на тип в С++ фактически начало массива
    int** B;  //указатель на указатель типа фактически двумерный массив
    int** C;  //поэтому А B C являются двумерными динамичкскими массивами
    int col;
    int row;
    int X[3];
    int i,j;
 
    cout<< "Введите Количество Строк массива А"<<endl ;
    cin>> row;
    A = new int*[row];   // Выделение памяти на указатели на тип int внутри которых
                         // row адресов на тип int
    cout<< "Введите Количество Cтолбцов массива А"<<endl ;
    cin>> col;
    for (i = 0; i < row; i++) {
      A[i] = new int[col];
      for (j = 0; j < col; j++) {
          cout<< "Введите " << i << " " << j << " элемент массива А " ;
          cin>> A[i][j];
      }
      cout<<endl;
    }
 
    for (i = 0; i < row; i++) {
        for (j = 0; j < col; j++) {
            cout << " " << A[i][j] << " ";
        }
    cout << endl;
    }
 
    X[0] = get_matrix_sum(A,col,row);
 
    cout<< "Введите Количество Строк массива B"<<endl ;
    cin>> row;
    B = new int*[row];
    cout<< "Введите Количество Cтолбцов массива B"<<endl ;
    cin>> col;
    for (i = 0; i < row; i++) {
      B[i] = new int[col];
      for (j = 0; j < col; j++) {
          cout<< "Введите " << i << " " << j << " элемент массива B " ;
          cin>> B[i][j];
      }
       cout<<endl;
    }
 
    for (i = 0; i < row; i++) {
        for (j = 0; j < col; j++) {
            cout << " " << B[i][j] << " ";
        }
    cout << endl;
    }
 
    X[1] = get_matrix_sum(B,col,row);
 
    cout<< "Введите Количество Строк массива C"<<endl ;
    cin>> row;
    C = new int*[row];
    cout<< "Введите Количество Cтолбцов массива C"<<endl ;
    cin>> col;
    for (i = 0; i < row; i++) {
      C[i] = new int[col];
      for (j = 0; j < col; j++) {
          cout<< "Введите " << i << " " << j << " элемент массива C ";
          cin>> C[i][j];
      }
       cout<<endl;
    }
 
    for (i = 0; i < row; i++) {
        for (j = 0; j < col; j++) {
            cout << " " << C[i][j] << " ";
        }
    cout << endl;
    }
 
    X[2] = get_matrix_sum(C,col,row);
 
    double b = X[0]*X[0]+X[1]*X[1]+X[2]*X[2];
    cout <<endl;
    for (i = 0 ; i < 3; i++) {
      cout<< " "<< X[i] << " ";
    }
    cout<< "Длина Вектора Х "<< pow(b,0.5)<<endl;
    system("pause");
    return 0;
}
Выходит ошибка при нажатии Ctrl+F7 (у меня Microsoft Visual C++):
--------------------Configuration: Cpp1 - Win32 Debug--------------------
Linking...
Cpp1.obj : error LNK2001: unresolved external symbol "int __cdecl get_matrix_sum(int * *,int,int)" (?get_matrix_sum@@YAHPAPAHHH@Z)
Debug/Cpp1.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

Cpp1.exe - 2 error(s), 0 warning(s)

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