Поиск значения в матрице

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Слива
Сообщения: 134
Зарегистрирован: 19 мар 2016, 10:15

Программа делает матрицу и выводит ее на экран. В качестве благодарности можешь сказать в каком городе ты находишься.

Код: Выделить всё

//---------------------------------------------------------------------------
#include <vcl.h>
#include <iostream>
#include <conio.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
using namespace std;
int main(int argc, char* argv[])
{
int m[3][3], x, y, z, e, d, o, f;
bool s;
//d - digits
//s - sign
//[строка][столбец]
//cin, cout: #include <iostream>
//x - строка
//y - столбец
srand(time(NULL));

cout << "Vivodim massiv:\n";
for(x = 0; x < 3; x++){
  for(y = 0; y < 3; y++){

    e = rand()%201 - 100;

    //1 символ на знак + 3 знака в числе + 1 пробел
    if(e < 0) s = false;//"-"
    else s = true;//"+"

    d = 0;
    o = 1;
    f = abs(e);
    do{
    o = f%10;
    f /= 10;
    d++;
    }while(f);
    if(s == false) d++;

    if(y > 0) cout << " ";
    //Вывод числа
    d = 4-d;
    for(z = 1; z <= d; z++)
      cout << " ";
    cout << e;
    }
  cout << '\n';
  }

getch();//#include <conio.h>
return 0;
}
//---------------------------------------------------------------------------
Слива
Сообщения: 134
Зарегистрирован: 19 мар 2016, 10:15

Полная версия программы с поиском значения. В качестве благодарности можете уточнить Ваш адрес :D .

Код: Выделить всё

//---------------------------------------------------------------------------
#include <vcl.h>
#include <iostream>
#include <conio.h>
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
using namespace std;
int main(int argc, char* argv[])
{
int m[3][3], x, y, z, e, d, o, f, val;
bool s, Finded;
//d - digits
//s - sign
//[stroka][stolbec]
//cin, cout: #include <iostream>
//x - stroka
//y - stlobec
srand(time(NULL));

cout << "Vivodim massiv:\n";
for(x = 0; x < 3; x++){
  for(y = 0; y < 3; y++){

    e = rand()%201 - 100;
    m[x][y] = e;

    //1 simvol na znak + 3 znaka v chisle + 1 probel
    if(e < 0) s = false;//"-"
    else s = true;//"+"

    d = 0;
    //o = 1;
    f = abs(e);
    do{
    //o = f%10;
    f /= 10;
    d++;
    }while(f);
    if(s == false) d++;

    if(y > 0) cout << " ";
    //Vivod chisla
    d = 4-d;
    for(z = 1; z <= d; z++)
      cout << " ";
    cout << e;
    }
  cout << '\n';
  }
while(1){
cout << "Vvedite znachenie ili -200 dlya vihoda.\n";
cin >> val;
if(val == -200) break;
Finded = false;
for(x = 0; x < 3; x++){
  for(y = 0; y < 3; y++)
    if(m[x][y] == val){
      Finded = true;
      break;
      }
  if(Finded) break;
  }
if(Finded) cout << "Element " << val << " naiden. " << x+1 << " stroka, " << y+1 << " solbec.\n";
else cout << "Element not finded.\n";
}
//getch();//#include <conio.h>
return 0;
}
//---------------------------------------------------------------------------
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Мне кажется, топикстартер глубоко разочаровался в нас и давно ушёл искать помощи на другие форумы по программированию. Так что благодарности вряд ли дождёшься ;)
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить