|
|
|
не компонуется программа
|
|||
|---|---|---|---|
|
#18+
Привет Не подскажите почему программу на С++ не скомпоновать? компилируется без ошибок // Даны вещественные массивы c[3][4], d[3][4]. // Для каждого массива определить среднее арифметическое // положительных элементов массива и минимальный элемент. // В программе предусмотреть функции: // - ввода массивов с клавиатуры; // - расчета (среднее арифметическое и минимальный элемент // расчитываются в одной функции); // - вывода исходных массивов и результатов поиска // функция) #include <iostream.h> #define I 3 #define J 4 // прототипы функций void inputmas(float [J], char); void raschet(float [J], float& , float& ); void printmas(float [J], char); void printrez(float [J], char, float, float); void main() { float c[J], d[J], sredc, sredd, minc, mind; inputmas(c,'c'); // вызовы функций inputmas(d,'d'); raschet(c,sredc,minc); // новый вызов функции printrez(c,'c',sredc,minc); raschet(d, sredd, mind); // новый вызов функции printrez(d,'d',sredd,mind); } // определение функции ввода массива void inputmas(float m[J], char im) { int i,j; cout << "\\nВводим массив " << im << "\\n"; for (i=0; i<I; i++) for ( j=0; j < J; j++) { cout << im << " [" << i << " ][ " << j << " ] = "; cin >> m[j]; } } // определение функции расчета среднего арифметического // положительных элементов массива и поиска минимального // элемента массива // новый текст функции void raschet (float x[J], float &sum, float &kol, float &min) { //меняем список //параметров // объявление переменных int i,j; sum=0.0; // для расчета суммы отрицательных эл-тов kol = 0; // для расчета количества отрицательных эл-тов min = x[0][0]; // первоначально в качестве минимального // принимаем элемент x[0][0], его значение // заносим по адресу, хранящемуся в min for (i=0; i<I; i++) for ( j=0; j < J; j++) { if (x[j] < min ) min = x [j]; if (x[j] < 0) sum += x[j]; //считаем сумму отрицательных элементов if(x[j] >=-5 && x[j] <=5) kol ++; //кол-во элементов в интервале -5; 5 } } // определение функции вывода массива на экран void printmas(float x[J], char immas) { int i,j; cout.setf( ios::showpoint | ios::fixed); cout << "\\nМассив " << immas ; for (i=0; i<I; i++) { cout << "\\n"; for(j=0; j<J; j++) { cout.width(8); // минимальное кол-во позиций cout.precision(2); // 2 знака после запятой cout << x[j]; } } } // определение функции вывода void printrez(float x[J], char immas, float sred, float min) { printmas(x,immas); // вызываем функции вывода массива cout << "\\n\\nСреднее арифм. положительных элементов равно " << sred; cout << "\\nМинимальный элемент в массиве = " << min; } Выдает: Linker Error: Undefined symbol raschet(float[4]near*,float near&,float near&) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2007, 16:46 |
|
||
|
не компонуется программа
|
|||
|---|---|---|---|
|
#18+
У вас прототип функции не совпадает с определением. Сравните: void raschet(float [J], float& , float& ); void raschet (float x[J], float &sum, float &kol, float &min) { // ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2007, 17:12 |
|
||
|
не компонуется программа
|
|||
|---|---|---|---|
|
#18+
я так понял что в начале функция raschet с тремя параметрами, а ниже она уже с 4-мя описывается - количество параметров не совпадает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2007, 17:29 |
|
||
|
не компонуется программа
|
|||
|---|---|---|---|
|
#18+
Должно быть так: // Даны вещественные массивы c[3][4], d[3][4]. // Для каждого массива определить среднее арифметическое // положительных элементов массива и минимальный элемент. // В программе предусмотреть функции: // - ввода массивов с клавиатуры; // - расчета (среднее арифметическое и минимальный элемент // расчитываются в одной функции); // - вывода исходных массивов и результатов поиска // функция) #include <iostream.h> #define I 3 #define J 4 // прототипы функций void inputmas(float [J], char); void raschet (float x[J], float &sum, float &kol, float &min); void printmas(float [J], char); void printrez(float x[J], char immas, float sum, float kol, float min); void main() { float c[J], d[J], minc, mind,sumc,sumd,kolc,kold; inputmas(c,'c'); // вызовы функций inputmas(d,'d'); raschet(c,sumc,kolc,minc); // новый вызов функции printrez(c,'c',sumd,kold,minc); raschet(d,sumd,kold, mind); // новый вызов функции printrez(d,'d',sumd,kold,mind); } // определение функции ввода массива void inputmas(float m[J], char im) { int i,j; cout << "\\nВводим массив " << im << "\\n"; for (i=0; i<I; i++) for ( j=0; j < J; j++) { cout << im << " [" << i << " ][ " << j << " ] = "; cin >> m[j]; } } // определение функции расчета среднего арифметического // положительных элементов массива и поиска минимального // элемента массива // новый текст функции void raschet (float x[J], float &sum, float &kol, float &min) { //меняем список //параметров // объявление переменных int i,j; sum=0.0; // для расчета суммы отрицательных эл-тов kol = 0; // для расчета количества отрицательных эл-тов min = x[0][0]; // первоначально в качестве минимального // принимаем элемент x[0][0], его значение // заносим по адресу, хранящемуся в min for (i=0; i<I; i++) for ( j=0; j < J; j++) { if (x[j] < min ) min = x [j]; if (x[j] < 0) sum += x[j]; //считаем сумму отрицательных элементов if(x[j] >=-5 && x[j] <=5) kol ++; //кол-во элементов в интервале -5; 5 } } // определение функции вывода массива на экран void printmas(float x[J], char immas) { int i,j; cout.setf( ios::showpoint | ios::fixed); cout << "\\nМассив " << immas ; for (i=0; i<I; i++) { cout << "\\n"; for(j=0; j<J; j++) { cout.width(8); // минимальное кол-во позиций cout.precision(2); // 2 знака после запятой cout << x[j]; } } } // определение функции вывода void printrez(float x[J], char immas, float sum, float kol, float min) { printmas(x,immas); // вызываем функции вывода массива cout << "\n\nsumma положительных элементов равно " << sum; cout << "\nkol-vo="<<kol; cout << "\nМинимальный элемент в массиве = " << min; } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2007, 18:07 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34238718&tid=2029720]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
642ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 960ms |

| 0 / 0 |
