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

Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями - C++

Восстановить пароль Регистрация
 
Zhalair
1 / 1 / 0
Регистрация: 04.11.2011
Сообщений: 40
09.04.2012, 21:53     Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями #1
Здравствуйте! Уважаемые программисты! У меня такая задача, первую часть я решил а вот в виде функции не получается. Не могли бы вы помочь? А то завтра надо сдать а не могу!!! Пожалуйста))) Буду очень благодарен!
А) Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями.Найти номер первой из строк, содержащих хотя бы один положительный элемент. (Это я сделал)
Б) Выполнить задание из задания А, оформив каждый пункт задания в виде функции.Все необходимые данные для функции должны передаватся им в качестве параметров. Использование глобальных переменных в функциях не допускается
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
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
#include <iostream.h>
#include <windows.h>
int **mas, n, m, i,j, y, temp;
int main ()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
        cout<<"Ââåäèòå êîëè÷åñòâî ñòðîê Г¬Г*Г±Г±ГЁГўГ*: "<< endl;
    cin>>n;
    cout<<"Ââåäèòå êîëè÷åñòâî ñòîëáöîâ Г¬Г*Г±Г±ГЁГўГ*: "<< endl;
    cin>>m;
    mas=new int*[n];
    for(i=0; i<n; i++)
      mas[i]=new int[m];
    cout<<"Ââåäèòå ýëåìåГ*ГІГ» Г¬Г*Г±Г±ГЁГўГ*: "<< endl;
    for(i=0; i<n; i++)
      for(j=0; j<m; j++)
      {
          cout<<"["<<i<<"]["<<j<<"]= ";
          cin>>mas[i][j];
      }
        cout<<"èñõîäГ*ûé Г¬Г*Г±Г±ГЁГў"<<endl;
    for(i=0; i<n; i++)
        {
      for(j=0; j<m; j++)
          cout<<mas[i][j]<<"  ";
          cout<<endl;
        }
        for(i=0; i<n; i++)
        {
                temp=0;
                for(j=0; j<m; j++)
                        if(mas[i][j]!=0)
                                temp=1;
                if(temp==0)
                {
                        for(y=i; y<n-1; y++)
                                for(j=0; j<m; j++)
                                        mas[y][j]=mas[y+1][j];
                        n--;
                }
        }
        for(i=0; i<m; i++)
        {
                temp=0;
                for(j=0; j<n; j++)
                        if(mas[j][i]!=0)
                                temp=1;
                if(temp==0)
                {
                        for(y=i; y<m-1; y++)
                                for(j=0; j<n; j++)
                                        mas[j][y]=mas[j][y+1];
                        m--;
                }
        }
        cout<<endl;
        cout<<"Ïîëó÷åГ*Г*ûé Г¬Г*Г±Г±ГЁГў"<<endl;
        for(i=0; i<n; i++)
        {
      for(j=0; j<m; j++)
          cout<<mas[i][j]<<"  ";
                cout<<endl;
        }     
        cout<<endl;
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2012, 21:53     Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями
Посмотрите здесь:

Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями C++
Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями C++
Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями C++
Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями C++
Необходимо уплотнить заданную матрицу,удаляя из нее строки и столбцы, заполненные нулями C++
Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями C++
Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями C++
C++ Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Venzo
 Аватар для Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
09.04.2012, 22:10     Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями #2
смотри, например, функция вывода массива:

C++
1
2
3
4
5
6
7
8
9
10
11
12
void coutArr(int **mas, const int n, const int m)
{
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++)
            cout<<mas[i][j]<<"  ";
        cout<<endl;
    }
}
 
Вызывать как обычно
coutArr(mas, n,m);
Если массив изменяется в функции, то изменяем тип возвращаемого значения
для примера элемент 0:0 в массиве изменим на 10


Ну и по заданию, все объявления в main перенести
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
09.04.2012, 22:13     Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями #3
Цитата Сообщение от ZoRT Посмотреть сообщение
, то изменяем тип возвращаемого значения
Зачем?
Venzo
 Аватар для Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
09.04.2012, 22:15     Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями #4
Блин, и правда не за чем, указатели ведь... нуб я
Yandex
Объявления
09.04.2012, 22:15     Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями
Ответ Создать тему
Опции темы

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