Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 23

Создать новую матрицу

21.05.2011, 02:00. Показов 1567. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть такая задача: Есть квадратная матрица В(А,А).Создать новую матрицу, с данной в результате умножения всех элементов каждого рядка, кроме первого, на его первой элемент, та деления всех элементов каждого столбца, кроме первого, на его первой элемент.

Помогите! Не знаю как это реализовать.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.05.2011, 02:00
Ответы с готовыми решениями:

Создать квадратную матрицу, сформировать новую матрицу такой же размерности путём транспонирования исходной
Создать квадратную матрицу размерности (30, 30). Заполнить её случайными целыми числами из диапазона . Сформировать новую матрицу такой же...

Создать новую матрицу из столбцов, которые не содержат элементы из заданного диапазона
Ввести матрицу 3x8 действительных чисел и создать новую матрицу с тех столб- цев введенной матрицы, которые не содержат элементы из...

Создать новую матрицу: каждый элемент - полусумма среднеарифметических соответствующих строки и столбца исходной
По введённой матрице действительных чисел размером 5х7 вычислить новую матрицу, в которой каждый элемент вычисляется как полусумма...

12
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
21.05.2011, 02:14
Цитата Сообщение от Cherepinsky Посмотреть сообщение
Помогите! Не знаю как это реализовать.
что именно не получается?
0
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 23
21.05.2011, 02:26  [ТС]
Цитата Сообщение от Maxwe11 Посмотреть сообщение
что именно не получается?
Не знаю как умножить все элементы каждого рядка, кроме первого, на его первой элемент, та поделить все элементы каждого столбца, кроме первого, на его первой элемент.
И с всего этого создать новую матрицу.
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
21.05.2011, 02:38
Цитата Сообщение от Cherepinsky Посмотреть сообщение
Не знаю как умножить все элементы каждого рядка, кроме первого, на его первой элемент, та поделить все элементы каждого столбца, кроме первого, на его первой элемент.
И с всего этого создать новую матрицу.
ваши нароботки, хоть какие нибудь?
0
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 23
21.05.2011, 02:42  [ТС]
Цитата Сообщение от Maxwe11 Посмотреть сообщение
ваши нароботки, хоть какие нибудь?
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.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
//#include<match.h>
int const n=6;
int B[n][n];
mas[n][n];
int i,j,t,y;
void main()
{
//randomize();
srand(time(NULL));
clrscr();
for(i=0;i<n;i++)
  {
  for(j=0;j<n;j++)
      {
    B[i][j]=rand()%-100;
    printf("%5d",B[i][j]);
      }
      cout<<("\n");
   }
   cout<<"\n\n\n";
          for
 
          for(i=0;i<n;i++)
          {
          for(j=0;j<n;j++)
          {
              mas[j][i]=B[j][i];
          printf("%5d",B[i][j]);
          }
          cout<<"\n";
       }
   getch();
}
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
21.05.2011, 03:03
проверяйте
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
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int matr[5][5];
    for(unsigned i = 0; i < 5; i++)
    {
    for(unsigned j = 0; j < 5; j++)
    {
        matr[i][j] = rand() % (i * j + j + i + 1) + 1;
        printf("%3d", matr[i][j]);
    }
           printf("\n");
   }
//multiply
   for(unsigned i = 0; i < 5; i++)
   {
    for(unsigned j = 1; j < 5; j++)
    {
        matr[i][j] *= matr[i][0];
    }
    }
//div
    for(unsigned j = 0; j < 5; j++)
    {
    for(unsigned i = 1; i < 5; i++)
    {
        matr[i][j] /= matr[0][j];
    }
    } 
    getchar();
    return 0;
}
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
21.05.2011, 03:06
подправил чуток
0
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 23
21.05.2011, 03:07  [ТС]
Мне нужно реализовать алгоритм так:
Пусть первая матрица такая :

00 01 02 03 04
10 11 12 13 14
20 21 22 23 24
30 31 32 33 34
40 41 42 43 44

где 00,01,02,03,04 ... индексы соответствующих элементов .
С этой матрицы мене нужно создать новую в где:

1-элемент: 00
2-элемент: 01*00
3-элемент: 02*00
4-элемент: 03*00
5-элемент: 04*00
6-элемент: 10/00
7-элемент: 11*10/01
8-элемент: 12*10/02
9-элемент: 13*10/03
10-элемент: 14*10/04
11-элемент: 20/00
12-элемент: 21*20/01
13-элемент: 22*20/02
14-элемент: 23*20/03
15-элемент: 24*20/04
...
...
...
Так как указано в задании.
0
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 23
21.05.2011, 03:07  [ТС]
От такую задачку мне решить не под силу, прошу мне помочь!
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
21.05.2011, 03:18
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
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    double matr[5][5];
    for(unsigned i = 0; i < 5; i++)
    {
    for(unsigned j = 0; j < 5; j++)
    {
        matr[i][j] = rand() % (i * j + j + i + 1) + 1;
        printf("%.2lf\t", matr[i][j]);
    }
    printf("\n");
    }
//multiply
    printf("\n");
    for(unsigned i = 0; i < 5; i++)
    {
    for(unsigned j = 1; j < 5; j++)
    {
        matr[i][j] *= matr[i][0];
    }
    }
    for(unsigned i = 0; i < 5; i++)
    {
    for(unsigned j = 0; j < 5; j++)
    {
        printf("%.2lf\t", matr[i][j]);
    }
    printf("\n");
     }
//div
     printf("\n");
     for(unsigned j = 0; j < 5; j++)
     {
    for(unsigned i = 1; i < 5; i++)
    {
        matr[i][j] /= matr[0][j];
    }
     }
     for(unsigned i = 0; i < 5; i++)
     {
    for(unsigned j = 0; j < 5; j++)
    {
        printf("%.2lf\t", matr[i][j]);
    }
    printf("\n");
     }
     getchar();
     return 0;
}
0
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 23
21.05.2011, 03:25  [ТС]
в строке
C++
1
for(unsigned i = 0; i < 5; i++)
на этапе компиляции видает ошибку в строке 18,25,42: Multiple declaration for 'i'
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
21.05.2011, 03:32
Цитата Сообщение от Cherepinsky Посмотреть сообщение
Multiple declaration for 'i'
с английским совсем туго? хотя и не только с ним
поубирайте unsigned во всех циклах кроме первого
0
0 / 0 / 0
Регистрация: 22.09.2010
Сообщений: 23
21.05.2011, 04:01  [ТС]
Можете подсказать как операции превращения отдельного рядка и столбца оформить как процедуру?

Добавлено через 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
#include<conio.h>
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
clrscr();
        double matr[5][5];
        for(unsigned i = 0; i < 5; i++)
        {
                for(unsigned j = 0; j < 5; j++)
                {
                        matr[i][j] = rand() % (i * j + j + i + 1) + 1;
                        printf("%.2lf\t", matr[i][j]);
                }
                printf("\n");
        }
//multiply
    printf("\n");
        for( i = 0; i < 5; i++)
        {
                for(unsigned j = 1; j < 5; j++)
                {
                        matr[i][j] *= matr[i][0];
                }
        }
        for( i = 0; i < 5; i++)
        {
                for(unsigned j = 0; j < 5; j++)
                {
                        printf("%.2lf\t", matr[i][j]);
                }
                printf("\n");
        }
//div
        printf("\n");
        for(unsigned j = 0; j < 5; j++)
        {
                for( i = 1; i < 5; i++)
                {
                        matr[i][j] /= matr[0][j];
                }
        }
        for(i = 0; i < 5; i++)
        {
                for( j = 0; j < 5; j++)
                {
                        printf("%.2lf\t", matr[i][j]);
                }
                printf("\n");
        }
        getchar();
        return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.05.2011, 04:01
Помогаю со студенческими работами здесь

Создать новую матрицу, скопировав её из исходной; заполнить 30% новой матрицы нулями в случайном порядке
Задание 3 скопировать 2-мерный массив и 30% чисел в нем заполнить нулями (в случайном порядке)

Если в матрице есть одна строка, сумма элементов которой отрицательна, создать новую матрицу по правилу
Люди, кто-нибудь знает как задачку решить? Хотя бы на мысль подтолкните плизззз)) Составить программу, которая получает матрицу А...

Создать новую матрицу из тех столбцов исходной, сумма которых больше суммы всех элементов матрицы
Ввести матрицу из n*m чисел (массив и числа m, n ввести с экрана). Создать новую матрицу из тех столбцов введенной матртцы, сумма которых...

Получить новую матрицу
Даны две целочисленные квадратные матрицы порядка n. Нужно получить новую матрицу прибавлением к элементам каждого столбца первой...

Получить новую матрицу
Здравствуйте, нужен код для задачки на языке C: Даны две действительные квадратные матрицы порядка n. Получить новую матрицу умножением...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru