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

Заменить в матрице нули на пробелы - C++

Восстановить пароль Регистрация
 
Gheria
0 / 0 / 0
Регистрация: 13.10.2011
Сообщений: 10
18.11.2011, 20:33     Заменить в матрице нули на пробелы #1
Добрый день всем.
Хотел узнать 1 вопрос.
Есть двумерный массив,заполненный 0 и 1.
Как вывести данный массив,чтобы остались только 1..а вместо 0-пробел(т.е. как бы пустая ячейка).
Надеюсь понятно сформулировал.
Массив имеет тип float,и логично что при попытке присвоить некоторому значению массива...пустое значение,выходит ошибка,что нельзя присваивать тип char
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
18.11.2011, 20:40     Заменить в матрице нули на пробелы #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
29
30
31
32
#include <iostream>
 
using namespace std;
 
int main()
{
    int n,m;
    cout<<"N="; cin>>n;
    cout<<"M="; cin>>m;
    float **a=new float *[n];
    for(int i=0;i<n;i++) a[i]=new float [m];
    cout<<"Matrix:"<<endl;
    for(int i=0;i<n;i++) 
    {
        for(int j=0;j<m;j++) { a[i][j]=rand()%2; cout<<a[i][j]<<" "; }
        cout<<endl;
    }
    cout<<endl<<"New matrix:"<<endl;
    for(int i=0;i<n;i++) 
    {
        for(int j=0;j<m;j++) 
        {
            if(a[i][j]) cout<<a[i][j]<<" ";
            else        cout<<"  ";
        }
        cout<<endl;
    }
    for(int i=0;i<n;i++) delete a[i];
    delete [] a;
    system("pause");
    return 0;
}
Noclip
43 / 27 / 2
Регистрация: 27.09.2011
Сообщений: 280
18.11.2011, 20:41     Заменить в матрице нули на пробелы #3
Gheria, а попробуйте типом char 0 и 1 сделать, может получиться.

Добавлено через 20 секунд
а потом присвоить пробелу все 0-ли.
mc.Duck
Заблокирован
18.11.2011, 20:47     Заменить в матрице нули на пробелы #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Gheria, вот куда проще, правда тип массива - char:
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
#include <iostream>
#include <cstdlib>
using namespace std;
 
const int n=10;
 
 int main(void)
 {
  char mass[n][n];
  for(int i=0;i<n;i++)
  for(int j=0;j<n;j++)
  {
  int ch=rand() % 2; 
  if(ch==0) mass[j][i]=48;
  if(ch==1) mass[j][i]=49;
}
  
    for(int i=0;i<n;i++)
    {
  for(int j=0;j<n;j++)
  cout<<mass[j][i]<<" ";
  cout<<endl;
}
 
  for(int i=0;i<n;i++)
  for(int j=0;j<n;j++)
  if(mass[j][i]=='0') mass[j][i]=' ';
 
cout<<endl;
 
    for(int i=0;i<n;i++)
    {
  for(int j=0;j<n;j++)
  cout<<mass[j][i]<<" ";
  cout<<endl;
}
 
cin.get();
 }
Noclip
43 / 27 / 2
Регистрация: 27.09.2011
Сообщений: 280
18.11.2011, 20:49     Заменить в матрице нули на пробелы #5
-comrade-, выручите у меня не получается второе условие(задание) сделать.
Работа с квадратной матрицей

я не могу послать сообщение почему-то......
Yandex
Объявления
18.11.2011, 20:49     Заменить в матрице нули на пробелы
Ответ Создать тему
Опции темы

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