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

помогите плиз, не работает прога - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Проблема с кодом программы - не работает проверка условия http://www.cyberforum.ru/cpp-beginners/thread366388.html
Здравствуйте, у меня вот проблема. Фрагмент кода их программы. Как вы поняли, при обпределенном весе должно выводиться конкретное сообщение. Но у меня почему то не выходит. При любом значении выводится одно и тоже: У вас дефицит массы тела. growth_d = growth * 0.01; bodyweightindex = weight / (growth_d * growth_d); cout << Rus("Ваш ИМТ равен: ") << bodyweightindex; if...
C++ Создание графиков,по зарание написанной функции Привет друзья!Изучаю C++ пару месяцев,и вот недавно решил попробовать написать программу своими ручками,дабы облегчить себе создание графиков таких функций,как например: y=x*x-2; y=(x*x*x-5)/2x; Сразу возникла пару вопросов: Мне нужно создать графическую сетку,с разметкой и осями x и y.Не могли бы вы подсказать функцию,которая вызывает эту сетку (если такая вообще содержится с стандартных... http://www.cyberforum.ru/cpp-beginners/thread366387.html
C++ Составить программу, которая бы выдавала по названию страны название столицы этой страны (использовать не менее 6-7 названий).
Составить программу, которая бы выдавала по названию страны название столицы этой страны (использовать не менее 6-7 названий). Как? не допираю что-то :) Благодарю
Помогите пожалуйста C++
Ребята очень нужна ваша помощь. До понедельника нужно решить и разобраться с следующими задачами. 3.1 Задается словарь. Найти в нем все анаграммы (слова, составленные из одних и тех же букв). 3.2 Дано положительное целое число К и К целых чисел А(1),...,А(К). Вычислить а) наибольшее, b) наименьшее (каждую из задач под номером 3, решить с помощью сортировки Слиянием и сортировки Шелла.) 4...
C++ Задача простая, но надо её записать хорошо. Работа с большими числами http://www.cyberforum.ru/cpp-beginners/thread366382.html
http://ipc.susu.ac.ru/210-2.html?problem=1500 - сама задача #include <iostream> #include <cmath> typedef long double dob; using namespace std; int main() { long long int A,B,P,N,M; cin>>A>>B>>P>>N>>M; for(int i=1;i<=N;i++)
C++ Как разбивать прогу на модули? При создании нескольких cpp файлов для дальнейшего подключения их к основному файлу обязательно ли для каждого из них создавать новый проект, а потом все эти файлы копировать в папку где лежит основной файл или же можно добавлять в проект элементы и компилировать только конкретный элемент для проверки? Как нужно грамотно разбивать программу? подробнее

Показать сообщение отдельно
Ree.exe
56 / 56 / 4
Регистрация: 01.08.2011
Сообщений: 141
15.10.2011, 14:59     помогите плиз, не работает прога
Вот код, с небольшими комментариями. Измени его в соответствие со своим заданием.
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
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<fstream>
 
using namespace std;
 
void printreverse(char *str) ;
char** AddStr(char** pbuf, char* buf,int m);
 
int main()
{
    setlocale(LC_ALL,"");
 
 
    fstream File("text.txt");
    if(!File.is_open())
    {
        cout<<"Файл не найден, создаем и записываем";
        exit(1);
    }
    //Допустим в файле эти строки:
 
    //Helloy word
    //77890
    //llo
    //lloooof
 
    char buf[255];           /*Буфер дляя записи строк из файла               */
    char **pbuf = NULL;      /*Указатель на все строки содержащие подстроки   */
    int m=0;                 /*Количество строк в указателе pbuf             */
    char you_str[255]="llo"; /*заданная подстрока                             */
       
 
 
    while(!File.eof())
    {
        File.getline(buf,255,'\n');  //чтение строки из файла
 
        int a=-1;
        unsigned int i=0,j,k;
 
        //Поиск строки файла с заданной подстракой
        while ( i < strlen(buf) && a!=strlen(you_str))
        {
            if(buf[i]==you_str[0])
            {
                k=i;
                j = 1;
                while( j<strlen(you_str) && (k+j)<strlen(buf) )
                    if(buf[k+j]==you_str[j])
                    {
                        j++;
                        a=j;
                    }
                    else
                        break;
            }
            i++;
        }
        if(a == strlen(you_str))
        {
            m++;
            pbuf=AddStr(pbuf,buf,m);
        }
    }
 
    File.close();
 
 
    if(pbuf)
        for(int i=0; i<m; i++)
            printreverse(pbuf[i]);
    else
        cout<<"Нет строк где встречается заданная подстрока!";
 
    for(int i=0; i<m; i++)
        delete [] pbuf[i];
    delete [] pbuf;
 
 
    return 0; 
}
void printreverse(char *str) 
{
        int i;
        for(i = strlen(str)-1;i >=0; i--)
            cout<<str[i];
        cout<<endl;
}
 
char** AddStr(char** pbuf, char* buf, int m)
{
    if(m<2)
    {
        pbuf = new char*[1];
        pbuf[0]=new char[strlen(buf)+1];
        strcpy(pbuf[0],buf);
    }
    else
    {
        //Для копирования содержимого из pbuf.
        char** f = new char*[m-1];
 
        //Собственно копированеи содержимого pbuf в f
        for(int i=0; i < m-1; i++)
        {
            f[i] = new char [strlen(pbuf[i])+1];
            strcpy(f[i],pbuf[i]);
        }
 
        // Полная очистка pbuf**
        for(int i=0; i<m-1;i++)
            delete [] pbuf[i];
        delete []  pbuf;
 
        //Выделение  памяти на массив строк. 
        pbuf = new char*[m];
        // Загоняю туду последнию найденую строку первым элементом.
        pbuf[0]=new char[strlen(buf)+1];
        strcpy(pbuf[0],buf);
 
        //Загоняю туду до этого найденые строки 
        for(int i=1; i<m;i++)
        {
            pbuf[i]=new char[strlen(f[i-1])+1];
            strcpy(pbuf[i],f[i-1]);
        }
 
        //Удаляю все в  вспомогат. мас. 
        for(int i=0; i<m-1; i++)
            delete [] f[i];
        delete [] f;
    }
    return pbuf;
}
А вот результат работы с содержимым файла (содержимое указано в коментах программы)
Миниатюры
помогите плиз, не работает прога  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru