Python в СРЦОД: 3. Поиск в двумерном массиве
Напишите программу, которая вычисляет сумму элементов матрицы.
Входные данные
В первой строке записаны через пробел размеры матрицы: количество строк N и количество столбцов M ( 1 ≤ N , M ≤ 100 ). В следующих N строках записаны строки матрицы, в каждой – по M натуральных чисел, разделённых пробелами.
Выходные данные
Программа должна вывести одно число – сумму элементов матрицы.
Входные данные
4 5 1 2 3 4 5 6 12 8 9 10 11 12 12 14 15 16 17 18 12 20
Сумма элементов матрицы
Задача.
Напишите программу, которая вычисляет сумму элементов матрицы.
Входные данные
В первой строке записаны через пробел размеры матрицы:
количество строк N и количество столбцов M (1 В следующих N строках записаны строки матрицы,
в каждой – по M натуральных чисел, разделённых пробелами.
Выходные данные
Программа должна вывести одно число – сумму элементов матрицы.
Примеры
входные данные
4 5
1 2 3 4 5
6 12 8 9 10
11 12 12 14 15
16 17 18 12 20
выходные данные
207
Вот код решения этой задачи:
1 2 3 4 5 6 7 8 9 10
N, M = map (int, input ().split ()) S = 0 # S - сумма элементов матрицы # i - номер строки for i in range (N) : T = input ().split () for t in T : S += int (t) print (S)
Тестирующая система с автоматической проверкой принимает этот код, считает его безошибочным.
Но у меня возник вопрос.
Переменная M в первой строчке кода вводится, но ниже в программу нигде не применяется.
Код работает не только для прямоугольных (квадратных) матриц, а и для любых типа
0 0 0 0
1
2 3
9 9 9 9 9 9
с переменным числом элементов в строке матрицы.
Не могу понять вот что:
как вводить в одну строку ровно M значений?
Программа, которая находит элементы, сумма стоящих элементов строки до рассматриваемого элемента
Составить программу, которая в матрице D(m, n) находит все элементы, где сумма всех элементов строки, стоящих до рассматриваемого, больше суммы элементов столбца , стоящих до рассматриваемого. Сумму предшествующих элементов считать равной нулю, если элемент является первым в строке или столбце. Сформировать из найденных элементов массив. Вывести матрицу в виде матрицы, а под ней — элементы массива. VS выдает 14 ошибок: Все имена dataGridView, numericUpDown, InitializeComponent не существуют в текущем контексте и Тип «Form1» уже определяет член «Form1» с такими же типами параметров. Данный код пишу в Form1.Designer.cs (название по дефолту) Помогите, пожалуйста, никак не могу понять что не так и что нужно добавить чтоб все работало..
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 < public partial class Form1 : Form < public Form1() < InitializeComponent(); >private void Form1_Load(object sender, EventArgs e) < >private void button1_Click(object sender, EventArgs e) < dataGridView1.RowCount = int.Parse(numericUpDown1.Value.ToString()); dataGridView1.ColumnCount= int.Parse(numericUpDown2.Value.ToString()); >private void button2_Click(object sender, EventArgs e) < int n = dataGridView1.RowCount; int m = dataGridView1.ColumnCount; double[,] mas = new double[n,m]; for(int i=0;iint raz = 0; dataGridView2.RowCount = 1; dataGridView2.ColumnCount = 0; for(int i=0;i <=n;i++) for (int j = 0; j <= m; j++) < double sum1=0; double sum2=0; if (i == 0) sum1 = 0; else for (int k = 0; k < i ; k++) sum1 += mas[i, k]; if (j == 0) sum2 = 0; else for (int k = 0; k < j ; k++) sum2 += mas[k, j]; if (sum1 >sum2) < dataGridView2.ColumnCount++; dataGridView2.Rows[0].Cells[raz].Value = mas[i, j]; raz++; >> > private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) < >> >
Отслеживать
задан 23 дек 2021 в 15:43
7 2 2 бронзовых знака
Отправьте Form1.Dsiner.cs
23 дек 2021 в 16:05
Form1.Designer.cs нельзя изменять, это системный файл дизайнера формы. Птсать код гадо в Form1.cs.
23 дек 2021 в 18:14
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Вероятно вы испортили файл Form1.Designer.cs, теперь вам нужно удалить все элементы и заново их создавать. Если не разбираетесь в коде Form1.Designer.cs — не нужно его редактировать, ибо всё что вы пишете там может быть удалено автоматически. Пишите всё только в Form1.cs.
Отслеживать
ответ дан 23 дек 2021 в 16:09
849 3 3 серебряных знака 13 13 бронзовых знаков
- c#
- winforms
- матрицы
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.4.29.8372
программа которая находит сумму элементов матрицы А, расположенных ниже побочной диагонали
Дана квадратная матрица А(n,n) вещественных чисел где n
program Project1; const maxelem = 10; var a: array[1..maxelem,1..maxelem] of real; < Переменная для хранения массива.>n: integer; i,j: integer; begin write('Введите значение размерности матрицы: (не более ',maxelem,'): '); Readln(n); for i:= 1 to n do for j:= 1 to n do begin write('Введите значение элемента [',i,',',j,']: '); Readln(a[i,j]); < Ввод значений в двумерный массив.>end; writeln('Исходная матрица: '); for i:= 1 to n do begin for j:= 1 to n do write(a[i,j]:7:2); < Вывод двумерного массива в консоль.>Writeln; end; writeln('Элементы побочной диагонали: '); for i:= 1 to n do write(a[n-i+1,i]:7:2); Readln; end.
Отслеживать
задан 22 июн 2020 в 17:47
user385915 user385915
и как вывести именно сумму элементов ниже побочной диагонали, а то вроде не так выводит даже сами элементы