Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
VВладимир
1 / 1 / 1
Регистрация: 08.10.2012
Сообщений: 50
#1

Применение циклов в расчетах с матрицами - C++

20.10.2012, 13:00. Просмотров 313. Ответов 3
Метки нет (Все метки)

Здравствуйте! Помогите, пожалуйста разобраться в следующей проблеме: пытаюсь прибавить к каждому элементу матрицы одно и тоже число, для чего создаю цикл. Но после компиляци выводится какой-то непонятный результат. Подскажите, пожалуйста, в чем проблема. Заранее благодарен
Ниже привожу код программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
for (k1=1; k1<=20; k1++)
double dkiMatrix[size][size] = {120+k1, 20+k1, 100+k1, 50+k1,
                                      110+k1, 20+k1, 90+k1, 45+k1,
                                      105+k1, 18+k1, 85+k1, 43+k1,
                                      100+k1, 16+k1, 83+k1, 40+k1};
 
cout << Rus("Вывод значений матрицы желаемого электропотребления dki для январей 2010, 2011, 2012, 2013 годов на i шаге")<< endl;   
dkiMatrix[1][4] = 0;
 
for(i = 0; i < size; i++)
{
for(j = 0; j < size; j++)
{
cout << dkiMatrix[i][j] << ", ";
}
cout << endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2012, 13:00
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Применение циклов в расчетах с матрицами (C++):

Кролики и гуси (применение циклов)
У гусей и кроликов вместе 64 лапы. Сколько может быть кроликов и гусей (указать...

Применение циклов, условных операторов
Я будущий студент компьютерных наук я ни разу не сталкивался с С++,и мне...

Анимация через применение вложенных циклов
Ребят, надо сделать что бы стрелочка(к примеру - &gt;) двигалась в хаотичном...

Применение циклов для расчета параметров объектов на С++
Здравствуйте! Помогите, пожалуйста, в решении такой проблемы. Написал...

Ошибка в расчетах
Ребят не могу найти ошибку, место 42метров пишет 28 и т.д. код программы...

Ошибка в расчетах
Есть код: for ( k = 0; k &lt; n; k++ ) { glavelem( k, mas, n, otv );...

3
Rexer
165 / 164 / 46
Регистрация: 10.10.2010
Сообщений: 725
20.10.2012, 13:16 #2
не правильно так
вы в цикле 20 раз создаете матрицу и что-то в нее пишите,причем каждый раз новую матрицу.
это же бред
сначала объявите массив,ДО цикла
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
double matrix[size][size];
for(int i = 0; i < size; i++)
{
for(int j = 0; j < size; j++)
matrix[i][j] += 1 //или там что вы прибавить хотите
}
//дальше не просто вывод,а вывод такой
for(int i = 0; i < size; i++)
{
     for(int j = 0; j < size; j++)
           cout << matrix[i][j] << " ";
cout << endl;
}
что-то подобное надо
1
VВладимир
1 / 1 / 1
Регистрация: 08.10.2012
Сообщений: 50
20.10.2012, 15:21  [ТС] #3
Спасибо за помощь, я понял общий принцип прибавления числа к матрице. Однако Ваша программа прибавляет заданное число только один раз. Поэтому я в цикл задания счетчика добавил еще цикл
f
C++
1
2
or (k=1; k<=23; k++)
{dkiMatrix[i][j] += 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
24
//задание цикла: объявление массива 
double dkiMatrix[size][size] = {120, 20, 100, 50,
                                      110, 20, 90, 45,
                                      105, 18, 85, 43,
                                      100, 16, 83, 40};
 
 
//задание цикла: задание счетчика 
//double dkiMatrix[size][size];
for(int i = 0; i < size; i++)
{
for(int j = 0; j < size; j++)
  for (k=1; k<=23; k++)
{dkiMatrix[i][j] += 1; 
}}
//задание цикла: вывод данных
cout << Rus("Вывод значений матрицы желаемого электропотребления dki для январей 2010, 2011, 2012, 2013 годов на i шаге")<< endl;   
dkiMatrix[1][4] = 0;
for(int i = 0; i < size; i++)
{
     for(int j = 0; j < size; j++)
           cout << dkiMatrix[i][j] << " ";
cout << endl;
}
0
Rexer
165 / 164 / 46
Регистрация: 10.10.2010
Сообщений: 725
21.10.2012, 00:28 #4
Ну я же написал примерно как,а дальше вы сами модифицируйте его.
Главное запомните,что массив надо инициализировать ДО циклов,потому что там свои правила,потом почитаете про области видимости и поймете.
Свой код заключайте в теги форматирования,чтобы было удобней читать на форуме,это кнопочка c++,под надписью шрифты и B.
Удачи в дальнейшем!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2012, 00:28
Привет! Вот еще темы с решениями:

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

Разные результаты при расчетах с float и double
Здравствуйте! Почему при расчете с float и double получаю разные результаты? ...

Линейный Метод Наименьших Квадратов, ошибка в расчетах
Разработка программы аппроксимации табличной функции степенным рядом( линейный...

Как получить сумму и произведение циклов с использованием одной строки циклов
Как получить сумму и произведение циклов с использованием одной строки циклов,...


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

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

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