powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите пожалуйста!
17 сообщений из 17, страница 1 из 1
Помогите пожалуйста!
    #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
Помогите пожалуйста!
    #38157943
fuzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://iscr.ru/1361286794/][IMG] http://iscr.ru/photo/mini/1361286794_ [/IMG]
...
Рейтинг: 0 / 0
Помогите пожалуйста!
    #38157976
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня не отображается твоя картинка.
...
Рейтинг: 0 / 0
Помогите пожалуйста!
    #38157980
fuzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Помогите пожалуйста!
    #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
Помогите пожалуйста!
    #38157987
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги я - пас. Задание так и не смог увидеть.
...
Рейтинг: 0 / 0
Помогите пожалуйста!
    #38157988
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оно перевернутое
...
Рейтинг: 0 / 0
Помогите пожалуйста!
    #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
Помогите пожалуйста!
    #38157994
fuzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
подскажите плиз файлообменник куда залить и как залить.
...
Рейтинг: 0 / 0
Помогите пожалуйста!
    #38157995
fuzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
выше это я переписал немного код
Код: plaintext
1.
2.
3.
void summ();
  void number();
  void sumnonnegative ();

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

задание "Определить класс матрица в классе предусмотреть следующие действия:
-ввод и вывод матрицы
-вычисление суммы элементов,расположенных выше главной диагонали.
-поиск номера первой из строк содержащей хотя бы один положительный элемент
-вычисление суммы элементов в тех строках которые не содержат отрицательных элементов "
...
Рейтинг: 0 / 0
Помогите пожалуйста!
    #38158014
fuzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
две ошибки нашел!не могу сделать только поиск номера первой из строк
...
Рейтинг: 0 / 0
Помогите пожалуйста!
    #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
Помогите пожалуйста!
    #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
Помогите пожалуйста!
    #38158167
BagaBaga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fuzz,

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

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

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


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