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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
demonzvz
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 15
#1

Написать программу, которая позволяет осуществить ввод 2-х матриц одинакового размера - C++

15.05.2010, 20:11. Просмотров 1698. Ответов 32
Метки нет (Все метки)

Помогите курсовик дали,помогите с началом программы:



Написать программу, которая позволяет осуществить ввод 2-х матриц одинакового размера (размер может варьироваться) и выполнить следующие операции:
- сложить введенные матрицы;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2010, 20:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать программу, которая позволяет осуществить ввод 2-х матриц одинакового размера (C++):

Написать программу, которая позволяет осуществить ввод матрицы произвольного размера - C++
Написать программу, которая позволяет осуществить ввод матрицы произвольного размера и выполнить следующие операции: - добавление к...

Написать программу, которая по последней цифре числа позволяет определить последнюю цифру его квадрата - C++
13 Написать программу, которая по последней цифре числа позволяет определить последнюю цифру его квадрата. Использовать оператор выбора...

Написать программу, которая позволяет во введенной строке поменять первые буквы каждого слова на прописные - C++
нужно составить текст программы, которая позволяет по введенной строке поменять первые буквы каждого слова на прописные. Вывести на экран...

Заданные две квадратные матрицы одинакового размера - А и В. Переписать в одномерный массив R те элементы матриц А и В, имеющие одинаковые индексы и - C++
Заданные две квадратные матрицы одинакового размера - А и В. Переписать в одномерный массив R те элементы матриц А и В, имеющие одинаковые...

Разработать алгоритм и написать по нему программу сложения матриц А и В размера m × n - C++
Задача 2. Разработать алгоритм и написать по нему программу сложения матриц А и В размера m × n. Значение величин m и n выбрать из табл....

Написать программу, которая выполняет умножение двух матриц - C++
Написать программу, которая выполняет умножение двух матриц (матрицы не квадратные).

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
15.05.2010, 20:13 #2
Сложить матрицы?
Это каждый элемент сложить с ему соответствующим?
demonzvz
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 15
15.05.2010, 20:19  [ТС] #3
да,помогите,ща пытаемся сделать начало не выходит
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
15.05.2010, 20:36 #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
#include <iostream>
#include <iomanip>
#include <ctime>
 
int main ()
{
    const int size=10;
    int A[size]; // первая матрица.
    int B[size]; // вторая матрица.
    int Rezult[size]; // конечная матрица.
    srand(time(NULL));
 
    std::cout << "Start matrix A:\n";
    for (int i=0; i<size; i++) {
        A[i]=rand()%100+1;
        std::cout << std::setw(4) << A[i]; }
    std::cout << std::endl;
 
    std::cout << "Start matrix B:\n";
    for (int i=0; i<size; i++) {
        B[i]=rand()%100+1;
        std::cout << std::setw(4) << B[i]; }
    std::cout << std::endl;
 
    std::cout << "Finish matrix:\n";
    for (int i=0; i<size; i++) {
        Rezult[i]=A[i]+B[i];
        std::cout << std::setw(4) << Rezult[i]; }
 
    std::cout << std::endl;
    system("pause");
    return 0;
}
demonzvz
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 15
15.05.2010, 21:26  [ТС] #5
Слушай а что нужно исправить если использовать ее под С

Добавлено через 42 минуты
Вобщем разобрался только матрица всегда выходит из 10 символов,нужно чтоб она варьировалась
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
15.05.2010, 21:28 #6
Размер можно изменить, он задается в строке #7.
Варьировалась? Можно подробнее?
demonzvz
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 15
15.05.2010, 21:29  [ТС] #7
я понял что в 7 меняется,но например чтоб при каждом старте я вводил размер обоих матриц,который нужен мне
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
15.05.2010, 21:32 #8
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 <iomanip>
#include <ctime>
 
int main ()
{
    int size;
    std::cout << "Input size of matrix: ";
    std::cin >> size;
 
    int *A=new int [size]; // первая матрица.
    int *B=new int [size]; // вторая матрица.
    int *Rezult=new int [size]; // конечная матрица.
    srand(time(NULL));
 
    std::cout << "Start matrix A:\n";
    for (int i=0; i<size; i++) {
        A[i]=rand()%100+1;
        std::cout << std::setw(4) << A[i]; }
    std::cout << std::endl;
 
    std::cout << "Start matrix B:\n";
    for (int i=0; i<size; i++) {
        B[i]=rand()%100+1;
        std::cout << std::setw(4) << B[i]; }
    std::cout << std::endl;
 
    std::cout << "Finish matrix:\n";
    for (int i=0; i<size; i++) {
        Rezult[i]=A[i]+B[i];
        std::cout << std::setw(4) << Rezult[i]; }
 
    std::cout << std::endl;
    delete []A;
    delete []B;
    delete []Rezult;
    system("pause");
    return 0;
}
?
demonzvz
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 15
15.05.2010, 21:40  [ТС] #9
Огромное спосибо,есть еще небольшая просьба оч прошу
- умножить полученную матрицу на некоторое число, введенное с клавиатуры;
- транспонировать матрицу, полученную после умножения.
FerMen
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 17
15.05.2010, 21:52 #10
demonzvz, у меня похожая проблема)
demonzvz
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 15
15.05.2010, 21:57  [ТС] #11
Цитата Сообщение от neske Посмотреть сообщение
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 <iomanip>
#include <ctime>
 
int main ()
{
    int size;
    std::cout << "Input size of matrix: ";
    std::cin >> size;
 
    int *A=new int [size]; // первая матрица.
    int *B=new int [size]; // вторая матрица.
    int *Rezult=new int [size]; // конечная матрица.
    srand(time(NULL));
 
    std::cout << "Start matrix A:\n";
    for (int i=0; i<size; i++) {
        A[i]=rand()%100+1;
        std::cout << std::setw(4) << A[i]; }
    std::cout << std::endl;
 
    std::cout << "Start matrix B:\n";
    for (int i=0; i<size; i++) {
        B[i]=rand()%100+1;
        std::cout << std::setw(4) << B[i]; }
    std::cout << std::endl;
 
    std::cout << "Finish matrix:\n";
    for (int i=0; i<size; i++) {
        Rezult[i]=A[i]+B[i];
        std::cout << std::setw(4) << Rezult[i]; }
 
    std::cout << std::endl;
    delete []A;
    delete []B;
    delete []Rezult;
    system("pause");
    return 0;
}
?
А как бы реализовать что значение в матрице были не рендом а вводились с клавиатуры?
FerMen
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 17
15.05.2010, 22:02 #12
вот глянь тут Большая коллекция решенных задач
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
15.05.2010, 22:02 #13
Добавил тут кое-что, так пойдет?)
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
#include <iomanip>
#include <ctime>
void show (const int*, int);
 
int main ()
{
    int size;
    std::cout << "Input size of matrix: ";
    std::cin >> size;
 
    int *A=new int [size]; // первая матрица.
    int *B=new int [size]; // вторая матрица.
    int *Rezult=new int [size]; // конечная матрица.
    srand(time(NULL));
 
    std::cout << "Start matrix A:\n";
    for (int i=0; i<size; i++)
        A[i]=rand()%100+1;
    show (A, size);
 
    std::cout << "Start matrix B:\n";
    for (int i=0; i<size; i++)
        B[i]=rand()%100+1;
    show (B, size);
 
    std::cout << "Finish matrix:\n";
    for (int i=0; i<size; i++)
        Rezult[i]=A[i]+B[i];
    show (Rezult, size);
 
    std::cout << "Enter number: ";
    int num; std::cin >> num;
    std::cout << std::endl;
 
    std::cout << "Finish matrix, after multiplication:\n";
    for (int i=0; i<size; i++)
        Rezult[i]*=num;
    show (Rezult, size);
 
    int tmp;
    std::cout << "Finish matrix, after transfor:\n";
    for (int i=0; i<size; i++)
        for (int j=0; j<i-1; j++) {
            tmp=Rezult[i];
            Rezult[i]=Rezult[j];
            Rezult[j]=tmp; }
    show (Rezult, size);
 
    delete []A;
    delete []B;
    delete []Rezult;
    system("pause");
    return 0;
}
 
void show (const int *MAS, int size)
{
    for (int i=0; i<size; i++)
        std::cout << std::setw(4) << MAS[i];
    std::cout << std::endl;
}
demonzvz
0 / 0 / 0
Регистрация: 15.05.2010
Сообщений: 15
15.05.2010, 22:04  [ТС] #14
Блин суперр спс,посмотри выше ссообщение мое плиз))
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
15.05.2010, 22:09 #15
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
#include <iostream>
#include <iomanip>
void show (const int*, int);
 
int main ()
{
    int size;
    std::cout << "Input size of matrix: ";
    std::cin >> size;
 
    int *A=new int [size]; // первая матрица.
    int *B=new int [size]; // вторая матрица.
    int *Rezult=new int [size]; // конечная матрица.
 
    std::cout << "Fill of matrix A:\n";
    for (int i=0; i<size; i++) {
        std::cout << "A["<< i <<"]: ";
        std::cin >> A[i]; }
 
    std::cout << "Fill of matrix B:\n";
    for (int i=0; i<size; i++) {
        std::cout << "B["<< i <<"]: ";
        std::cin >> B[i]; }
 
    std::cout << "Matrix A:\n";
    show (A, size);
    std::cout << "Matrix B:\n";
    show (B, size);
 
    std::cout << "Finish matrix:\n";
    for (int i=0; i<size; i++)
        Rezult[i]=A[i]+B[i];
    show (Rezult, size);
 
    std::cout << "Enter number: ";
    int num; std::cin >> num;
    std::cout << std::endl;
 
    std::cout << "Finish matrix, after multiplication:\n";
    for (int i=0; i<size; i++)
        Rezult[i]*=num;
    show (Rezult, size);
 
    int tmp;
    std::cout << "Finish matrix, after transfor:\n";
    for (int i=0; i<size; i++)
        for (int j=0; j<i-1; j++) {
            tmp=Rezult[i];
            Rezult[i]=Rezult[j];
            Rezult[j]=tmp; }
    show (Rezult, size);
 
    delete []A;
    delete []B;
    delete []Rezult;
    system("pause");
    return 0;
}
 
void show (const int *MAS, int size)
{
    for (int i=0; i<size; i++)
        std::cout << std::setw(4) << MAS[i];
    std::cout << std::endl;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2010, 22:09
Привет! Вот еще темы с ответами:

Написать программу, которая вычерчивает на экране узор из 50 прямоугольников случайного размера и цвета - C++
Написать программу, которая вычерчивает на экране узор из 50 прямоугольников случайного размера и цвета. Зарание большое спасибО!

Написать программу с ипользованием матриц, которая объеденяет два упорядоченных по возростанию массива в один - C++
Здравствуйте! Возникла такая проблема,сегодня узнал,что нужно переделать массив в матрицу,и сколько не пытаясь понять,как это делается,не...

Написать программу, которая выполняет ввод даты рождения и выводит на экран произведение этих чисел - C++
Помогите написать программу в которой выполняет ввод даты рождения (число, месяц, год) и выводит на экран произведение этих чисел.

Prolog. Написать программу, которая осуществляет ввод с клавиатуры номера элемента и выводит значение для последовательности - C++
Написать программу, которая осуществляет ввод с клавиатуры номера элемента и выводит значение Xn для последовательности Xn+1 = 2Xn - Xn-1...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.05.2010, 22:09
Ответ Создать тему
Опции темы

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