Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите пожалуйста! / 17 сообщений из 17, страница 1 из 1
19.02.2013, 19:13
    #38157936
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста!
есть задание http://iscr.ru/1361286794/ и моя программа.но она неправильно работает,не могу найти косяк
Код: plaintext
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.
97.
98.
#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define N 3
#define M 3
class Matrix
{int A[N][M];
 public:
  void input();
  void output();
  void summ();
  void number();
  void sumnonnegative ();
};
 void Matrix::input()
  {cout<<"Vvod matrici:"<<'\n';
   for(int i=0;i<N;i++)
   {for(int j=0;j<M;j++)
     cin>>A[i][j];
   }
  }
 void Matrix::output()
  {cout<<"Vivod matrici:"<<'\n';
   for(int i=0;i<N;i++)
   {for(int j=0;j<M;j++)
     {cout<<A[i][j]<<"  ";}
     cout<<'\n';
    }
   cout<<'\n';
  }
 void Matrix::summ ()
  {

    int sum ;
    for (int i=0; i!=N;i++)
	for (int j = i+1;j!=M;j++)
	    sum=sum+abs(A[i][j]);

    cout <<"\n summ = " << sum << '\n';
   }
 void Matrix::number()
 { int i,j;
  for (i=0;i<N;i++)
    for(j=0;i<M;j++)
     if (A[i][j]>=0) {
   cout <<"\nnumber = " << i << '\n';
   break;
  }
 }
 void Matrix::sumnonnegative ()
{
	int i,j,f,sum;
	for (i = 0; i < N; i++)
	{
		f = 0;
		for (j = 0; j < M; j++)
			if (A[i][j] < 0)
				f = 1;
		if (f == 0)
			for (j = 0; j < M; j++)
				sum+=A[i][j];
	}
	printf("%d", sum);
}

  void menu()
  {clrscr();
   cout<<"1-Input matrix\n";
   cout<<"2-Output matrix\n";
   cout<<"3-Summa evementov \n";
   cout<<"4-Poisk nomera\n";
   cout<<"5-Summa neotric elementov\n";
   cout<<"Esc-Exit\n";
   }
   void main()
   {clrscr();
    Matrix object;
    char punct;
    while(punct!=27)
     {menu();
      punct=getch();
      clrscr();
      switch(punct)
      {case'1':object.input();
	 getch(); break;
       case'2':object.output();
	 getch(); break;
       case'3':object.summ();
	 getch(); break;
       case'4':object.number();
	 getch(); break;
       case'5':object.sumnonnegative();
	 getch(); break;};
       };
       }

 
...
Рейтинг: 0 / 0
19.02.2013, 19:14
    #38157943
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста!
http://iscr.ru/1361286794/][IMG] http://iscr.ru/photo/mini/1361286794_ [/IMG]
...
Рейтинг: 0 / 0
19.02.2013, 19:37
    #38157976
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста!
У меня не отображается твоя картинка.
...
Рейтинг: 0 / 0
19.02.2013, 19:39
    #38157980
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста!
...
Рейтинг: 0 / 0
19.02.2013, 19:40
    #38157983
APmamont
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста!
fuzz,

Первое что бросается в глаза:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 void Matrix::summ ()
  {

    int sum ; // не проинициализированная переменная!!! - в результате будет мусор
    for (int i=0; i!=N;i++)
	for (int j = i+1;j!=M;j++)
	    sum=sum+abs(A[i][j]);

    cout <<"\n summ = " << sum << '\n';
   }



А вообще было бы неплохо понять, что именно не работает
...
Рейтинг: 0 / 0
19.02.2013, 19:44
    #38157987
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста!
Коллеги я - пас. Задание так и не смог увидеть.
...
Рейтинг: 0 / 0
19.02.2013, 19:45
    #38157988
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста!
оно перевернутое
...
Рейтинг: 0 / 0
19.02.2013, 19:50
    #38157992
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста!
Код: plaintext
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.
97.
98.
99.
100.
101.
102.
#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define N 3
#define M 3
class Matrix
{int A[N][M];
 public:
  void input();
  void output();
  void summ();
  void number();
  void sumnonnegative ();
};
 void Matrix::input()
  {cout<<"Vvod matrici:"<<'\n';
   for(int i=0;i<N;i++)
   {for(int j=0;j<M;j++)
     cin>>A[i][j];
   }
  }
 void Matrix::output()
  {cout<<"Vivod matrici:"<<'\n';
   for(int i=0;i<N;i++)
   {for(int j=0;j<M;j++)
     {cout<<A[i][j]<<"  ";}
     cout<<'\n';
    }
   cout<<'\n';
  }
 void Matrix::summ ()
  {

    int sum ;
    for (int i=0; i!=N;i++)
	for (int j = i+1;j!=M;j++)
	    sum=sum+abs(A[i][j]);

    cout <<"\n summ = " << sum << '\n';
   }
 void Matrix::number()
 { int i,j;
  for (i=0;i<N;i++)
    for(j=0;i<M;j++)
     if (A[i][j]>=0) {
   cout <<"\nnumber = " << i << '\n';
   break;
  }
 }
 void Matrix::sumnonnegative ()
{  int i,j,flag,sum;
	for( i = 0; i < N; i++ )
 {
	 flag=1;

	 for ( j = 0; j < M; j++ )
		 if (A[i][j]<0) { flag = 0; break; }
	 if (flag)

	 {
		for ( j = 0; j < M; j++ )
			sum+=A[i][j];

	 }
 }

 cout << "summa ne soderashih negative elements: " << sum << endl;
}

  void menu()
  {clrscr();
   cout<<"1-Input matrix\n";
   cout<<"2-Output matrix\n";
   cout<<"3-Summa evementov \n";
   cout<<"4-Poisk nomera\n";
   cout<<"5-Summa neotric elementov\n";
   cout<<"Esc-Exit\n";
   }
   void main()
   {clrscr();
    Matrix object;
    char punct;
    while(punct!=27)
     {menu();
      punct=getch();
      clrscr();
      switch(punct)
      {case'1':object.input();
	 getch(); break;
       case'2':object.output();
	 getch(); break;
       case'3':object.summ();
	 getch(); break;
       case'4':object.number();
	 getch(); break;
       case'5':object.sumnonnegative();
	 getch(); break;};
       };
       }

 
...
Рейтинг: 0 / 0
19.02.2013, 19:51
    #38157994
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста!
подскажите плиз файлообменник куда залить и как залить.
...
Рейтинг: 0 / 0
19.02.2013, 19:52
    #38157995
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста!
выше это я переписал немного код
Код: plaintext
1.
2.
3.
void summ();
  void number();
  void sumnonnegative ();

ошибки в этом
...
Рейтинг: 0 / 0
19.02.2013, 19:57
    #38157998
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста!
До 100К в gif или png можно приаттачить прям в форум картинку.
Если большая по ширине - уменьши чтоб хотя-бы буквы были читабельные.
...
Рейтинг: 0 / 0
19.02.2013, 20:02
    #38158007
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста!
` int sum ; // не проинициализированная переменная!!! - в результате будет мусор ` в этом разобрался товарсчи!осталось еще две фигни.

задание "Определить класс матрица в классе предусмотреть следующие действия:
-ввод и вывод матрицы
-вычисление суммы элементов,расположенных выше главной диагонали.
-поиск номера первой из строк содержащей хотя бы один положительный элемент
-вычисление суммы элементов в тех строках которые не содержат отрицательных элементов "
...
Рейтинг: 0 / 0
19.02.2013, 20:06
    #38158014
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста!
две ошибки нашел!не могу сделать только поиск номера первой из строк
...
Рейтинг: 0 / 0
19.02.2013, 20:48
    #38158047
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста!
void Matrix::number()
{ int i,j;
for (i=1;i<N;i++)
for(j=1;j<M;j++)
if (A[i][j]>=0) {
cout <<"\nnumber = " << i << '\n';
break;
}
}
как сделать вывод первой из строк?
...
Рейтинг: 0 / 0
19.02.2013, 21:31
    #38158100
fuzz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста!
всем спасибо!я нашел третью ошибку!если кому интересно
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
void Matrix::number()
{ int i,j;
for (i=1;i<N;i++)
for(j=1;j<M;j++)
if (A[i][j]>=0) {
cout <<"\nnumber = " << i << '\n';
[color=green]j=M
i=N[/color]
break;
}
}
...
Рейтинг: 0 / 0
19.02.2013, 22:54
    #38158167
BagaBaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста!
fuzz,

а у тебя точно работает?

for (i=1;i<N;i++)
for(j=1;j<M;j++)

В С с плюсами индексы начинаются вроде как с нуля...
...
Рейтинг: 0 / 0
19.02.2013, 23:43
    #38158199
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста!
Уже завтра. Препод расскажет.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите пожалуйста! / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]