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

Помогите решить - C++

Восстановить пароль Регистрация
 
Busterr
-25 / 1 / 0
Регистрация: 25.09.2011
Сообщений: 50
07.10.2011, 15:06     Помогите решить #1
ЭТО ЗАДАНИЕ
Position of "-1".

In the given NxM matrix find the LAST position of the minus one(-1).
If it will be no "-1" value in the given matrix just output "-1 -1".

Input
First line N and M (1<=N,M<=100).
Then NxM table is given(all number are integers)

Output
First number have to be the row number,and then column number of last "-1" element.

Sample input:
3 4
1 1 2 3
4 5 0 1
2 3 -1 5

Добавлено через 38 секунд
Код
#include <iostream>
using namespace std;
const int N=100;
const int M=100;
int main()
{
  
  int a[N][M]={0};
  int n=0,m=0,x=0,y=0;
  cin >> n;
cin>>m;
  for (int i = 0 ; i < n; i++)
    for (int j = 0 ; j < m; j++)
      cin >> a[i][j];
  for (int i = 0 ; i < n; i++)
    for (int j = 0 ; j < m; j++)
      if (a[i][j]==-1)
	  {x=i+1;y=j+1;
  cout <<x<<" "<<y;}
	  else if(a[i][j]!=-1)
	  
	{ x=(-1);y=(-1);
  cout<<x<<y;
  }
return 0;
}
Добавлено через 34 минуты

Добавлено через 33 секунды
мне нужно чтобы только один раз выводило -1 -1, а там получается на каждое число не равное -1 выводит -1 -1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2011, 15:06     Помогите решить
Посмотрите здесь:

C++ помогите решить))
C++ Помогите решить ...
C++ помогите решить
помогите решить... C++
Помогите решить... C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Merovingian
54 / 54 / 5
Регистрация: 24.09.2011
Сообщений: 149
07.10.2011, 15:44     Помогите решить #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
//#include "stdafx.h"
#include <iostream>
using namespace std;
const int N=100;
const int M=100;
int main()
{
  
    int a[N][M]={0};
    int n=0,m=0,x=0,y=0;
    cin >> n;
    cin>>m;
    for (int i = 0 ; i < n; i++)
        for (int j = 0 ; j < m; j++)
            cin >> a[i][j];
    for (int i = 0 ; i < n; i++)
        for (int j = 0 ; j < m; j++)
            if (a[i][j]==-1)
            {
                x=i+1;
                y=j+1;
            }
    if(x==0 && y==0)
        x = y = -1;
    cout<<x<<" "<<y;
    //system("pause");
    return 0;
}
да пожалуйста
Busterr
-25 / 1 / 0
Регистрация: 25.09.2011
Сообщений: 50
07.10.2011, 15:55  [ТС]     Помогите решить #3
Спасибо, правда я не понял, почему if (x==0 и у==0). Не могли бы объяснить.
Если if (a[i][j]==-1) не выполняется х==0 и у==0?
Merovingian
54 / 54 / 5
Регистрация: 24.09.2011
Сообщений: 149
07.10.2011, 16:43     Помогите решить #4
Цитата Сообщение от Busterr Посмотреть сообщение
Спасибо, правда я не понял, почему if (x==0 и у==0). Не могли бы объяснить.
Если if (a[i][j]==-1) не выполняется х==0 и у==0?
ну изначально x = 0 и y = 0. Если мы найдем элемент матрицы равный -1, то мы изменим значения x и y, даже если этот элемент будет единственным в матрице и при этом будет находиться в ячейке [0][0], то x примет значение 1 , и y примет значение 1. Если же по проходу по всей матрице x и y остались равными 0, т.е. не изменили свои значения, значит просто напросто элемент -1 не был найден. Поэтому проверка условия "x = 0 и y = 0" гарантирует нам, что -1 не был найден))
Busterr
-25 / 1 / 0
Регистрация: 25.09.2011
Сообщений: 50
07.10.2011, 16:46  [ТС]     Помогите решить #5
так и подумал)) хотел быть уверенным
Yandex
Объявления
07.10.2011, 16:46     Помогите решить
Ответ Создать тему
Опции темы

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