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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
паникер
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 6
#1

три задачи о матрицах в C++ - C++

21.10.2013, 15:55. Просмотров 396. Ответов 7
Метки нет (Все метки)

помогите решить три задания про матрицы, болел пропустил все что о них учили, так:
1. Вычислить произведения главной диагонали матрицы
2. Вычислить сумму элементов матрицы, значение которых не превышают заданное число
3. Представить два заданных столбца матрицы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GoldenChild
28 / 28 / 4
Регистрация: 12.06.2013
Сообщений: 65
21.10.2013, 16:23     три задачи о матрицах в C++ #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
33
34
35
36
37
38
39
40
#include <iostream>
using namespace std;
// Размерность матрицы
const int N = 5;
 
int main() {
    //Заполнение матрицы случайными числами
    int A[N][N];
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++) {
            A[i][j] = rand()%10;
            cout << A[i][j] << " ";
        }
        cout << endl;
    }
    // 1. Произвидение диагонали
    int d = 1;
    for (int i = 0; i < N; i++) {
        d *= A[i][i];
    }
    cout << "main diagonal mult = " << d << endl;
    
    // 2. Считаем сумму эл. не больше введенного
    int max;
    int s = 0;
    cout << "Enter max element = ";
    cin >> max;
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++) {
            if (A[i][j] <= max) {
                s += A[i][j];
            }
        }
    }
    cout << "Sum = " << s << endl;
 
    // 3. Что такое "представить 2 столбца" ???
    system("pause");
    return 0;
}
паникер
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 6
21.10.2013, 16:53  [ТС]     три задачи о матрицах в C++ #3
а руссифицированный код можно ? а то я вообще в этой теме нуб
GoldenChild
28 / 28 / 4
Регистрация: 12.06.2013
Сообщений: 65
21.10.2013, 18:48     три задачи о матрицах в C++ #4
Цитата Сообщение от паникер Посмотреть сообщение
а руссифицированный код можно ? а то я вообще в этой теме нуб
Что вы подразумеваете под русифицированым кодом?)
паникер
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 6
21.10.2013, 19:16  [ТС]     три задачи о матрицах в C++ #5
у на с эта типа курсовая и выглядеть она должна вот как то так только с моими заданиями
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#include <vcl.h>
#include <stdio.h>
#include <math.h>
#include <time.h>
#include <windows.h>
#include <iostream.h>
#include <conio.h>
char Rus[256];
void main ()
{ int i,j, A[3][4], oper, min, kp, pr1;
clrscr () ;
CharToOem("\n                  Министерство образования Пензенской области",Rus);
cout<<Rus<<endl;
CharToOem("\n               ГБОУ СПО ПО Кузнецкий колледж электронной техники\n",Rus);
cout<<Rus<<endl;
printf("\n");
printf("\n");
CharToOem("\n                              КУРСОВОЙ ПРОЕКТ\n",Rus);
cout<<Rus<<endl;
CharToOem("           по дисциплине Технология разработки программных продуктов\n",Rus);
cout<<Rus<<endl;
CharToOem("                 Тема: Обработка элементов двумерного массива",Rus);
cout<<Rus<<endl;
printf("\n");
printf("\n");
printf("\n");
CharToOem("\nВыполнил: ст-т гр 3п5",Rus);
cout<<Rus<<endl;
CharToOem("\nДулкин Дамир",Rus);
cout<<Rus<<endl;
printf("\n");
CharToOem("\n                                  2013 год",Rus);
cout<<Rus<<endl;
CharToOem("\nДля продолжения нажмите клавишу Enter",Rus);
cout<<Rus<<endl;
getch();
clrscr () ;
printf("\n\n\n\n\n\n\n");
CharToOem("\n  Постановка задачи: разработать программу для определения требуемых величин ",Rus);
cout<<Rus<<endl;
CharToOem("\n                               в двумерном массиве. \n ",Rus);
cout<<Rus<<endl;
printf("\n\n\n\n\n\n\n\n\n\n");
CharToOem("\nДля продолжения нажмите клавишу Enter",Rus);
cout<<Rus<<endl;
getch();
clrscr () ;
CharToOem("\nВведите элементы массива:\n",Rus);
cout<<Rus<<endl;
 for(i=0; i<3; i++)
{  for(j=0; j<4; j++)
 { cout<<"A["<<i<<"]"<<"["<<j<<"]="; cin>>A[i][j]; }
}
CharToOem("\nВведённый массив:\n",Rus);
cout<<Rus<<endl;
for(i=0; i<03; i++)
{  for(j=0; j<4; j++)  printf("%5d",A[i][j]);
printf("\n");
}
printf("\n");
CharToOem("\nДля продолжения нажмите клавишу Enter",Rus);
cout<<Rus<<endl;
k: getch();
 clrscr () ;
CharToOem("\n       Выберите действие:",Rus);
cout<<Rus<<endl;
CharToOem("\n1- найти минимальный элемент массива",Rus);
cout<<Rus<<endl;
CharToOem("\n2- найти произведение положительных чисел",Rus);
cout<<Rus<<endl;
CharToOem("\n3- найти количество положительных нечетных чисел",Rus);
cout<<Rus<<endl;
CharToOem("\n4- выход",Rus);
cout<<Rus<<endl;CharToOem("\nОперация - ",Rus);
cout<<Rus<<endl;
cin>>oper;
clrscr () ;
switch (oper)
{ case 1: { CharToOem("\tНахождение минимального элемента массива\n",Rus);
            cout<<Rus<<endl;
            min=32676;
            for(i=0; i<3; i++)
             {for(j=0; j<4; j++)
                {if (A[i][j]<min)  min=A[i][j]; }
             }
             CharToOem("\nВ массиве:\n",Rus);
             cout<<Rus<<endl;
             for(i=0; i<03; i++)
              {  for(j=0; j<4; j++)  printf("%5d",A[i][j]);
                 printf("\n");
               }
             CharToOem("\nминимальный элемент =  ",Rus);
             cout<<Rus<<min<<endl;
             printf("\n\n\n\n\n\n\n\n\n\n\n");
             CharToOem("\nДля продолжения нажмите клавишу Enter",Rus);
             cout<<Rus<<endl;
             goto k;
           }
 
   case 2: { CharToOem("\tНахождение произведения положительных чисел массива\n",Rus);
             cout<<Rus<<endl;
             pr1=1;
             for(i=0; i<3; i++)
              {for(j=0; j<4; j++)
                {if (A[i][j]>0)  pr1=pr1*A[i][j]; }
             }
             CharToOem("\nВ массиве:\n",Rus);
             cout<<Rus<<endl;
             for(i=0; i<03; i++)
              {  for(j=0; j<4; j++)  printf("%5d",A[i][j]);
                 printf("\n");
               }
             CharToOem("\n Произведение положительных чисел массива=  ",Rus);
             cout<<Rus<<pr1<<endl;
             printf("\n\n\n\n\n\n\n\n\n\n\n");
             CharToOem("\nДля продолжения нажмите клавишу Enter",Rus);
             cout<<Rus<<endl;
             goto k;
           }
   case 3: { CharToOem("\tНахождение количества положительных нечетных чисел массива\n",Rus);
             cout<<Rus<<endl;
             kp=0;
             for(i=0; i<3; i++)
              {for(j=0; j<4; j++)
                {if (A[i][j]>0)
                  {if (fmod(A[i][j],2)!=0) kp=kp+1;  }
                }
              }
             CharToOem("\nВ массиве:\n",Rus);
             cout<<Rus<<endl;
             for(i=0; i<03; i++)
              {  for(j=0; j<4; j++)  printf("%5d",A[i][j]);
                 printf("\n");
               }
             CharToOem("\n Количество положительных нечетных чисел массива=  ",Rus);
             cout<<Rus<<kp<<endl;
              printf("\n\n\n\n\n\n\n\n\n\n\n");
             CharToOem("\nДля продолжения нажмите клавишу Enter",Rus);
             cout<<Rus<<endl;
             goto k;
           }
   case 4: { goto k1;}
   default: {printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
            CharToOem("\n                            Исправьтесь! ",Rus);
            cout<<Rus<<endl;
            CharToOem("\n                Вы выбрали несуществующий пункт меню ",Rus);
            cout<<Rus<<endl;
            printf("\n\n\n\n\n\n\n\n\n\n\n\n");
            CharToOem("\nДля возврата в меню нажмите клавишу Enter",Rus);
            cout<<Rus<<endl;
            goto k;  }
            }
        k1:    }
и еще на счет третьего задания , я вообще что то не представляю как его делать , но в методичке написанно именно так как я вам написал

Добавлено через 24 минуты
Извиняюсь на счет третьего задания там написано "Переставить два заданных столбца матрицы"
govorov
24 / 24 / 3
Регистрация: 25.09.2013
Сообщений: 76
21.10.2013, 19:21     три задачи о матрицах в C++ #6
Цитата Сообщение от паникер Посмотреть сообщение
3. Представить два заданных столбца матрицы
Что значит представить? Так вам скорее всего никто не сможет помочь.
GoldenChild
28 / 28 / 4
Регистрация: 12.06.2013
Сообщений: 65
21.10.2013, 19:24     три задачи о матрицах в C++ #7
Вывод русских сообщений думаю сами сделаете корректный, я просто перевел.

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
#include <iostream>
using namespace std;
// Размерность матрицы
const int N = 5;
 
int main() {
    //Заполнение матрицы случайными числами
    int A[N][N];
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++) {
            A[i][j] = rand()%10;
            cout << A[i][j] << " ";
        }
        cout << endl;
    }
    // 1. Произвидение диагонали
    int d = 1;
    for (int i = 0; i < N; i++) {
        d *= A[i][i];
    }
    cout << "Произведение главной диагонали = " << d << endl;
    
    // 2. Считаем сумму эл. не больше введенного
    int max;
    int s = 0;
    cout << "Введите элемент для ограничения = ";
    cin >> max;
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++) {
            if (A[i][j] <= max) {
                s += A[i][j];
            }
        }
    }
    cout << "Сума элементов не выше ограничения = " << s << endl;
 
    // 3. Переставляем два столбца
    int jn, in;
    cout << "Введите номера столбцов, которые нужно поменять ";
    cin >> jn >> in;
    for (int i = 0; i < N; i++) {
        int temp = A[i][jn-1];
        A[i][jn-1] = A[i][in-1];
        A[i][in-1] = temp;
    }
    cout << "Новая матрица: \n";
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++) {
            cout << A[i][j] << " ";
        }
        cout << endl;
    }
    system("pause");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2013, 19:30     три задачи о матрицах в C++
Еще ссылки по теме:

Перегрузка friend оператора в матрицах C++
C++ Подсчет количества нулей в матрицах
Три простенькие задачи на C++ C++
C++ Нахождение мин и мак в матрицах
Нахождение в матрицах C++

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

Или воспользуйтесь поиском по форуму:
паникер
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 6
21.10.2013, 19:30  [ТС]     три задачи о матрицах в C++ #8
Цитата Сообщение от govorov Посмотреть сообщение
Что значит представить? Так вам скорее всего никто не сможет помочь.
я же поправился "пЕрЕставить два заданных столбца матрицы"

Добавлено через 5 минут
большое спасибо GoldenChild все получилось ))
Yandex
Объявления
21.10.2013, 19:30     три задачи о матрицах в C++
Ответ Создать тему
Опции темы

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