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

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

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

Что за ошибка ? - C++

22.11.2013, 20:22. Просмотров 271. Ответов 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
#include"stdafx.h"
#include<iostream>
#include<iomanip>
#include<fstream>
#include<math.h>
using namespace std;
void read_matr(double Y[4][4]){
ifstream f("c://yes.txt");
for(int i=0; i<4; i++){
for(int j=0; j<4; j++){
f>>Y[i][j];}
 }
 f.close();}
void print_matr(double Y[4][4]){   //печатьматрицывконсоль
 cout<<"matrica:"<<endl;
for(int i=0; i<4; i++){
for(int j=0; j<4; j++){
cout<<setw(10)<<Y[i][j];}
 cout<<endl;}
 }
void print_values(char*str, double v){ // выводвфайлполученныхданных //(дляпунктов 1-4, 6)
fstream f1;
f1.open("values.xls", ios::app);
f1<<str<<"\t"<<v<<endl;
f1.close();
}
void print_matr_file(char*f_name, double Y[4][4]){// выводматрицыв //файлсименем f_name
ofstream f2(f_name);
for(int i=0; i<4; i++){
for(int j=0; j<4; j++){
f2<<Y[i][j]<<"\t";
}
f2<<endl;
}
f2.close();
f2.clear();}
 
double function1(double Y[4][4]){
double s=0;
for (int i = 0; i < 4; i++)
{s+=Y[i][i];
}
print_values("1)\tсумма элементов главной диагонали = ",s);
return s;
}
void function2(double Y[4][4]){
double max=-1000;int j_max;
for(int j=0; j<4; j++)
{
if(Y[2][j]>max){
max=Y[2][j];
j_max=j;}}
print_values("2)\tнаибольшийэлемент 3 строки = ",max);
print_values("\tномерстолбца = ",j_max+1);
cout<<" max = "<<max;
cout<<"; nomer stolbca = "<<j_max+1<<endl;
}
void function3(double Y[4][4], double ss){
int j_max;
Y[2][j_max]=ss;
print_matr(Y);
print_matr_file("3zadanie.xls",Y);
}
 
 
 
int main(){
double A[4][4];
 read_matr(A);
 cout<<"ishodnaja matrica:"<<endl;
 print_matr(A);
cout<<"vipolnenie:"<<endl;
// 1 - нахождение суммы всех элементов в матрице
double s1=function1(A);
cout<<"1) summa glavnoy diagomali = "<<s1<<endl;
// 2 - наибольший элемент вглавной диагонали
cout<<"2) naibolshii element v 3 stroke:"<<endl;
function2(A);
// 3 - поменять А[3][j_max] на s1
cout<<"3) pomenjat A[3][j_max] na s1"<<endl;
function3(A, s1);
return 0;
 }
Спасибо
Миниатюры
Что за ошибка ?  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2013, 20:22     Что за ошибка ?
Посмотрите здесь:

Что за ошибка? - C++
Доброго времени суток! Передо мной стоит ужасающая, но вместе с тем и потрясающая задача: за неделю освоить базы, основы плюсов....

Что за ошибка - C++
Добрый день... Пишу программку считывания изображения из .dcm формата... В первый раз использую чужие библиотеки... Решил протестить их...

что за ошибка??? - C++
#include &lt;iostream&gt; #include &lt;time.h&gt; #include &lt;windows.h&gt; #include &lt;math.h&gt; #include &lt;D:\\alex\\head-files\\mathem.h&gt; #include...

что за ошибка? - C++
error trk0002: файл: tracker

что за ошибка - C++
&quot;новичек&quot; что за ошибка? #include&lt;iostream&gt; using namespace std; int main() { //параметры уравнения double a,b; ...

Что за ошибка? - C++
Люди помогите разобраться что я делаю не так. Ниже принтскрин. Массив lot содержит символы &quot;0.2&quot;

что за ошибка? - C++
вот програма #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using std::cout; using std::endl; class GradeBook { public: void...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
hwmlex
41 / 41 / 3
Регистрация: 30.01.2013
Сообщений: 133
22.11.2013, 20:24     Что за ошибка ? #2
Переменная j_max у вас не инициализирована.
Nastena05
0 / 0 / 0
Регистрация: 22.11.2013
Сообщений: 2
22.11.2013, 20:25     Что за ошибка ? #3
в первой строчке ошибка?
LuxArt
33 / 20 / 2
Регистрация: 14.11.2013
Сообщений: 85
22.11.2013, 20:26     Что за ошибка ? #4
переменнаяj_maxиспользуетсябезинициализации)
hwmlex
41 / 41 / 3
Регистрация: 30.01.2013
Сообщений: 133
22.11.2013, 20:30     Что за ошибка ? #5
Строки 53 - 55 и функцию function3 посмотрите.
rafael999
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 148
22.11.2013, 20:32  [ТС]     Что за ошибка ? #6
как это исправить, просто у меня j_max считается в void function 2 , а в void function 3 я должен ее a[2][j_max] поменять на найденное в void function 1 s.
При такой программе пишет error C2065: 'j_max' : undeclared identifier , а так если написать а[2][3] все правильно считает .
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
#include"stdafx.h"
#include<iostream>
#include<iomanip>
#include<fstream>
#include<math.h>
using namespace std;
void read_matr(double Y[4][4]){
ifstream f("c://yes.txt");
for(int i=0; i<4; i++){
for(int j=0; j<4; j++){
f>>Y[i][j];}
 }
 f.close();}
void print_matr(double Y[4][4]){   //печатьматрицывконсоль
 cout<<"matrica:"<<endl;
for(int i=0; i<4; i++){
for(int j=0; j<4; j++){
cout<<setw(10)<<Y[i][j];}
 cout<<endl;}
 }
void print_values(char*str, double v){ // выводвфайлполученныхданных //(дляпунктов 1-4, 6)
fstream f1;
f1.open("values.xls", ios::app);
f1<<str<<"\t"<<v<<endl;
f1.close();
}
void print_matr_file(char*f_name, double Y[4][4]){// выводматрицыв //файлсименем f_name
ofstream f2(f_name);
for(int i=0; i<4; i++){
for(int j=0; j<4; j++){
f2<<Y[i][j]<<"\t";
}
f2<<endl;
}
f2.close();
f2.clear();}
 
double function1(double Y[4][4]){
double s=0;
for (int i = 0; i < 4; i++)
{s+=Y[i][i];
}
print_values("1)\tсумма элементов главной диагонали = ",s);
return s;
}
void function2(double Y[4][4]){
double max=-1000; int j_max;
for(int j=0; j<4; j++)
{
if(Y[2][j]>max){
max=Y[2][j];
j_max=j;}}
print_values("2)\tнаибольшийэлемент 3 строки = ",max);
print_values("\tномерстолбца = ",j_max+1);
cout<<" max = "<<max;
cout<<"; nomer stolbca = "<<j_max+1<<endl;
}
void function3(double Y[4][4], double ss){
Y[2][j_max]=ss;
print_matr(Y);
print_matr_file("3zadanie.xls",Y);
}
 
 
 
int main(){
double A[4][4];
 read_matr(A);
 cout<<"ishodnaja matrica:"<<endl;
 print_matr(A);
cout<<"vipolnenie:"<<endl;
// 1 - нахождение суммы всех элементов в матрице
double s1=function1(A);
cout<<"1) summa glavnoy diagomali = "<<s1<<endl;
// 2 - наибольший элемент вглавной диагонали
cout<<"2) naibolshii element v 3 stroke:"<<endl;
function2(A);
// 3 - поменять А[3][j_max] на s1
cout<<"3) pomenjat A[3][j_max] na s1"<<endl;
function3(A, s1);
return 0;
 }
LuxArt
33 / 20 / 2
Регистрация: 14.11.2013
Сообщений: 85
22.11.2013, 20:36     Что за ошибка ? #7
Цитата Сообщение от rafael999 Посмотреть сообщение
как это исправить
Надо переменной j_max присвоить любое число

Добавлено через 27 секунд
C++
1
j_max = 0;
rafael999
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 148
22.11.2013, 20:45  [ТС]     Что за ошибка ? #8
Это перед какой функцией?
Цитата Сообщение от LuxArt Посмотреть сообщение
как это исправить
Добавлено через 3 минуты
Цитата Сообщение от LuxArt Посмотреть сообщение
Надо переменной j_max присвоить любое число
это перед какой функцией?
LuxArt
33 / 20 / 2
Регистрация: 14.11.2013
Сообщений: 85
22.11.2013, 20:48     Что за ошибка ? #9
rafael999, самый простой вариант это сделать эту переменную глобальной.
Написать в самом вверху программы int j_max = 0;
А в других местах поудалять j_max

Добавлено через 53 секунды
Потому что эта переменная используется в разных функциях
rafael999
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 148
22.11.2013, 20:49  [ТС]     Что за ошибка ? #10
О вот, спасибо огромное!!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2013, 20:51     Что за ошибка ?
Еще ссылки по теме:

Что за ошибка ?! - C++
Не могу понять почему не компилится проект?!

Что за ошибка??? - C++
помогите доделать код #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;cmath&gt; #include &lt;ctime&gt; #include &lt;algorithm&gt; using...

что за ошибка? - C++
вот прога#include&lt;iostream.h&gt; main() { int i; struct str { char *fn; int cl; int sc; }; str st;

что за ошибка? - C++
1&gt;mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file &quot;..\Debug\123.exe&quot;. @&gt;F5AA =5 &lt;&gt;65B...

Что за ошибка? - C++
Вроде все правильно #include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include&lt;math.h&gt; #include&lt;conio.h&gt; using namespace std; ...


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

Или воспользуйтесь поиском по форуму:
LuxArt
33 / 20 / 2
Регистрация: 14.11.2013
Сообщений: 85
22.11.2013, 20:51     Что за ошибка ? #11
Цитата Сообщение от rafael999 Посмотреть сообщение
О вот, спасибо огромное!!!!
Смотри админы забанять за мат
Yandex
Объявления
22.11.2013, 20:51     Что за ошибка ?
Ответ Создать тему
Опции темы

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