Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Skreen
0 / 0 / 1
Регистрация: 16.03.2011
Сообщений: 52
1

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

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

множество всех чисел вида (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++ предназначен раздел http://www.cyberforum.ru/cpp-beginners/.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2011, 21:25
Ответы с готовыми решениями:

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

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

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

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

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

12
panicwassano
594 / 562 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
12.05.2011, 21:41 2
ну и где ошибка? что пишет компилятор?
0
Skreen
0 / 0 / 1
Регистрация: 16.03.2011
Сообщений: 52
12.05.2011, 21:42  [ТС] 3
неправильно считает
возможно ошибка в массиве,но замучился искать
0
mimicria
return (true);
1960 / 1097 / 219
Регистрация: 19.04.2011
Сообщений: 2,345
12.05.2011, 21:46 4
k объявлена, используется, но не инициализирована
0
Skreen
0 / 0 / 1
Регистрация: 16.03.2011
Сообщений: 52
12.05.2011, 21:46  [ТС] 5
а можешь подправить код?
плз
0
mimicria
return (true);
1960 / 1097 / 219
Регистрация: 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
lamed
297 / 297 / 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
m1Rr0r
247 / 230 / 45
Регистрация: 05.02.2010
Сообщений: 3,283
Завершенные тесты: 2
12.05.2011, 22:01 8
а чему равно "k" ?
0
Skreen
0 / 0 / 1
Регистрация: 16.03.2011
Сообщений: 52
12.05.2011, 22:02  [ТС] 9
степень???
ничему просто посчитать множество всех таких чисел
0
m1Rr0r
247 / 230 / 45
Регистрация: 05.02.2010
Сообщений: 3,283
Завершенные тесты: 2
12.05.2011, 22:09 10
(pow(2,(k)) + pow(3,(k)))
я могу ошибаться но для того чтобы использовать функцию pow ей нунжно передать два параметра
double x; возводимое число
double y; степень числа x
в данном случае степень числа у вас неопределенна....
0
Skreen
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
lamed
297 / 297 / 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
Skreen
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2011, 13:56

Неверно вычисляется среднее
Написать программу, которая вычисляет среднее арифметическое последовательности...

Что тут неверно?
#include &lt;iostream&gt; #include &lt;locale&gt; using namespace std; int main() { ...

Массив считывается неверно
Скажите, пожалуйста, почему неправильно считывает? Ввожу: 1 2 3 4 5 2 3 5 6...


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

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

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