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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
MustangGT
1 / 1 / 0
Регистрация: 08.11.2009
Сообщений: 56
#1

Visual C++ двумерный массив - C++

11.11.2009, 19:16. Просмотров 1567. Ответов 11
Метки нет (Все метки)

Ввести матрицу размером NxM. Память для массива выделить динами-чески.Найти сумму элементов, расположенных в четных (по номеру) строках матрицы.

Добавлено через 6 минут
вот кусок кода для создания матрицы Н на М
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
int main()
23
{
double **a, tmp;
int i, j, n, m;
cout << "Vvedite razmer: n, m" << endl;
cin >> n >> m;
a = new double*[n]; // Выделение памяти под массив указателей
for(i=0; i<n; i++) // Выделение памяти под соответствующие
a[i] = new double[m]; // этим указателям строки матрицы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2009, 19:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Visual C++ двумерный массив (C++):

двумерный массив в Visual С++ - C++
Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной...

двумерный динамический массив в visual studio - C++
Дана целочисленная квадратная матрица . Измените порядок следования элементов главной диагонали этой матрицы на противоположный . Выведите...

Нужно написать программу(Двумерный массив) в Visual Studio 2008 - C++
Дана целочисленная прямоугольная матрица. Определить: 1) сумму элементов в тех строках, которые содержат хотя бы один отрицательный...

Как можно вложить двумерный массив в двумерный? - C++
Нужно написать программу перемножения двух матриц размерностью МxМ, элементы которых, матрицы размерностью КxК... Подскажите (желательно с...

Массив: Как скопировать двумерный массив в другой массив? - C++
Как скопировать двумерный массив в другой массив?

Массив: преобразорвать двумерный массив в одномерный и отсортировать его методом пузырька - C++
всем привет. народ помогите с прогой, конкретно с функцией sort (65 строка), она должна двухмерный массив перевести построчно в одномерный...

11
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
11.11.2009, 19:23 #2
MustangGT, for (int i = 0 ; i < n ; i+=2) for (int j = 0 ; j < m ; j++) sum + = a[i][j] ;
double sum = 0 ; вначале
1
MustangGT
1 / 1 / 0
Регистрация: 08.11.2009
Сообщений: 56
11.11.2009, 19:49  [ТС] #3
Чччееее????)
0
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
11.11.2009, 19:51 #4
MustangGT, а чо не так?)
1
MustangGT
1 / 1 / 0
Регистрация: 08.11.2009
Сообщений: 56
11.11.2009, 20:01  [ТС] #5
не... се так... я просто не въеду ЧТО так)))и как так)

Добавлено через 7 минут
напиши код с пояснениями)))
0
MustangGT
1 / 1 / 0
Регистрация: 08.11.2009
Сообщений: 56
12.11.2009, 01:15  [ТС] #6
Y kogo nit' est' esche varianty?
0
MustangGT
1 / 1 / 0
Регистрация: 08.11.2009
Сообщений: 56
14.11.2009, 20:58  [ТС] #7
Ввести матрицу размером NxM. Память для массива выделить динами-чески.Найти сумму элементов, расположенных в четных (по номеру) строках матрицы.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
int main()
{
double **a, tmp;
int i, j, n, m;
cout << "Vvedite razmer: n, m" << endl;
cin >> n >> m;
a = new double*[n]; // Выделение памяти под массив указателей
for(i=0; i<n; i++) // Выделение памяти под соответствующие
a[i] = new double[m]; // этим указателям строки матрицы
for (int i = 0 ; i < n ; i+=2) 
for (int j = 0 ; j < m ; j++) 
sum + = a[i][j] ; 
double sum = 0 ;
0
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
14.11.2009, 21:15 #8
MustangGT, double sum = 0; в начале когда сделай
1
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
14.11.2009, 21:34 #9
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
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
int main()
{
double **a, sum = 0 ;
int i, j, n, m;
cout << "Vvedite razmer: n, m" << endl;
cin >> n >> m;
a = new double*[n]; // ÂûäåëåГ*ГЁГҐ ГЇГ*ìÿòè ïîä Г¬Г*Г±Г±ГЁГў ГіГЄГ*Г§Г*òåëåé
for(i=0; i<n; i++) // ÂûäåëåГ*ГЁГҐ ГЇГ*ìÿòè ïîä ñîîòâåòñòâóþùèå
a[i] = new double[m]; // ГЅГІГЁГ¬ ГіГЄГ*Г§Г*òåëÿì ñòðîêè Г¬Г*òðèöû
cout<<"Vvedite elementy massiva"<<endl;
for(i=0; i<n; i++)
for(j=0; j<m; j++)
{
    cout<<"["<<i<<"]["<<j<<"]= ";
    cin>>a[i][j];
}
for (i = 0 ; i < n ; i+=2) 
for (j = 0 ; j < m ; j++) 
sum+=a[i][j] ; 
cout<<"Summa: "<<sum<<endl;
return 0;
}
1
MustangGT
1 / 1 / 0
Регистрация: 08.11.2009
Сообщений: 56
15.11.2009, 15:37  [ТС] #10
Цитата Сообщение от valeriikozlov Посмотреть сообщение
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
#include <iostream.h>
#include <iomanip.h>
#include <math.h>
int main()
{
double **a, sum = 0 ;
int i, j, n, m;
cout << "Vvedite razmer: n, m" << endl;
cin >> n >> m;
a = new double*[n]; // ÂûäåëåГ*ГЁГҐ ГЇГ*ìÿòè ïîä Г¬Г*Г±Г±ГЁГў ГіГЄГ*Г§Г*òåëåé
for(i=0; i<n; i++) // ÂûäåëåГ*ГЁГҐ ГЇГ*ìÿòè ïîä ñîîòâåòñòâóþùèå
a[i] = new double[m]; // ГЅГІГЁГ¬ ГіГЄГ*Г§Г*òåëÿì ñòðîêè Г¬Г*òðèöû
cout<<"Vvedite elementy massiva"<<endl;
for(i=0; i<n; i++)
for(j=0; j<m; j++)
{
    cout<<"["<<i<<"]["<<j<<"]= ";
    cin>>a[i][j];
}
for (i = 0 ; i < n ; i+=2) 
for (j = 0 ; j < m ; j++) 
sum+=a[i][j] ; 
cout<<"Summa: "<<sum<<endl;
return 0;
}



маленький недочет... при написании матрицы с не четным колвом столбцов и строк появляется лишняя сумма строк массив 5 на 5 из единиц... в итоге ответ 15
а 4 на 4 как надо 8 как это исправить????
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
15.11.2009, 16:09 #11
Дело в том что в массивах индесация (она же нумерация) начинается с 0. Т.е. например если задан массив 5 на 5, то у него есть строки: 0, 1, 2, 3, 4. Значит он считает правильно. Но если захотите изменить нумерацию строк и столбцов с 1, тогда:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream.h>
int main()
{
double **a, sum = 0 ;
int i, j, n, m;
cout << "Vvedite razmer: n, m" << endl;
cin >> n >> m;
a = new double*[n]; // ÂûäåëåГ*ГЁГҐ ГЇГ*ìÿòè ïîä Г¬Г*Г±Г±ГЁГў ГіГЄГ*Г§Г*òåëåé
for(i=0; i<n; i++) // ÂûäåëåГ*ГЁГҐ ГЇГ*ìÿòè ïîä ñîîòâåòñòâóþùèå
a[i] = new double[m]; // ГЅГІГЁГ¬ ГіГЄГ*Г§Г*òåëÿì ñòðîêè Г¬Г*òðèöû
cout<<"Vvedite elementy massiva"<<endl;
for(i=0; i<n; i++)
for(j=0; j<m; j++)
{
        cout<<"["<<i+1<<"]["<<j+1<<"]= ";
        cin>>a[i][j];
}
for (i = 1 ; i < n ; i+=2) 
for (j = 0 ; j < m ; j++) 
sum+=a[i][j] ; 
cout<<"Summa: "<<sum<<endl;
return 0;
}
1
MustangGT
1 / 1 / 0
Регистрация: 08.11.2009
Сообщений: 56
15.11.2009, 16:43  [ТС] #12
ВОТ ТЕПЕРЬ СЕ СУПЕР!!! ОГРОМНОЕ ПАСИБО!!!))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2009, 16:43
Привет! Вот еще темы с ответами:

Чем отличаются двумерный символьный массив и массив указателей на строки - C++
Двумерный символьный массив и массив указателей на строки. Собственно чем они отличаются? Заранее спасибо.

Массив: Как можно задать и вывести симметричный двумерный массив? - C++
как можно задать и вывести симметричный массив

Дан двумерный массив 3х3. Получить одномерный массив из из отрицательных элементов матрицы. - C++
Пожалуйста, помогите решить простым методом задачку, просто не могу понять смысл ее выполнения. Дан двумерный массив 3х3.Получить...

Дан двумерный массив размерностью 4*5. Сформировать одномерный массив - C++
Дан двумерный массив размерностью 4*5, заполненный целыми числами с клавиатуры. Сформировать одномерный массив каждый элемент которого...


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

Или воспользуйтесь поиском по форуму:
12
Yandex
Объявления
15.11.2009, 16:43
Ответ Создать тему
Опции темы

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