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

Блоксхема к двум небольшим программам - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функция http://www.cyberforum.ru/cpp-beginners/thread78208.html
Помогите пожалуйста с написание проги в виде функции http://www.cyberforum.ru/attachment.php?attachmentid=16928&stc=1&d=1261497133
C++ Заменить в текстовой строке все запятые на точки и вывести результат на экран Народ как сделать в обычном borland c следющее: Заменить в текстовой строке все запятые на точки и вывести результат на экран http://www.cyberforum.ru/cpp-beginners/thread78207.html
одномерный массив C++
В одномерном массиве с четным количеством элементов находятся координаты n-точек плоскости. Они располагаются в порядке х1у1, х2у2 ит.д. Определить радиус круга с центром в начале координат, который содержит все точки
C++ Индексно-последовательный поиск
вообщем задание такое: "Организовать индексно-последовательный поиск в файле, содержащем список студентов ВУЗа, упорядоченный по фамилии. Индексы разместить в массиве." здесь я нашел описание этого метода, но не понял как его реализовать http://www.structur.h1.ru/poisk.htm помогите понять смысл этого поиска плз
C++ Вывести делители заданного числа, упорядочивая их по убыванию http://www.cyberforum.ru/cpp-beginners/thread78191.html
Всем привет!помогите плиз решить задачки,оч прошу,в последней ваще никаких идей((( 1. Вывести делители заданного числа, упорядочивая их по убыванию. Число задается с клавиатуры. 2. В массиве найти наиболее длинную цепочку, состоящую из одних нулей. Вывести на печать номер первого нуля в массиве и длину цепочки. 3. Латинским квадратом порядка n называется матрица, каждая строка и каждый...
C++ прога запускается сама через некоторое время как осущиствить?Скажем открыл прогу,она должна добавляться в реестр что ли?Нужно чтобы через ень открылась снова Добавлено через 58 секунд и главное забыл сказать!Если я сегодня открыл то он должен исполнять задачу 1,завтра 2...как сделать подробнее

Показать сообщение отдельно
Makler
Сообщений: n/a

Блоксхема к двум небольшим программам - C++

22.12.2009, 19:17. Просмотров 433. Ответов 0
Метки (Все метки)

Народ помогите кто-нибудь нарисовать или начертить блок схему вот к таким программам,очень нужно,заранее спасибо,если что-то нужно обращайтесь. Просто если в ближайшие пару дней не сдам, к сессии недопущюсь, выручите кто-нибудь пож.
вот программы:
Всё на с++:
1)задача проги такая : вводится квадратное уравнение прям в командную строку,например: 0,23х*х+1,56х+0,12=0 и надо найти корни, но главное чтобы коэффициенты были дробными
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
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
const int N=20;
char* pstr;
 
float analyze(int flag,bool* er)
{
    int n=0;
    float x=0;
    char buff[N];
 
    for(int i=0;i<N;i++)
        buff[i]='\0';
 
        while(1)
        {
            if((*(pstr+n)>='0' && *(pstr+n)<='9') || *(pstr+n)=='.' || *(pstr+n)=='+' || *(pstr+n)=='-')
                n++;
            else if(*(pstr+n)!='x' && *(pstr+n)!='*' && *(pstr+n)!='\0')
                {
                    std::cout<<"Error"<<std::endl;
                    *er=true;
                    return 0;
                }
            else break;
        }
        if(n!=0)
        {
            strncpy(buff,pstr,n);
            x=strtod(buff,NULL);
        }
        else if(flag==2)
        {
             x=0;
        }
             else x=1;
        pstr+=n;
        switch(flag)
        {
            case 0 : if(n!=0)
                     {
                        if(*pstr!='*')
                        {
                            std::cout<<"Error"<<std::endl;
                            *er=true;
                            return 0;
                        }
                        pstr+=1;
                     }
                     if(strncmp(pstr,"x^2",3)!=0)
                     {
                        std::cout<<"Error"<<std::endl;
                        *er=true;
                        return 0;
                     }
                     pstr+=3;
                     break;
            case 1:  if(strncmp(pstr,"*x",2)!=0)
                     {
                        if(n==1)
                        {
                            if (*(pstr-n)=='+')
                            {
                                x=1;
                                pstr+=n;
                            }
                            else if(*(pstr-n)=='-')
                            {
                                x=-1;
                                pstr+=n;
                            }
                            else
                            {
                                std::cout<<"Error"<<std::endl;
                                *er=true;
                                return 0;
                            }
                            break;
                        }
                        if(*(pstr+n)=='\0')
                        {
                            x=0;
                            pstr-=n;
                            break;
                        }
                     else
                     {
                        std::cout<<"Error"<<std::endl;
                        *er=true;
                        return 0;
                     }
                     pstr+=2;
                     break;
                    }
        }
    return x;
}
 
int main()
{
    char A[N];
    float a=0,b=0,c=0,d;
    bool er=false;
 
    for(int i=0;i<N;i++)
        A[i]='\0';
 
 
    std::cin>>A;
    pstr=A;
    a=analyze(0,&er);
    if(er)
        return 0;
    b=analyze(1,&er);
    if(er)
        return 0;
    c=analyze(2,&er);
    if(er)
        return 0;
    d=(b*b-4*a*c);
    float x1=0,x2=0;
    if(d>=0)
    {
        x1=(-b+sqrt(d))/(2*a);
        x2=(-b-sqrt(d))/(2*a);
        std::cout<<"X1="<<x1<<std::endl;
        std::cout<<"X2="<<x2<<std::endl;
    }
    else std::cout<<"gg"<<std::endl;
    return 0;
}

2) задача проги такая: забиваешь текст со знаками препинания и пробелами и программа сортирует его по количеству символов в слове при этом удаляя знаки препинания
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
#include <iostream>
#include <string.h>
#include <stdlib.h>
const int N=640;
 
int main()
{
    srand(time(0));
    char basetx[N],buff[N],*pstr;
    int num[N],pnt[N],flag;
    for(int i=0;i<N;i++)
    {
        flag=(int)(rand()%6);
        if(flag==0 && i!=0)
            if(basetx[i-1]!=32)
                basetx[i]=32;
            else
                basetx[i]=(char)(rand()%26)+97;
        else if(flag>=1 && flag <3)
                basetx[i]=(char)(rand()%26)+65;
             else if(flag>=3 && flag<=5)
                    basetx[i]=(char)(rand()%26)+97;
        buff[i]='\0';
        num[i]=0;
        pnt[i]=0;
    }
    basetx[N]='\0';
    std::cout<<"Main text:\n----------\n"<<std::endl;
    for(int i=0;i<N;i++)
        std::cout<<(char)basetx[i];
    int j=0,n=0;
    for(int i=0;i<strlen(basetx)+1;i++)
    {
        if(basetx[i]!=' ' && basetx[i]!='\0')
        {
            if(n==0)
                pnt[j]=i;
            n++;
        }
        else if(n!=0)
             {
                num[j]=n;
                j++;
                n=0;
             }
    }
    int ibuff=0;
    bool srt=true;
    while(srt==true)
    {
        srt=false;
        for(int i=0;i<j;i++)
            if(num[i]<num[i+1])
            {
                ibuff=num[i];
                num[i]=num[i+1];
                num[i+1]=ibuff;
                ibuff=pnt[i];
                pnt[i]=pnt[i+1];
                pnt[i+1]=ibuff;
                srt=true;
            }
    }
    std::cout<<"\n\n\nSorted text:\n------------\n"<<std::endl;
    for(int i=0;i<j;i++)
    {
        pstr=basetx;
        int k=0;
        while(buff[k]!='\0')
        {
            buff[k]='\0';
            k++;
        }
        strncpy(buff,(pstr+pnt[i]),num[i]);
        std::cout<<buff<<" ";
    }
    std::cout<<"\b"<<std::endl;
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru