• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Двумерные массивы

  • Автор темы Автор темы Rivass
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
R

Rivass

С одномерными массивами разобрался, теперь столкнулся с двумерными массивами, типа матриц.... Прошу помощи, объясните пожалуйста как осуществлять ввод вывод, трудновато себе представляю. Вот например задачка:
Вводится матрица целых чисел A размерами N × M (N - количество строк, М - ко-личество столбцов), а также целое число K. Вывести сумму элементов матрицы, стоящих в K-ой строке.
Попытался, что-то как-то, но нет представления, бошка кипит...
C++:
#include<stdio.h>
#include<stdlib.h>
int a[50][50],n,m,k,i,j,s;
void main(){
scanf_s ("%d%d%d",&n,&m,&k); 
for(i=0,j=0;i<n && j<m;i++,j++)
scanf_s ("%d%d",&a[i],&a[j]);
for (int i=0;i<n;i++)
{
for (int j=0;j<m;j++)
{
if(i==k)
s=0+a[i][j];
}
}
printf("%d",s);
}
Понимаю что бред, но хоть что-то...
 
Вам здесь даже ненадо вложенный цикл для вычисления суммы э-тов, стоящих в к-той строке
Код:
s=0;
for (int j=0; j<m; j++)
s+=a[k][j];
Ваша строка не будет находить сумму s=0+a[j]; Так как она будет прибавлять э-т матрицы не к себе, а к 0, и соответственно будет выдавать э-т матрицы , а не их сумму.
Ввод матрицы можно организовать так:
Код:
 for (int i=0; i< n; i++)
for(int j=0; j<m; j++)
scanf("%d",a[i][j]);
 
Огромное спасибо что помогли, особенно с вводом двумерной матрицы теперь точно понял))
Разобрался в вашем коде и всё понял, вот такая программка получилась, всё правильно считает!
C++:
#include<stdio.h>
#include<stdlib.h>
int a[50][50],n,m,k,i,j,s;
void main(){
scanf_s ("%d%d%d",&n,&m,&k); 
for (i=0; i<n; i++)
for (j=0; j<m; j++)
scanf_s("%d",&a[i][j]);
for(i=0,s=0;i<m;i++)
s=s+a[k][i];
printf("%d",s);
}
rrrFer у вас очень понятные коды и программы, низкий поклон)
 
rrrFer
Спасибо большое за замечания, ну проверку я удалил потому что преподаватель этого не требует... один раз я сделал проверку которая выводит ошибку если что не так, препод сказал не нужно делать - этого не требуется.
А почему не вводить как глобальные переменные?) Что может случиться?)
Библиотеку я ввел не намерено, просто когда делаю новую задачку, копирую из старой код, чтобы всё заново не печатать)
 
rrrFer
Ааа, вот оно что... Да, теперь понятно, в следующий раз буду стараться всегда вводить локальные переменные)
Большое спасибо!
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!