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

Нужно переделать прогу! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ рекурсивная матрица http://www.cyberforum.ru/cpp-beginners/thread38375.html
помогите пожалуйста составить код такого задания: Пусть А1, А2... последовательность квадратных матриц из нулей и единиц. такая, что порядок матрицы Аi равен 3^n. A1= 1 0 1 0 1 0 1 0 1 при i>1 имеет место Ai= Ai-1 0 Ai-1
C++ решение системы линейных уравнений методом Грама - Шмидта Может быть у кого то есть такое? Или кто знает литературу где описана эта задача на С++ http://www.cyberforum.ru/cpp-beginners/thread38366.html
C++ Дерево Хаффмана
Всем доброго времени суток! Очень прошу мне помочь! Мне нужно написать программу на delphi, которая строит дерево Хаффмана. Может быть, кто-то писал аналагичные программы. Пожалуйста, помогите. Я с ним уже замучалась! :'( Заранее спасибо!
C++ Похоже на постраничный вывод.
Мне нужно написать функцию, чтобы если содержимое файла содержит больше строк, чем экран, выдавать те, что влазят строчки, и по нажатию любой клавиши - еще серию на весь экран? Как это возможно? Вот у меня функция, которая выводит содержимое файла на экран: int txt2() { char s; int i, count,n=0; FILE *fin, *fout,*f;
C++ Реализация двусвзного списка на основе односвязного списка http://www.cyberforum.ru/cpp-beginners/thread38346.html
очень прошу вашей помощи, поскольку сама не могу это сделать, точнее плохо представляю как это можно реализовать... предмет структуры и алгоритмы обработки данных....необходимо написать класс который будет использовать односвязный список но выполнять функции списка двусвязного. подобную задачу на основе массива я реализовала, а вот что со списком делать... ума не приложу... привязать к списку...
C++ Кто может помочь с изучением С++ люди кто может помочь с освоением языка в icq 437551173 подробнее

Показать сообщение отдельно
YurA_280784
Заблокирован
05.06.2009, 13:09     Нужно переделать прогу!
Deirdre ,не метки, а без использывания оператора безусловного перехода, кто ж так пишет - метки, долго думал что ж ты хочешь))))

Вот что вышло (правда у меня VC 6.0 а не борланд поэтому alloc.h не подключается, я вкинул windows.h, ну и естественно убрал чистку экрана clrscr и цвет области, ну дело не в этом, код ниже...А Deirdre, AltPeople никаких циклов для менюхи не надо, очень просто всё организовать используя рекурсию самой функции main() а команді меню забивать в отдельніе функции, очень просто и очень удобно, вот

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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#include <windows.h>
#include <math.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
    
void p1();
void p2();
void p3();
bool vvod_koef(int n, double *massiv, char * name);
 
 
void main(void)
{
    int v = -1;
    printf("\t\tMENU:");
    printf("\nChoose one variant: ");
    printf("\n1- Enter to program");
    printf("\n2- Help");
    printf("\n3- Autor's info");
    printf("\n4- Exit");
    printf("\r\n");
    scanf("%d",&v);
    switch(v)
    {
        case 1:p1();break;
        case 2:p2();break;
        case 3:p3();break;
        default :break;
    }
    printf("\r\n\n1 - Make new calculations\r\n");
    scanf("%d",&v);
    if(v == 1)
        main();
}
 
bool vvod_koef(int n, double *massiv, char * name)
{
    bool RetVal = true;
    int v = -1;
    printf("Vvod koefficientov %s :\r\n",name);
    for(int i = 0;i <= n; i++)
    {
        printf("%s(%d) = ",name,i);
        scanf("%lf",&massiv[i]);
        if((i==n) && (fabs(massiv[i])<=0.0001))
        {
            printf("ERROR!!!: Koefficient pri %d-oi stepeni dolzhen bit' neravni nulu\r\n",i);
            printf("1 - povtorit' vvod %s(%d)",name,i);
            scanf("%d",&v);
            if(v == 1)
                i--;
            else
            {
                RetVal = false;
                break;
            }
        }
    }
    if(!RetVal)
            printf("Oshibka vvoda koefficientov %s",name);
    return RetVal;
}
 
void p1()
{
    int m, n, i ,j;
    printf("Vvedite stepen' delimogo  A(n):\t");
    scanf("%d",&n);
    printf("Vvedite stepen' delitelya B(n):\t");
    scanf("%d",&m);
 
    if(m>n)
    {
        printf("ERROR!!!: Stepen' delimogo ne men'she stepeni delitelya");
        return;//Покидаем тело функции в случае ошибки
    }
    if((m==0)||(n==0))
    {
        printf("ERROR!!!: Stepen' n i m dolzhni bit' neravni nulu");
        return;//Покидаем тело функции в случае ошибки
    }
    double * a = (double *)calloc( n + 1,sizeof(double));
    double * b = (double *)calloc( n + 1,sizeof(double));
    double * k=  (double *)calloc( n - m,sizeof(double));
    if(vvod_koef(n, a, "A"))
    if(vvod_koef(m, b, "B"))
    {
        for ( j=0; j <=(n-m); j++)
        {
            k[j] = a[n-j]/b[m];
            for( i = 0; i <=n; i++)
            {
                if( i >= (n-(m+j)))
                    a[i] = (a[i]-(b[i+j-(n-m)]*k[j]));
            }
        }
        printf("\n\nCHASTNOE:\n");
        for (i=0;i<=(n-m);i++)
        {
            if(i==(n-m))
                printf("(%g)",k[i]);
            else 
                if(n-(m+i)==1)
                    printf("(%g)X + ",k[i]);
                else
                    printf("(%g)X^%d + ",k[i],n-(m+i));
        }
        printf("\n\nOSTATOK:\n");
        for ( i = n ;i >= 0;i--)
        {
            if(i==0)
                printf("(%g)",a[i]);
            else 
                if (a[i]==0)
                    printf(" ");
                else 
                    if(n-(m+i)==1)
                        printf("(%g)X + ",a[i]);
                    else
                        printf("(%g)X^%d + ",a[i],i);
        }
    }
//  free((void *)a);
//  free((void *)b);
//  free((void *)k);
}
 
void p2()
{
    printf("Spravka poka otsytstvyet\r\n");
}
 
void p3()
{
    printf("Info ob avtore poka otsytstvyet\r\n");
}
Миниатюры
Нужно переделать прогу!  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru