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

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

Войти
Регистрация
Восстановить пароль
 
VВладимир
1 / 1 / 0
Регистрация: 08.10.2012
Сообщений: 50
#1

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

20.10.2012, 13:00. Просмотров 284. Ответов 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++):

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

Кролики и гуси (применение циклов) - C++
У гусей и кроликов вместе 64 лапы. Сколько может быть кроликов и гусей (указать все сочетания)? Пробовал решить через вложений for но...

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

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

Ошибка в расчетах - C++
Ребят не могу найти ошибку, место 42метров пишет 28 и т.д. код программы #include &lt;avr/io.h&gt; #include &lt;util/delay.h&gt; #include...

Потеря значений переменных при расчетах - C++
Нужно поворачивать прямоугольник на заданый угол. Вот что у меня получилось: const long double Pi =...

3
Rexer
163 / 162 / 20
Регистрация: 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 / 0
Регистрация: 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
163 / 162 / 20
Регистрация: 10.10.2010
Сообщений: 725
21.10.2012, 00:28 #4
Ну я же написал примерно как,а дальше вы сами модифицируйте его.
Главное запомните,что массив надо инициализировать ДО циклов,потому что там свои правила,потом почитаете про области видимости и поймете.
Свой код заключайте в теги форматирования,чтобы было удобней читать на форуме,это кнопочка c++,под надписью шрифты и B.
Удачи в дальнейшем!
0
21.10.2012, 00:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2012, 00:28
Привет! Вот еще темы с ответами:

Разные результаты при расчетах с float и double - C++
Здравствуйте! Почему при расчете с float и double получаю разные результаты? #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include...

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

Как получить сумму и произведение циклов с использованием одной строки циклов - Java SE
Как получить сумму и произведение циклов с использованием одной строки циклов, а не трёх?. class ForDrmo2 { public static...

Ошибка в расчетах - PHP
Подскажите - где может быть ошибка? Parse error: syntax error, unexpected ',' in /home/u $Ras1 = ($_POST)/(0,66*5,28); $Ras =...


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

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

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