Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 16.03.2011
Сообщений: 52
1

Неверно считает

12.05.2011, 21:25. Показов 1269. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
множество всех чисел вида (2^(k)+3^(k)).
вот код:
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
#include "stdafx.h"
#include <stdio.h>
#include <iostream.h>
#include <math.h>
#include <memory>
 
int main()
{
int N;
cout<<"N="; cin>>N;
int n, k;
n=log(N);
FILE * f;
f = fopen("answer.txt","r+");
int* arr = new int[n];
for (int i = 0; i < n; i++)
arr[i] = (pow(2,(k)) + pow(3,(k))); //множество всех чисел (2^(k)+3^(k))
{
if( arr[i] <= N) //сравнение с введенным числом
{
cout << arr[i] << " ";
fprintf(f, "%d", arr[i]); //запись результата
}
}
delete[] arr;
fclose(f);
return 0;
}
 Комментарий модератора 
1. Именуйте темы осмысленно. Название темы должно максимально полно отражать ее содержание.
2. Для студенческих задач по C++ предназначен раздел https://www.cyberforum.ru/cpp-beginners/.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2011, 21:25
Ответы с готовыми решениями:

Разложение в ряд Тейлора (неверно считает)
Задача: Вычислить и вывести на экран в виде таблицы значения функции F(x) на интервале с шагом dx...

Неверно считает числовую последовательность, не вычисляет сумму
Задание: Числовая последовательность задана рекуррентной формулой. Задать с консоли два первых...

Какая здесь ошибка? Программа должна считать сумму в столбцах, но почему-то неверно считает
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; main() { int S=0, a, Sum; for (int i = 1; i &lt;=3; i++)...

Java, как переделать,неверно считает: Произвед.элементов в строках, которые не содержат отриц-х элементов?
package lab_4; import java.util.Scanner; import java.math.*; public class Laba4 { public...

12
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
12.05.2011, 21:41 2
ну и где ошибка? что пишет компилятор?
0
0 / 0 / 1
Регистрация: 16.03.2011
Сообщений: 52
12.05.2011, 21:42  [ТС] 3
неправильно считает
возможно ошибка в массиве,но замучился искать
0
return (true);
1976 / 1111 / 221
Регистрация: 19.04.2011
Сообщений: 2,345
12.05.2011, 21:46 4
k объявлена, используется, но не инициализирована
0
0 / 0 / 1
Регистрация: 16.03.2011
Сообщений: 52
12.05.2011, 21:46  [ТС] 5
а можешь подправить код?
плз
0
return (true);
1976 / 1111 / 221
Регистрация: 19.04.2011
Сообщений: 2,345
12.05.2011, 21:49 6
C++
1
arr[i] = (pow(2,(i)) + pow(3,(i)));
Видимо, так

Добавлено через 1 минуту
C++
1
2
3
for (int i = 0; i < n; i++)
{
arr[i] = (pow(2,(i)) + pow(3,(i)));
И скобку до, а не после
0
298 / 298 / 150
Регистрация: 07.05.2011
Сообщений: 592
12.05.2011, 21:58 7
Добрый вечер! G++/Code::Blocks.
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
#include <iostream>
#include <stdio.h>
#include <math.h>
 
using namespace std;
int main()
{
int N;
cout<<"N=";
cin>>N;
 
int n1=log(N);
 
FILE * f;
f = fopen("answer.txt","w");
int* arr = new int[n1];
 
for (int i = 0; i < n1; i++)
{
    arr[i] = pow(2,i) + pow(3,i); //множество всех чисел (2^(k)+3^(k))
    if( arr[i] <= N) { //сравнение с введенным числом
        cout << arr[i] << " ";
        fprintf(f, "%3d", arr[i]); //запись результата
    }
}
delete[] arr;
fclose(f);
 
return 0;
}
Однако алгоритм можно улучшить, так как 2^n=2*2^(n-1). Тогда будет быстрей и без <math.h>
1
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
12.05.2011, 22:01 8
а чему равно "k" ?
0
0 / 0 / 1
Регистрация: 16.03.2011
Сообщений: 52
12.05.2011, 22:02  [ТС] 9
степень???
ничему просто посчитать множество всех таких чисел
0
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
12.05.2011, 22:09 10
(pow(2,(k)) + pow(3,(k)))
я могу ошибаться но для того чтобы использовать функцию pow ей нунжно передать два параметра
double x; возводимое число
double y; степень числа x
в данном случае степень числа у вас неопределенна....
0
0 / 0 / 1
Регистрация: 16.03.2011
Сообщений: 52
12.05.2011, 22:14  [ТС] 11
спасибо.тока он когда N=100 выводит 2,5,13,35, а должно быть еще 97

Добавлено через 4 минуты
все я понял просто надо было исправить:
int n1=log(N)+2;


0
298 / 298 / 150
Регистрация: 07.05.2011
Сообщений: 592
12.05.2011, 22:14 12
2=2^0+3^0
5=2^1+3^1
13=2^2+3^2...
0
0 / 0 / 1
Регистрация: 16.03.2011
Сообщений: 52
13.05.2011, 13:56  [ТС] 13
[QUOTE=lamed;1642876]Добрый вечер! G++/Code::Blocks.
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
#include <iostream>
#include <stdio.h>
#include <math.h>
 
using namespace std;
int main()
{
int N;
cout<<"N=";
cin>>N;
 
int n1=log(N)+2; //для подсчета последнего числа
 
FILE * f;
f = fopen("answer.txt","w");
int* arr = new int[n1];
 
for (int i = 0; i < n1; i++)
{
    arr[i] = pow(2,i) + pow(3,i); //множество всех чисел (2^(k)+3^(k))
    if( arr[i] <= N) { //сравнение с введенным числом
        cout << arr[i] << " ";
        fprintf(f, "%3d", arr[i]); //запись результата
    }
}
delete[] arr;
fclose(f);
 
return 0;
}
0
13.05.2011, 13:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2011, 13:56
Помогаю со студенческими работами здесь

Неверно преобразовываю ряд, или же неверно записываю его в код
Задание:Для заданного с консоли значения n определить сумму числового ряда: s=\sum...

Компилируется неверно
Пользователь вводит температуру. Ему показывают сообщение о состоянии организма. Например 39– труп....

Неверно считается логарифм
c = x*x - 4 * x - 5; if (x &lt; 2) { if (pow(c , 1.0 / 3.0) &gt; 0) { y = log(c);...

Неверно вычисляется выражение
Не до конца сделал программу.Суть в том в &quot;sbichne&quot; выводиться 0 в любом случае.До некоторых...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru