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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.80
Гость1111
#1

Найти сумму элементов первого и последнего столбца матрицы - C++

04.05.2008, 09:35. Просмотров 2556. Ответов 9
Метки нет (Все метки)

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



Как это сделать подскажите.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2008, 09:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти сумму элементов первого и последнего столбца матрицы (C++):

Найти сумму элементов первого столбца без одного последнего элемента, сумму элементов второго столбца без двух последних... - C++
Здравствуйте, форумчане! У меня вот такая вот задачка: Задан двумерный массив. Найти сумму элементов первого столбца без одного...

Вычислить сумму элементов первого столбца матрицы А[3,4] - C++
Вычислить сумму элементов первого столбца матрицы А. Матрица вводится с клавиатуры.

Найти сумму первого,последнего и центрального элементов массива из 20 элементов. - C++
Дан массив из 20 чисел мо знаком. Найти сумму первого,последнего и центрального элементов массива. помогите.

Найти сумму элементов массива от первого до последнего нулевого - C++
Собственно, проблема с тем, как определить этот самый последний элемент и запомнить его. Вот что у меня получилось, но постоянно сумма=0...

Найти построчно сумму первого и последнего элементов двумерного массива - C++
Задан двумерный массив А(6)(6) целых чисел. Ввести массив в теле программы с помощью счетчика случайных чисел. Найдите построчно суммы...

Двоичные файлы. Найти сумму первого, среднего и последнего элементов - C++
В двоичном файле целого типа определить сумму его первого, среднего и последнего элементов, считая, что число элементов в файле - нечетно.

9
Ilidan
0 / 0 / 0
Регистрация: 08.10.2007
Сообщений: 10
04.05.2008, 14:21 #2
Я конечно не знаю, что такое матрица(еще в школе учусь), но думаю что-то связаное с двумерным массивом. Вот что у меня вышло:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
void main(){
    int sum=0;
    const int n=5, m=5;
    int array[n][m];
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            array[i][j]=i+j+3;
    for(i=0;i<n;i++)
        sum+=array[i][0];
    for(i=0;i<n;i++)
        sum+=array[i][m-1];
    cout<<sum<<endl;
            
}
0
nnn
16.05.2008, 08:20 #3
У тебя она работает?

Вот я написал свой вариант, но она какой-то бред выдаёт.
Подскажите в чём ошибка плиз.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <conio.h>
int main()
{ int a[10][10],n,i,j,sum1=0,sum2=0;
  puts("Vvedite razmer matrici n:");
  fflush(stdin);
  scanf("%d",&n);
  printf("Vvedite celyu matricy razmerom (%dx%d) postro4no:\n",n,n);
  for(i=0;i<n;i++)
  {for(j=0;j<n;j++) 
      fflush(stdin);
  scanf("%d",&a[i][j]);}
  printf("Sum:\n");
    for(i=0;i<n;i++)
        {for(j=0;j<n;j++)
        sum1+=a[i][0];
        sum2+=a[i][j-1];}
    printf("sum1=%d   sum2=%d",sum1,sum2);
            getch();
}
Alirp
56 / 51 / 1
Регистрация: 04.05.2008
Сообщений: 273
16.05.2008, 08:51 #4
Ну для начала если ты хочеш вводит размер матрицы, то и определять ее надо после введения значения, то есть определение матрицы a[][] написать после scanf("%d",&n);
в виде:
C++
1
int a [n][n];
а только после этого начать ее заполнение и суммирование элементов.
А во вторых функция суммирования должна быть такой:
C++
1
2
3
4
5
6
7
  printf("Sum:\n");
    for(i=0;i<n;i++)
        sum1+=a[i][0];
        sum2+=a[i][n-1];
            }
    printf("sum1=%d   sum2=%d",sum1,sum2);
           getch();
После этого должно все заработать.
0
MsDos
5 / 5 / 1
Регистрация: 13.05.2008
Сообщений: 91
16.05.2008, 16:02 #5
работающий код:
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
#include <stdio.h>
#include <conio.h>
 
 
void main()
{
 clrscr();
 int n, i=0, j=0, sum1=0, sum2=0;           //n-размер квадратной матрицы int а
 
 puts("Vvedite razmer matrici n:");
 scanf("%d",&n);
 
 int **a = new int *[n];            //обьявление динамического массива а
 for (i=0; i<n; i++) a[i] = new int [n];
 
 
 printf("Vvedite celyu matricy razmerom (%dx%d) postro4no:\n",n,n);
 for(i=0; i<n; i++) for(j=0; j<n; j++) scanf("%d",&a[i][j]);    //заполнение матрицы
 
 for(i=0; i<n; i++)             //суммирование
 {
   sum1+=a[i][0];
   sum2+=a[i][n-1];
 }
 
 printf("sum1=%d sum2=%d",sum1,sum2);       //вывод суммы
 
 for (i=0; i<n; i++) delete a[i]; delete []a;   //освобождние памяти, занимаемое дин. массивом а
 getch();
}
функция создает динамический массив (неопределенной длины на начало компиляции), считает и выдает ответ
если нужно чтобы динамичского выделения не было, можно вместо него создавать статический, но ограничивать возможный вводимый размер n

Добавлено через 8 минут
Alirp, на строчку int a [n][n]; компилятор заругается, что n не определено. для подобного используют динамические массивы.
1
Alirp
56 / 51 / 1
Регистрация: 04.05.2008
Сообщений: 273
16.05.2008, 16:09 #6
Цитата Сообщение от MsDos Посмотреть сообщение
Alirp, на строчку int a [n][n]; компилятор заругается, что n не определено. для подобного используют динамические массивы.
Я написал то записать int a [n][n] после вызова написать после scanf("%d",&n);
Так что n уже будет определен.
0
MsDos
5 / 5 / 1
Регистрация: 13.05.2008
Сообщений: 91
16.05.2008, 16:25 #7
гг
на момент компиляции
0
Alirp
56 / 51 / 1
Регистрация: 04.05.2008
Сообщений: 273
16.05.2008, 16:34 #8
Цитата Сообщение от MsDos Посмотреть сообщение
гг
на момент компиляции
Компилятор ругаться не будет, так как n обявлен, просто не задано значение, которое и задается scanf("%d",&n);
Если хочешь можеш проверить следующий код:

int n;
scanf("%d",&n);
int a [n][n];

Я проверял и у меня компилятор не ругался.
0
MsDos
5 / 5 / 1
Регистрация: 13.05.2008
Сообщений: 91
16.05.2008, 18:06 #9
нововведение?? всегда такой код не компилировался..
наверное, в новых компиляторах прописали, ато столько мороки с этими массивами >_<
мой борланд ошибку выдает.
0
Гость111
17.05.2008, 08:42 #10
Можно ещё вот так сделать, никаких динамических массивов, не надо потом освобождать память.

Всем огромное Спасибо!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
int main()
{
int n,i,j ,sum1=0,sum2=0; 
puts("Vvedite razmer matrici n:");
scanf("%d",&n);
int a[n][n]; 
printf("Vvedite celyu matricy razmerom (%dx%d) postro4no:\n",n,n);
for(i=0; i<n; i++) for(j=0; j<n; j++) scanf("%d",&a[i][j]); 
for(i=0; i<n; i++) 
{
sum1+=a[i][0];
sum2+=a[i][n-1];
}
printf("sum1=%d sum2=%d",sum1,sum2);
getch();
}
17.05.2008, 08:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2008, 08:42
Привет! Вот еще темы с ответами:

Матрицы. Найти и распечатать сумму элементов 5-го столбца матрицы А и сумму элементов последней строки матрицы В - C++
Даны две матрицы А(mxn)и В(m1xn1).программа находит и распечатывает сумму элементов 5-го столбца матрицы А и сумму элементов последней...

Подсчитать сумму первого и последнего столбца в матрице - C++
Есть задача. Подсчитать сумму первого и последнего столбца в неопределенной матрице и с неопределенном количеством пробелов между...

Найти процент отрицательных чисел в массиве и вычислить сумму первого и последнего положительных элементов - C++
Задание 1.Задан массив вещественных чисел Х(n). Найти: • процент отрицательных чисел в массиве; • сумму первого и последнего...

Найти произведение положительных элементов первого столбца матрицы - C++
Всем привет! Помогите написать программу Дана целочисленная матрица 6х8. Найти произведение(умножение) положительных элементов первого...


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

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

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