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

На побочной диагонали разместить суммы элементов, лежащих на той же строке и столбце

24.06.2018, 16:04. Показов 2394. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать квадратную матрицу целых чисел размером 9х9. В индивидуальных заданиях указано, какую обработку матрицы нужно выполнить.
Если по условию задачи матрицу следует заполнить случайными числами, рекомендуем выбирать эти числа из диапазона 0 - 99. Если по условию задачи в матрицу следует записать ЛП - линейную последовательность чисел, имеется в виду последовательность: 1, 2, 3. Заполнить матрицу случайными числами. На побочной диагонали разместить суммы элементов, лежащих на той же строке и столбце: Название: с.png
Просмотров: 80

Размер: 47.5 Кб
Помогите пожалуйста нужно сделать на завтра то задача!
visual studio c++
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.06.2018, 16:04
Ответы с готовыми решениями:

На побочной диагонали матрицы разместить суммы элементов, которые лежат той же строке и столбце
Нужно написать код на чистом С. 1. Дана прямоугольная матрица . Заполнить матрицу случайными числами. На побочной диагонали разместить...

На побочной диагонали матрицы разместить суммы элементов, которые лежат той же строке и столбце
Заполнить матрицу случайными числами. На побочной диагонали разместить суммы элементов, которые лежат той же строке и столбце. ...

На побочной диагонали разместить суммы элементов, которые лежат на той же строке и столбце.
Помогите пожалуйста решить!СПАСИБО! На побочной диагонали разместить суммы элементов, которые лежат на той же строке и столбце. Розбить...

18
 Аватар для worldandlife
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 513
24.06.2018, 16:58
Тарасо, что именно у вас не получается? Что конкретно нужно сделать?
0
1 / 1 / 0
Регистрация: 19.06.2018
Сообщений: 79
24.06.2018, 17:21  [ТС]
Нужно Заполнить матрицу случайными числами. На побочной диагонали разместить суммы элементов, лежащих на той же строке и столбце Название: с.png
Просмотров: 75

Размер: 47.5 Кб.

Я незнаю как ее делать, помогите пожалуйста
0
 Аватар для worldandlife
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 513
24.06.2018, 18:56
Тарасо, пошаманил, вот что получилось
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
#include <iostream>
 
using namespace std;
 
int main()
{  
    const int n = 4;
    int a[n][n];
    for(int i=0;i<n;i++)  //заполняем матрицу 
    {
      for(int j=0;j<n;j++)
      {
       a[i][j] = i * n + j+1; //по порядку или случайными: a[i][j] = rand()%10;
       cout <<"\t"<< a[i][j];
      }
       cout<<endl;
    }
    cout<<endl;
   int sum=0;
    for(int i=0;i<n;i++)  //суммируем столбцы и строки ячеек побочной диагонали и заносим сумму
    {
       for(int j=0;j<n;j++) 
       if (j+1==n-i)
       {
     for(int k=0;k<n;k++) 
        sum+=a[k][j];
       for(int k1=0;k1<n;k1++) 
        sum+=a[i][k1];
       a[i][j]=sum-a[i][j];
       sum=0;
       
       }
    
    }
    
         for(int i=0;i<n;i++) //Выводи новую матрицу на экран
         {
      for(int j=0;j<n;j++) 
      {
          
       
        cout << "\t"<<a[i][j];
      }
      cout<<endl;
         }
   
    return 0;
}
0
1 / 1 / 0
Регистрация: 19.06.2018
Сообщений: 79
24.06.2018, 19:55  [ТС]
Спасибо, спас!!
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
24.06.2018, 23:23
Тарасо, обратите внимание - у Вас по условию матрица
Цитата Сообщение от Тарасо Посмотреть сообщение
размером 9х9
требуется
Цитата Сообщение от Тарасо Посмотреть сообщение
Заполнить матрицу случайными числами.
и рекомендуется
Цитата Сообщение от Тарасо Посмотреть сообщение
выбирать эти числа из диапазона 0 - 99.
в этом случае применяйте для рандомного заполнения a[i][j] = rand()%100; добавьте #include <ctime> и первой строкой в функции main поставьте srand((int)time(0));
0
1 / 1 / 0
Регистрация: 19.06.2018
Сообщений: 79
25.06.2018, 09:11  [ТС]
Понял. Спасибо. Помоги сделать еще эту задачу буду очень благодарен !!
Выполнить задание практической работы №7 с такими дополнительными условиями:
• размер массива определяется в начале выполнения программы как случайное число в диапазоне 50 - 200;
• в тексте программы запрещается применять операцию индексации.
Условие:

размерность массива
200
диапазон значений
-50 – 50
Что нужно сделать
Найти с непрерывных последовательностей отрицательных чисел ту, которая имеет наибольшее абсолютное значение среднего арифметического ее элементов
с++
visual studio c++
0
475 / 427 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
25.06.2018, 10:58
Тарасо, Что-то вроде такого:
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
#include <iostream>
#include <ctime>
 
#define Min_Size_Value 50
#define Max_Size_Value 200
 
#define Min_Rand_Value -50
#define Max_Rand_Value 50
 
using std::cin;
using std::cout;
using std::endl;
 
int main()
{
    srand(time(NULL));
    int n = Min_Size_Value + rand() % (Max_Size_Value - Min_Size_Value + 1);
    cout << "Rand size [50,200] = " << n << endl;
    int *arr = new int[n];
    for (int i=0; i<n; i++)
    {
        *(arr + i) = Min_Rand_Value + rand() % (Max_Rand_Value - Min_Rand_Value + 1);
        cout << *(arr + i) << " ";
    }
    cout << endl;
    
    int i = 0, mx = 0, i1 = 0, i2 = 0;
    while (i < n)
    {
        if (*(arr + i) < 0)
        {
            int k = 0, s = 0, j = i;
            while (j<n && *(arr + j) < 0)
            {
                k++;
                s += *(arr + j);
                j++;
            }
            s = abs(s / k);
            if (s > mx)
            {
                i1 = i;
                i2 = i + k - 1;
                mx = s;
            }
            i += k + 1;
        }
        else
            i++;
    }
 
    cout << "Negatives: ";    
    for (i = i1; i<=i2; i++)
        cout << *(arr + i) << " ";
    cout << endl;
    cout << "Avg = " << mx << endl;
    delete []arr;
}
1
1 / 1 / 0
Регистрация: 19.06.2018
Сообщений: 79
25.06.2018, 11:09  [ТС]
SuperKir ти супер Спасибо!!!!
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
25.06.2018, 12:08
Лучший ответ Сообщение было отмечено Тарасо как решение

Решение

Тарасо, для новой задачи создавайте новую тему

SuperKir, не считайте что придираюсь. код работает хорошо. вопрос вот в чём - может ли последовательность состоять из одного члена и не будет ли это называться не последовательностью, а числом ?
1
475 / 427 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
25.06.2018, 12:16
Лучший ответ Сообщение было отмечено Тарасо как решение

Решение

Yetty, Это хороший вопрос, но по определению для данной задачи - думаю можно)
1
1 / 1 / 0
Регистрация: 19.06.2018
Сообщений: 79
25.06.2018, 13:14  [ТС]
Простите а что это значит "Avg = " ?

Добавлено через 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
54
55
56
57
58
#include <iostream>
#include <ctime>
 
#define Min_Size_Value 50
#define Max_Size_Value 200
 
#define Min_Rand_Value -50
#define Max_Rand_Value 50
 
using std::cin;
using std::cout;
using std::endl;
 
int main()
{
    srand(time(NULL));
    int n = Min_Size_Value + rand() % (Max_Size_Value - Min_Size_Value + 1);
    cout << "Rand size [50,200] = " << n << endl;
    int *arr = new int[n];
    for (int i=0; i<n; i++)
    {
        *(arr + i) = Min_Rand_Value + rand() % (Max_Rand_Value - Min_Rand_Value + 1);
        cout << *(arr + i) << " ";
    }
    cout << endl;
    
    int i = 0, mx = 0, i1 = 0, i2 = 0;
    while (i < n)
    {
        if (*(arr + i) < 0)
        {
            int k = 0, s = 0, j = i;
            while (j<n && *(arr + j) < 0)
            {
                k++;
                s += *(arr + j);
                j++;
            }
            s = abs(s / k);
            if (s > mx)
            {
                i1 = i;
                i2 = i + k - 1;
                mx = s;
            }
            i += k + 1;
        }
        else
            i++;
    }
 
    cout << "Negatives: ";    
    for (i = i1; i<=i2; i++)
        cout << *(arr + i) << " ";
    cout << endl;
    cout << "Avg = " << mx << endl;
    delete []arr;
}
0
475 / 427 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
25.06.2018, 13:27
Цитата Сообщение от Тарасо Посмотреть сообщение
Простите а что это значит "Avg = " ?
Average value - среднее значение
Average -> Avg


Используй ТЕГИ для кода. Чуть позже опишу, если никто не возьмется
0
1 / 1 / 0
Регистрация: 19.06.2018
Сообщений: 79
25.06.2018, 13:48  [ТС]
Понял спасибо ты лутший!!!!!!!!
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
25.06.2018, 14:14
Тарасо, поспешил с оценкой программы. среднее арифметическое подсчитывается неправильно.
Negatives: -42 -41
Avg = 41
среднее типа int - это ошибка. нужно использовать тип double. в данном случае среднее арифметическое -41.5 (по модулю 41.5). соответственно и результат работы программы (т.е. вывод самой последовательности) может быть неправильным.
0
1 / 1 / 0
Регистрация: 19.06.2018
Сообщений: 79
25.06.2018, 19:27  [ТС]
пожалуйста опишите этот код что он означает, сделать описание этого кода мне нужно сейчас его сдавать учителю пожалуйста опишите кто нибудь, пошагово описать его, я не понимаю что значит буду очень благодарен, вот самый код:

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
#include <iostream>
#include <ctime>
 
#define Min_Size_Value 50
#define Max_Size_Value 200
 
#define Min_Rand_Value -50
#define Max_Rand_Value 50
 
using std::cin;
using std::cout;
using std::endl;
 
int main()
{
srand(time(NULL));
int n = Min_Size_Value + rand() % (Max_Size_Value - Min_Size_Value + 1);
cout << "Rand size [50,200] = " << n << endl;
int *arr = new int[n];
for (int i=0; i<n; i++)
{
*(arr + i) = Min_Rand_Value + rand() % (Max_Rand_Value - Min_Rand_Value + 1);
cout << *(arr + i) << " ";
}
cout << endl;
 
int i = 0, mx = 0, i1 = 0, i2 = 0;
while (i < n)
{
if (*(arr + i) < 0)
{
int k = 0, s = 0, j = i;
while (j<n && *(arr + j) < 0)
{
k++;
s += *(arr + j);
j++;
}
s = abs(s / k);
if (s > mx)
{
i1 = i;
i2 = i + k - 1;
mx = s;
}
i += k + 1;
}
else
i++;
}
 
cout << "Negatives: "; 
for (i = i1; i<=i2; i++)
cout << *(arr + i) << " ";
cout << endl;
cout << "Avg = " << mx << endl;
delete []arr;
}
0
475 / 427 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
25.06.2018, 21:36
Тарасо,
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 <iostream>
#include <ctime>
 
#define Min_Size_Value 50 //Это минимальное число для рандома размера
#define Max_Size_Value 200 //Это максимальное число для рандома размера
 
#define Min_Rand_Value -50 //Это минимальное число для рандома числа массива
#define Max_Rand_Value 50 //Это максимальное число для рандома числа массива
 
using std::cin; //использование cin из пространства имен std
using std::cout; //использование cout из пространства имен std
using std::endl; //использование endl из пространства имен std
 
int main()
{
    srand(time(NULL)); //инициализация генератора случайных чисел 
    int n = Min_Size_Value + rand() % (Max_Size_Value - Min_Size_Value + 1); //n получается рандомно в диапазоне [Min_Size_Value, Max_Size_Value]
    cout << "Rand size [50,200] = " << n << endl; //Выводится получившееся n
    int *arr = new int[n]; //Выделяется память под целочисленный массив из n элементов
    for (int i=0; i<n; i++) //цикл по массиву
    {
        *(arr + i) = Min_Rand_Value + rand() % (Max_Rand_Value - Min_Rand_Value + 1); //arr[i] элемент инициализируется рандомно в диапазоне [Min_Rand_Value, Max_Rand_Value]
        cout << *(arr + i) << " "; //вывод элемента arr[i]
    }
    cout << endl; //пропуск строчки :D
    
    int    i = 0, //инициализация вспомогательных переменных
            i1 = 0, i2 = 0; //эти для цепочки от i1 до i2
    double mx = 0.0; //наибольшее среднее значение 
    while (i < n) //пока i < n
    {
        if (*(arr + i) < 0) //проверяем, arr[i] < 0?
        { //да
            int k = 0, j = i; //вспомогательные переменные
            double s = 0.0; //текущая сумма
            while (j<n && *(arr + j) < 0) //пока j<n и arr[j]<0
            {
                k++; //увеличиваем счетчик чисел
                s += *(arr + j); //суммируем arr[j] элемент в сумму s
                j++; //перемещаемся на след.элемент
            }
            s = abs(s / k); //вычисляем модуль суммы ср.арифм
            if (s > mx) //проверяем, больше ли текущее среднее вычисленного ранее
            { //да
                i1 = i; //начало цепочки i
                i2 = i + k - 1; //конец цепочки i+k-1 (от того что начали + количество элементов - 1 (до него))
                mx = s; //ср.арифм присвоим наибольшее
            }
            i += k + 1; //перейдем на след. элемент после последнего проверенного
        }
        else //нет
            i++; //просто переходим на след.элемент (ну, точнее икременируем индекс, под которым находится след.элемент :D)
    }
 
    cout << "Negatives: ";    //выводим сообщение
    for (i = i1; i<=i2; i++) //от первого элемента i1 в цепочке до i2 
        cout << *(arr + i) << " "; //выводим arr[i]
    cout << endl;
    cout << "Avg = " << mx << endl; //выводим ср.арифм по модулю что нашли
    delete []arr; //очищаем выделенную под arr память
}
0
1 / 1 / 0
Регистрация: 19.06.2018
Сообщений: 79
25.06.2018, 21:38  [ТС]
Ти просто супер!!! Спасибо ти лутший!!
0
1 / 1 / 0
Регистрация: 19.06.2018
Сообщений: 79
03.10.2018, 20:46  [ТС]
Можешь пожалуйста помочь решить еэту задачу очень срочна нужна!!!

1.Подпункт написать подпрограмма для вычисления виразу. Значення переменных нужно вводить с клавиатуры. 2. Подпункт построить блок схему. Теперь задача: Написать выражение который принимает истинное значение, если целое число, образованное тремя старшими цифрами дробной части большего из двух заданных вещественных чисел, является четным.
в visual studio c++
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.10.2018, 20:46
Помогаю со студенческими работами здесь

На побочной диагонали матрицы разместить суммы элементов, которые лежат на той же строке и столбце
2)Заполнить матрицу случайными числами. На побочной диагонали разместить суммы элементов, которые лежат на той же строке и столбце.

На побочной диагонали разместить суммы элементов лежащие на тех же строке и столбце
Заполнить матрицу случайными числами. На побочной диагонали разместить суммы элементов которые лежат на той той же строке и столбце. я...

Заполнить матрицу случайными числами.На побочной диогонали разместить суммы элементов,которые лежат на той же строке и столбце
Заполнить матрицу случайными числами.На побочной диогонали разместить суммы элементов,которые лежат на той же строке и столбце.

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

На главной диагонали матрицы разместить суммы элементов, которые лежат на той же строке и том же столбце
(Тема перемещена из раздела &quot;Pascal&quot;) Заполнить матрицу случайными числами.На главной диагонали разместить суммы элементов,которые...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru