Тема: 1
1
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
1. Що означає "помилка 3221225477"? Що, прямо так і пише?
2. Вирівняйте код, його так незручно читати.
Смію припустити, що ця цифра це результат роботи програми, де 3221225477 насправді код помилки в hex 0xC0000005 або STATUS_ACCESS_VIOLATION. І так, цей код не мав би компілюватися.
І так, цей код не мав би компілюватися.
Код можливо і збереться, тільки з заголовками підключаємих файлів якась каша..
Для цього коду достатньо:
#include <iostream>
#include <cmath>
#include <windows.h>
А відступи розставите? https://uk.wikipedia.org/wiki/Відступ_(програмування)
wander написав:І так, цей код не мав би компілюватися.
Код можливо і збереться, тільки з заголовками підключаємих файлів якась каша..
Для цього коду достатньо:#include <iostream> #include <cmath> #include <windows.h>
Та ні, тут справа зовсім не в заголовках.
Про це вже говорилось тут.
Підозрюю що помилка через це:
P. S.
Ось в такому вигляді код збирається:
і навіть виконується
Переніс у C++.
Помилка ніби очевидна, і ні, зі статичними стрічками не пов'язана (принаймні, наскільки я розібрав код), але доки код нерозбірливий, однозначно сказати важко - може, якась ще проблема вилізе.
int x, n = 0;//значення n - 0, значення x - що завгодно, сміття з пам'яті
double mass[x], y = 0; //mass має розмір x елементів. Якщо пощастить - це досить багато, щоб далі все спрацювало
cout << "mass A = ";
cin >> x; //те, що ми змінюємо x пізніше, ніяк не впливає на mass. Треба його змінювати до проголошення mass.
А далі там два рази проголошується i у вкладених циклах (це коректно, але дуже плутає).
Ну і
if (mass[i] < 0)
{
y = y + (sqrt(mass[i]));
матиме погані наслідки - якщо число від'ємне, то корінь з нього не обчислюється, принаймні, в дійсних числах, а sqrt проверне NAN.
Крім того, в циклі кілька разів обчислюється одне й те саме число (тобто NAN). Не знаю навіть, що тут сказати.
int x, n = 0;//значення n - 0, значення x - що завгодно, сміття з пам'яті double mass[x], y = 0; //mass має розмір x елементів. Якщо пощастить - це досить багато, щоб далі все спрацювало cout << "mass A = "; cin >> x; //те, що ми змінюємо x пізніше, ніяк не впливає на mass. Треба його змінювати до проголошення mass.
Тут Ви праві.
Спробував ввести та обробити дані за допомогою коду який виклав автор теми.
То якщо розмір масиву більше 5-ти елементів виникає помилка виконання.
P. S.
krupkanazar18, що саме повинна виконувати програма, яка умова завдання?
Треба його змінювати до проголошення mass.
Це буде все ще не валідний С++.
koala написав:Треба його змінювати до проголошення mass.
Це буде все ще не валідний С++.
Гадаю, у списку претензій до цього коду це буде не в першій десятці.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися