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

Разделение функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ помогите реализовать алгоритм Дейкстры - алгоритм поиска кратчайшего пути http://www.cyberforum.ru/cpp-beginners/thread597948.html
Пожалуйста, помогите реализовать алгоритм Дейкстры - алгоритм поиска кратчайшего пути (во взвешенном графе, но без рёбер отрицательного веса). Нашла я кое что , но даже с этим сделать ничего не могу.... const int INF = 1000000000; int main() { int n; ... чтение n ... vector < vector < pair<int,int> > > g (n); ... чтение графа ... int s = ...; // стартовая вершина
C++ помогите реализовать алгоритм Форда-Беллмана - алгоритм поиска кратчайшего пути Пожалуйста, помогите реализовать алгоритм Форда-Беллмана - алгоритм поиска кратчайшего пути (во взвешенном графе). Я кое что нашла, но даже с этим сделать ничего не могу.... struct edge { int a, b, cost; }; int n, m, v; vector<edge> e; const int INF = 1000000000; http://www.cyberforum.ru/cpp-beginners/thread597943.html
C++ Указатели на строки. Выделение и освобождение памяти
Всем добрый день. Есть два указателя на char. Для первого выделяется память а у второго просто делаем копию с первого. Для 1-го указателя надо удалять выделенную память. А вот для второго непонятно. То ли удалять, то ли нет. Ведь для него не используется операция new. Вообщем хочу понять как правильно. Подскажите. char *s, *s_copy; s = new char; strcpy(s, "Строка"); s_copy = s;
C++ Графически иллюстрировать операцию "запрос".
7. Графически иллюстрировать операцию "запрос". #include<stdio.h> #include<math.h> #include<stdlib.h> #include<conio.h> #include<dos.h> #include<iostream.h> #include<graphics.h> #include<string.h>
C++ Прямоугольная матрица A[N,M] http://www.cyberforum.ru/cpp-beginners/thread597934.html
Помогите составить программный код. Дано: прямоугольная матрица А, содержащая только натуральные числа. Отсортировать строки матрицы в порядке возрастания сумм простых чисел строк. Нахождение суммы простых чисел строки оформить как функцию. Определение, является ли число простым, оформить как функцию. Перестановку строк оформить как функцию.
C++ Квадратная матрица Получить квадратную матрицу порядка n: 1 2 ... n-1 n n+1 n+2 ... 2n-1 2n 2n+1 2n+2 ... 3n-1 3n .... (n-1)n+1 (n-1)n+2 ... n-1 n Такая тема уже есть, но мне хотелось бы более подробный и верный ответ. Заранее спасибо подробнее

Показать сообщение отдельно
korsarqa
 Аватар для korsarqa
7 / 7 / 0
Регистрация: 06.12.2011
Сообщений: 170
06.06.2012, 18:20  [ТС]     Разделение функции
Переделал благодаря вышенаписанному:
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 <stdio.h>
#include <ctype.h>
#include <conio.h>
 
using namespace std;
 
bool isVowel(char c) {
    return (c=='a' || c=='e' || c=='i' || c=='o' || c=='u' || c=='A' || c=='E' || c=='I' || c=='O' || c=='U');
}
 
bool sentEnd(char c) {
    return (c=='.' || c=='!' || c=='?');
}
 
int countSymbols(char *fileName) {
    int res=0;
    char c;
    FILE *f=fopen(fileName, "r");
    while ((c = fgetc(f)) != EOF) {
        if (c != 10 && c != 13) {
            res++;
        }
    }
    fclose(f);
    return res;
}
 
struct numStat {
    int vowel;
    int consonant;
    int word;
    int sentances;
};
int raschet() {
    struct numStat count;
    char c;
    count.vowel=0;
    count.consonant=0;
    count.word=0;
    count.sentances=0;
    int i=0, res;
    int strLen=0;
    const int MAX_PATH = 256;
    char *fileName= new char[MAX_PATH];
    cout << "Путь к файлу: "<<endl; 
    cin >> fileName;
    FILE *f=fopen(fileName, "r");
        
    if (f) {
        res=countSymbols(fileName);
        while((c=getc(f))!=EOF) {
            if ((c>='a' && c<='z') || (c>='A' && c<='Z')) {
                if (isVowel(c)) {
                    count.vowel++;
                } else {
                    count.consonant++;
                } 
            } else if (c==' ' || c=='\n') {
                if (strLen>0) count.word++;
                if (c == '\n') strLen=-1;
            } else if (sentEnd(c)) {
                count.sentances++;
            }
 
            strLen++;
        }
    } else {
        cout << "Файл не найден!" << endl;
        getch();
    }
    return count;
    }
void main(const numStat& count, int res){
    setlocale(LC_ALL,""); 
    system("cls");
    cout<<"Статистика:"<<endl<<endl<<endl;
    cout<<"Всего предложений: "<<count.sentances<<endl;
    cout<<"Всего слов: "<<count.word+1<<endl;
    cout<<"Всего букв: "<<res<<endl;
    cout<<"Гласных в тексте: "<<count.vowel<<endl;
    cout<<"Согласных в тексте: "<<count.consonant<<endl;
    cout<<"Средняя длина слова: "<<res/(count.word+1)<<endl;
    cout<<"Средняя длина предложения: "<<(count.word+1)/count.sentances<<endl;
    getch();
}
Ошибка: не компилируется, все дело в том, что я не знаю как надо возвращать значение
C++
1
    return count;
не работает

Добавлено через 20 минут
Блин помогите
 
Текущее время: 20:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru