Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
1 / 1 / 2
Регистрация: 19.09.2017
Сообщений: 44

Ошибка при выводе матрицы

29.03.2018, 19:45. Показов 1607. Ответов 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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include "stdafx.h"
#include<iostream>
#include<math.h>
#include<clocale>
using namespace std;
 
float f(float x) {
    float f = 2 * x *(1 - pow(x, 2));
    return f;
}
 
float g(float x) {
    float g = (x + 0.4)*cos(x + 0.3);
    return g;
}
 
float Fi(float x) {
    float Fi = 0.5*pow(x,2);
    return Fi;
}
 
float psi(float x) {
    float psi = 0;
    return psi;
}
 
void main()
{
    setlocale(LC_ALL, "Russian");
    const short la = 1;
    const float  h = 0.1;
    const float tay = 0.05;
    const short m = 10;
    const int num = 20;
    float u[num][num], p[num], q[num], l = 0, ld;
    int k, i, n;
 
    n =  floor(la / h + 0.5);
 
    for (k = 0; k < n; k++) {
        u[0][k] = Fi(k*tay);
        u[n][k] = psi(k*tay);
    }
 
    for (i = 0; i < n - 1; i++) {
        u[i][0] = f(i*h);
        u[i][1] += tay * g(i*h);
    }
    
    for (k = 1; k < m - 1; k++) {
        for (i = 1; i < n - 1; i++) {
            u[i][k + 1] = 2 * (1 - pow(l,2))*u[i][k] + pow(l,2)*(u[i + 1][k] + u[i - 1][k]) - u[i][k - 1];
        }
    }
 
    cout << "Результаты: " << endl;;
    for (i = 0; i < n; i++)
        cout << i << " ";
    for (k = 0; k < m; k++) {
        cout << endl << k << " ";
        for (i = 0; i < n; i++) {
            cout << u[i][k] << " ";
        }
    }
 
    cout << endl << "Количество разбиений по оси Ох = " << n << endl;
    cout << "Шаг разбиения = " << h << endl;
    cout << "Шаг по временному слою = " << tay << endl;
    cout << "Количество шагов = " << m << endl;
    system("pause");
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.03.2018, 19:45
Ответы с готовыми решениями:

Выравнивание столбцов при выводе матрицы
Помогите пожалуйста, выровнять столбцы в матрице. Что бы цифры были друг под другом, а не в разброс. Сказали добавить...

Матрицы в си++ реверс при выводе на консоль
Мне нужно чтобы заданная матрица выводилась на экран не с первого элемента, а с последнего, как так сделать ? #include &lt;iostream&gt; ...

Ошибка при выводе
Не могу найти ошибку в цикле. Суть такая: &quot;вывести на дисплей фамилии и номера групп для всех студентов, включенных в массив, имеющих хотя...

5
6 / 6 / 3
Регистрация: 27.01.2018
Сообщений: 15
29.03.2018, 20:03
В языке C ++ точка входа в программу - int main (), замени void на int и допиши в конце функции return 0;
0
1 / 1 / 2
Регистрация: 19.09.2017
Сообщений: 44
29.03.2018, 20:10  [ТС]
Hellix38, это ничего не поменяет
0
6 / 6 / 3
Регистрация: 27.01.2018
Сообщений: 15
29.03.2018, 20:32
eksmaers,
Вот что у меня выводит Ваша программа. Это определенно не ссылки на ячейки памяти. Вот это 1.74338e-39 например то же, что и 1.74338 * 10^(-39), это не ссылка.
0 1 2 3 4 5 6 7 8 9
0 0 0.198 0.384 0.546 0.672 0.75 0.768 0.714 0.576 1.74338e-39
1 0.0203567 0.0230265 0.0263275 6.12042e+33 0.0305937 111066 6.32832e+33 0.02971
66 0.0272158 1.7436e-39
2 0.005 -0.151947 -0.331345 1.22408e+34 -0.610813 222130 1.26566e+34 -0.654567 -
0.521568 0
3 0.01125 -0.32692 -0.689018 1.83613e+34 -1.25222 333195 1.8985e+34 -1.33885 -1.
07035 0
4 0.02 -0.501894 -1.04669 2.44817e+34 -1.89363 444260 2.53133e+34 -2.02313 -1.61
914 0
5 0.03125 -0.676867 -1.40436 3.06021e+34 -2.53503 555325 3.16416e+34 -2.70742 -2
.16792 0
6 0.045 -0.851841 -1.76204 3.67225e+34 -3.17644 666390 3.79699e+34 -3.3917 -2.71
67 0
7 0.06125 -1.02681 -2.11971 4.28429e+34 -3.81784 777454 4.42983e+34 -4.07598 -3.
26549 1.74338e-39
8 0.08 -1.20179 -2.47738 4.89634e+34 -4.45925 888519 5.06266e+34 -4.76027 -3.814
27 1.74387e-39
9 0.10125 -1.37676 -2.83505 5.50838e+34 -5.10066 999584 5.69549e+34 -5.44455 -4.
36306 1.74349e-39
0
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
29.03.2018, 20:58
Лучший ответ Сообщение было отмечено eksmaers как решение

Решение

Цитата Сообщение от eksmaers Посмотреть сообщение
Hellix38, это ничего не поменяет
да вы что? а вы вместо майкросовтовского компилятора, запустите к примеру на gcc увидите разницу..
Цитата Сообщение от eksmaers Посмотреть сообщение
C++
1
#include<math.h>
замените на <cmath>
Цитата Сообщение от eksmaers Посмотреть сообщение
номер ячейки в памяти
ем.. нет. Вам выводит лишь то что вы сами написали, я там понимаю у вас получаются числа больше чем может уместить float
2
1 / 1 / 2
Регистрация: 19.09.2017
Сообщений: 44
29.03.2018, 21:40  [ТС]
Azazel-San, Спасибо большое. Просто я переводил эту программу с Pascal'я, а там указывал точность, по-этому выводились небольшие числа. При компиляции на C++ даже не подумал про точность, и не понял, что это числа такие
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.03.2018, 21:40
Помогаю со студенческими работами здесь

Ошибка при выводе строки
Подскажите в чем дело?? #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; using namespace std; class...

Ошибка при выводе данных
Здравствуйте. Есть текстовый файл где построчно записаны данные о лекарстве в виде &quot;Название&quot; &quot;Цена&quot;...

Ошибка при выводе символов
Не отображается русскими буквами текст который я ввожу. Помогите, пожалуйста) #include &lt;iostream&gt; #include &lt;string&gt; ...

Ошибка при выводе дерева
#include &lt;iostream&gt; using namespace std; struct node { int inf; node *left; node *right; };

Ошибка при выводе строки
С указателями работаю не в первый раз, но почему-то возникает ошибка во время работы. int main() { char temp =...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru