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

Матрица - C++

Восстановить пароль Регистрация
 
Olia88
1 / 1 / 0
Регистрация: 20.02.2012
Сообщений: 24
21.02.2012, 21:29     Матрица #1
Дана квадратная матрица порядка N. Заменить нулями все ее элементы, расположенные на главной диагонали и выше ее. Вывести матрицу в исходном и преобразованном виде.

Как заполнить нулями все элементы находящиеся над главной диагональю?

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
#include <iostream>
#include <stdio.h>
 
int main()
{   int i,n,s,k,min,m;
  
    int mas[30][30];
    
    
    std::cout <<"Vvedite kol.  ";
    std::cin >> n;
    
   for (int i=0; i<n; i++)
       {for (int j=0; j<n; j++)
   std::cin>> mas[i][j];}
   
    for (int i=0; i<n; i++)
       {for (int j=0; j<n; j++)
            mas[i][i]=0;
            
   }
   for (int j=0; j<n+1; j++)
    
       {min=0;
            for (int i=0; i<n+1; i++)
            mas[i][i]=0;
            
   }
   
    for (int i=0; i<n; i++)
      { {for (int j=0; j<n; j++)
   std::cout<< mas[i][j]<<" ";}
   std::cout<<'\n';}
  
    
        system ("pause");
    return 0;
}
 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2012, 21:29     Матрица
Посмотрите здесь:

матрица C++
матрица C++
C++ матрица
C++ Матрица
C++ Матрица
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
21.02.2012, 21:53     Матрица #2
Цитата Сообщение от Olia88 Посмотреть сообщение
Дана квадратная матрица порядка N. Заменить нулями все ее элементы, расположенные на главной диагонали и выше ее. Вывести матрицу в исходном и преобразованном виде.
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
#include <iostream>
#include <stdio.h>
 
using namespace std;
 
int main()
{ 
    setlocale(0,"");
    int n;
    int mas[30][30];
 
 
    cout << "Введите размерность матрицы - ";
    cin >> n;
 
    cout << "\nВведите исходную маитрицу\n";
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            cin >> mas[i][j];
        }
    }
 
    for (int i=0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            if(i <= j)
            {
                mas[i][j] = 0;
            }
        }
    }
    
    cout << "\nМатрица в преобразованном виде\n";
    for (int i = 0; i < n; i++)
    { 
        for (int j = 0; j < n; j++)
        {
            cout << mas[i][j] << " ";
        }
        cout << '\n';
    }
 
 
    system ("pause >> null");
    return 0;
}
Миниатюры
Матрица  
Olia88
1 / 1 / 0
Регистрация: 20.02.2012
Сообщений: 24
21.02.2012, 22:02  [ТС]     Матрица #3
огромное спасибо!!! А вы еще не подскажите как случайными числами ее заполнить? Я делаю так
C++
1
2
3
4
5
6
7
8
9
10
 for (int i = 0; i < n; i++)
        {
                for (int j = 0; j < n; j++)
                {
                      
                      mas[i][j]=1+rand()%100;
                      std::cout<<mas[i][j];
                      
                }
        }
а он как то странно заполняет
R136a1
 Аватар для R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
21.02.2012, 22:05     Матрица #4
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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
int main()
{
    int n;
    int **matrix;
 
    std::cout << "Порядок матрицы: ";
    std::cin >> n;
 
    matrix = new int*[n];
 
    std::cout << "Исходная матрица: " << std::endl;
 
    srand(time(NULL));
 
    for(int i = 0; i < n; i++)
    {
        matrix[i] = new int[n];
 
        for(int j = 0; j < n; j++)
        {
            matrix[i][j] = rand() % 20 + 1;
            std::cout << std::setw(5) << matrix[i][j];
        }
 
        std::cout << std::endl;
    }
 
    for(int i = 0; i < n; i++)
        for(int j = i; j < n; j++)
            matrix[i][j] = 0;
 
    std::cout << "\nПолученная матрица: " << std::endl;
 
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
            std::cout << std::setw(5) << matrix[i][j];
 
        std::cout << std::endl;
    }
 
    for(int i = 0; i < n; i++)
        delete[] matrix[i];
 
    delete[] matrix;
 
    return 0;
}
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
21.02.2012, 22:07     Матрица #5
Цитата Сообщение от Olia88 Посмотреть сообщение
А вы еще не подскажите как случайными числами ее заполнить?
Объединил еще два цикла в один!

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
#include <iostream>
#include <stdio.h>
 
using namespace std;
 
int main()
{ 
    setlocale(0,"");
    int n;
    int mas[30][30];
 
 
    cout << "Введите размерность матрицы - ";
    cin >> n;
 
    cout << "\nВведите исходную маитрицу\n";
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            mas[i][j] = 1 + rand() % 100;
            cout << mas[i][j] << "\t";
            if(i <= j)
            {
                mas[i][j] = 0;
            }   
        }
        cout << '\n';
    }
 
    cout << "\nМатрица в преобразованном виде\n";
    for (int i = 0; i < n; i++)
    { 
        for (int j = 0; j < n; j++)
        {
            cout << mas[i][j] << "\t";
        }
        cout << '\n';
    }
 
    system ("pause >> null");
    return 0;
}
Миниатюры
Матрица  
Olia88
1 / 1 / 0
Регистрация: 20.02.2012
Сообщений: 24
21.02.2012, 22:19  [ТС]     Матрица #6
Большущее спасибо!!!!!
Yandex
Объявления
21.02.2012, 22:19     Матрица
Ответ Создать тему
Опции темы

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