Форум программистов, компьютерный форум CyberForum.ru

Исправить ошибки в коде - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ не типизированный файл http://www.cyberforum.ru/cpp-beginners/thread968303.html
Дан текстовый файл f. Переписать в файл g все компоненты файла f с заменой в них символа 0 на 1 и наоборот. также решить в терминах нетипизированных файлов. что такое не типизированный файл?? и как это решить на С++ Builder подскажите пожалуйста аа((((((( Добавлено через 3 часа 25 минут //---------------------------------------------------------------------------
C++ Перевод из 2 в 8-ричную систему счисления Перевести натуральное число из 2-чной в 8-ричную систему счисления. Помогите написать программку http://www.cyberforum.ru/cpp-beginners/thread968302.html
Второй день не могу заменить объявление массива C++
вот, собственно код программы с условием. прог откомпилирована и работает отлично. но преподаватель не принимает её,т.к. память под двумерный массив надо объявить динамически (new). Пробовал объявлять на том же месте таким способом int **a; a=new int*; for (int i=0;i<ROWS;i++) {a=new int;} cout<<"vvedite elem matrici"; for (int i=0;i<ROWS;i++) for (int j=0;j<COLUMNS;j++)...
C++ В чем ошибка?
#include <cstdlib> #include <iostream> using namespace std; struct Time { int h; int m; };
C++ Дан текст, содержащий 30 символов. Подсчитать количество вхождений символов А и Б. http://www.cyberforum.ru/cpp-beginners/thread968269.html
Ребят , помогите плиз , послезавтра экзамен , вот нашел возможные задание , может кто подсказать , или показать решения ? Язык : С++/ паскаль. Заранее спасибо. №1 Дан текст, содержащий 30 символов. Подсчитать количество вхождений символов А и Б. написать программу.
C++ Нужно оптимизировать код Вобщем код не принемает сайт, немного нагружает и по времени не проходит задание Август и Беатриса играют в игру. Август загадал натуральное число от 1 до n. Беатриса пытается угадать это число, для этого она называет некоторые множества натуральных чисел. Август отвечает Беатрисе YES, если среди названных ей чисел есть задуманное или NO в противном случае. После нескольких заданныъх вопросов... подробнее

Показать сообщение отдельно
DmitryM5
Love~
 Аватар для DmitryM5
51 / 51 / 3
Регистрация: 27.08.2013
Сообщений: 738
Записей в блоге: 1
03.10.2013, 19:33     Исправить ошибки в коде
Вообщем нужна помощь в нахождении ошибок!5 легеньких Заданий(в комментариях в main.cpp).
Суть ошибок:
1.Какое то значение из 1-го задания попадает в переменную 2-го задания(в eps).
2.Не правильно работает 2-ое задание.Сумма ряда неверная вроде бы.
Просьба помочь))

1.test1.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
#ifndef TEST1_H
#define TEST1_H
bool PowK(int a,int K) ;
int FindFirstPowK(int K);
double Garmon(double eps );
int Raznost(int N);
void PrintArray(const double *a,int N);
double Array(double *a,int N);
void swapmy(int &a,int &b);
void Array2(int *a,int N);
void PrintArray2(const int *a,int N);
#endif TEST1_H
2.test1.cpp
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include <iostream>
#include <locale>
#include "test1.h"
 
using namespace std;
 
 
bool PowK(int a,int K) {
    int b=K;
    if (a==1) return true;
    while(K<=a) {
        if (K==a) return true;
        K*=b;;
        
    }
    return false;
}
 
int FindFirstPowK(int K) {
    int a=1;
    while(a!=0) {
        cin>>a;
        if (PowK(a,K))
            return a;
    }
    return 0;
}
 
double Garmon(double eps ) {
    double Sum=1;
    double a=1;
    int N=1;
    while (abs(a)>eps) {
        N++;
        a=1.0/N;
        Sum+=a;
    }
    return Sum;
}
 
int Raznost(int N) {
    int a;
    int max=-99999999,min=9999999999;
    for (int i=1;i<=N;i++) {
        cin>>a;
    if (a<min) min=a;
    if (a>max) max=a;
    }
    return abs(max-min);
}
 
void PrintArray(const double *a,int N) {
    for (int i=0;i<N;i++)
        cout<<a[i]<<" ";
    cout<<endl;
}
double Array(double *a,int N) {
    double Sum=0;
    double Fact=1;
    a[0]=1;
    Sum+=a[0];
    for (int i=1;i<N;i++) {
        Fact*=(i+1);
        a[i]=1/Fact;
        Sum+=a[i];
    }
    return Sum;
}
 
void swapmy(int &a,int &b) {
    int h=a;
    a=b;
    b=h;
}
void PrintArray2(const int *a,int N) {
    for (int i=0;i<N;i++)
        cout<<a[i]<<" ";
    cout<<endl;
}
 
void Array2(int *a,int N) {
    for (int i=0;i<N-1;i+=2) {
        swapmy(a[i],a[i+1]);
    }
 
}
3.main.cpp

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
#include <iostream>
#include <locale>
#include "test1.h"
 
using namespace std;
 
 
int main(){
    const int N1=10;
    int K,N;
    double eps;
    std::locale::global(std::locale(""));
 
    /*1.Дано целое число K и набор ненулевых целых чисел; признак его завершения — число 0. 
    Вычислить номер первого числа в наборе, являющегося степенью числа K. Если такого числа нет, то вернуть ноль. **/
    cout<<"Введите целое число K "<<endl;
    cin>>K;
    cout<<"Введите набор ненулевых целых чисел,заканчивая нулем "<<endl;
    cout<<"Номер первого числа в наборе,являющегося степенью числа K = "<<FindFirstPowK(K)<<endl;
    /*2.Вычислить сумму гармонического ряда 1+1/2+...+1/N с заданной точностью.*/
    cout<<"Введите заданную точность (eps>0) "<<endl;
    cin>>eps;
    cout<<"Сумма гармонического ряда = "<<Garmon(eps )<<endl;
    /*3.Дано целое число N и набор из N целых чисел. Найти разность, взятую по модулю между максимальным и минимальным элементами набора.*/
    cout<<"Введите целое число N "<<endl;
    cin>>N;
    cout<<"Введите набор из N целых чисел "<<endl;
    cout<<""<<Raznost(N)<<endl;
    cout<<endl;
    /*4.Дан целочисленный массив размера N, заполнить его первыми членами последовательности 1/n!. Найти сумму элементов массива.*/
    double a[N1];
    cout<<"Сумма элементов массива = "<<Array(a,N1)<<endl;
    PrintArray(a,N1);
    cout<<endl;
    /*5.Дан массив целых чисел размерности 2N. Переместить его элементы так, чтобы они располагались в массиве в следующем порядке 
    A[2],A[1],A[4],A[3],…,A[2N],A[2N-1].*/
    int b[N1]={1,2,3,4,5,6,7,8,9,10};
    PrintArray2(b,N1);
    Array2(b,N1);
    PrintArray2(b,N1);
    system("pause");
    return 0;
}
Добавлено через 41 минуту
update!
1.Какое то значение из 1-го задания попадает в переменную 2-го задания(в eps).Это происходит при вводе набора чисел через пробел...А через enter нормально все.И как-то программа не по условию работает я ввожу набор и если нашел нужное число ,то возвращаю его.Но по сути я не закончил ввод набора,с окончание нуля...
2.Не правильно работает 2-ое задание.Сумма ряда неверная вроде бы.
Просьба помочь))
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru