Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Ввести с клавиатуры две целочисленные матрицы, и перемножить их друг на друга - C++

02.04.2013, 11:06. Просмотров 740. Ответов 2
Метки нет (Все метки)

Доброго времени суток ув. люди.
Так случилось, что учился я несколько курсов в одном у.з. и перешел другой. В одном изучали Паскаль->Делфи, в другом С->с++.
Вот настало время практике, сижу не отбиваю дупля на с++, помогите составить код программки.
Условие :
Создать программу, которая вводит с клавиатуры два двумерных массива целых чисел, перемножает их друг на друга( если это возможно т.е число столбцов первого равно число строк второго) и выводит на экран результирующий массив и сумму всех его отрицательных чисел.
На паскале->делфи, это довольно легко(т.к. я его изучал), прошу помогит мне написать на visual c++(2010).
Вот наброски на паскале(работающие).
Pascal
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
Program lol;
uses crt;
var a:array[1..2, 1..2] of integer;
    b:array[1..2, 1..2] of integer;
    c:array[1..2, 1..2] of integer;
    i,j,d:integer;
begin
   clrscr;
   textcolor(9);
   for i:=1 to 2 do
     for j:=1 to 2 do
     begin
     writeln('‚ўҐ¤ЁвҐ н«Ґ¬Ґ*в ¬*ббЁў* * б Ё¤Ґ*Єб®¬ ',i,' ',j);
     readln(a[i,j]);
     writeln('‚ўҐ¤ЁвҐ н«Ґ¬Ґ*в ¬*ббЁў* Ў б Ё¤Ґ*Єб®¬ ',i,' ',j);
     readln(b[i,j]);
     end;
  c[1,1]:=(a[1,1]*b[1,1])+(a[1,2]*b[2,1]);
  c[1,2]:=(a[1,1]*b[1,2])+(a[1,2]*b[2,2]);
  c[2,1]:=(a[2,1]*b[1,1])+(a[2,2]*b[1,2]);
  c[2,2]:=(a[2,1]*b[2,2])+(a[1,2]*b[2,2]);
    for i:=1 to 2 do
     for j:=1 to 2 do
     if c[i,j]<0 then d:=d+c[i,j];
     writeln('ђҐ§г«мвЁагойЁ© ¬*ббЁў:');
     for i:=1 to 2 do
   begin
      for j:=1 to 2 do
      write(' ',c[i,j]:4);
      writeln;
   end;
    writeln('‘㬬* ўбҐк ®ваЁж*⥫м*ле н«Ґ¬Ґ*в®ў ўлиҐ**ЇЁб**®Ј® ¬*ббЁў* =',d);
   readln;
end.
Программа банально простая, но без знаний С ....
Где иероглифы, там был русский текст.

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

Как перемножить элементы в двумерном массиве друг на друга? - C++
Как перемножить элементы в двумерном массиве друг на друга? Размерность 5 на 2, если нужно.

Цифры стоящие друг от друга через две - C++
Как на основе этого кода я смогу посчитать сумму цифр стоящих друг от друга через две То есть, я ввожу например: 12345678 Число делится...

Найти две наиболее удаленных друг от друга точки - C++
Структуры: I. Решить задачу, используя структуру point для хранения координат точки: Множество точек задано в пространстве. Найти две...

Посчитать сумму цифр стоящих друг от друга через две - C++
Доброе время суток! Ребята, объясните, как на основе этого кода я смогу посчитать сумму цифр стоящих друг от друга через две То есть, я...

Определить бъют ли две фигуры на шахматной доске друг друга - C++
Привет. Помогите пожалуйста. Даны координаты двух фигур на шахматной доске. Определить бьют ли они друг друга. Фигуры могут быть или двое...

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

2
chizz
981 / 496 / 54
Регистрация: 19.03.2013
Сообщений: 3,095
Записей в блоге: 18
Завершенные тесты: 1
02.04.2013, 12:07 #2
Переписал ваш код на C++

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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    int a[2][2];
    int b[2][2];
    int c[2][2];
    // инициализация массивов
    cout<<"Enter mas a"<<endl;
    for (int i = 0; i < 2; i++)
{
  for (int j = 0; j < 2; j++)
  {
    cin>>a[i][j];
  }
}
   cout<<"Enter mas b"<<endl;
    for (int i = 0; i < 2; i++)
{
  for (int j = 0; j < 2; j++)
  {
    cin>>b[i][j];
  }
}
 
c[0][0]= (a[0][0]*b[0][0])+(a[0][1]*b[1][0]);
c[0][1]=(a[0][0]*b[0][1])+(a[0][1]*b[1][1]);
c[1][0]=(a[1][0]*b[0][0])+(a[1][1]*b[0][1]);
c[1][1]=(a[1][0]*b[1][1])+(a[0][1]*b[1][1]);
 
// вывод результата
 for (int i = 0; i < 2; i++)
{
  for (int j = 0; j < 2; j++)
  {
    cout<<c[i][j]<<" ";
  }
  cout<<endl;
}
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
GoooD
1 / 1 / 0
Регистрация: 30.06.2012
Сообщений: 21
02.04.2013, 21:25  [ТС] #3
Цитата Сообщение от chizz Посмотреть сообщение
Переписал ваш код на C++

C++
1
2
3
4
5
6
7
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
...
Спасибо добрый человек, думаю работать будет.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2013, 21:25
Привет! Вот еще темы с ответами:

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

Даны две целочисленные матрицы 4-го порядка. Получить новую * матрицу путем вычитания из элементов каждого столбца первой матрицы - C++
даны две целочисленные матрицы 4-го порядка. Получить новую матрицу путем вычитания из элементов каждого столбца первой матрицы сумму...

Считать с файла две матрицы и перемножить их - C++
Считать с файла две матрицы и перемножить их

Перемножить две матрицы, причем запустить подсчет в несколько потоков - C++
Всем привет. Суть задания перемножить две матрицы, причем запустить подсчет в несколько потоков, в разное кол-во, сравнить время выполнения...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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