Форум программистов, компьютерный форум 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 Такая тема уже есть, но мне хотелось бы более подробный и верный ответ. Заранее спасибо подробнее

Показать сообщение отдельно
Кот Ангенс
 Аватар для Кот Ангенс
317 / 267 / 37
Регистрация: 24.05.2012
Сообщений: 629
06.06.2012, 14:56     Разделение функции
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
#include <cctype>
#include <сstdio>
#include <iostream>
#include <string>
 
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(FILE* f) {
    int res=0;
    char c;
    while ((c = fgetc(f)) != EOF)
        if (c != 10 && c != 13)
            res++;
    return res;
}
 
struct numStat {
    int vowel;
    int consonant;
    int word;
    int sentances;
};
 
numStat GetStat(FILE* f) {
    numStat count;
    char c;
    count.vowel = 0;
    count.consonant = 0;
    count.word = 0;
    count.sentances = 0;
    int strLen;
    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++;
    }
    return count;
}
 
void PrintStat(const numStat& count, int res) {
    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;
}
 
void main() {
    setlocale(LC_ALL,"");
    cout << "Путь к файлу: " << endl; 
    string fileName;
    getline(cin, fileName);
    FILE *f = fopen(fileName.data(), "r");
 
    if (f) {
        system("cls");
        int res = countSymbols(f);
        fclose(f);
        f = fopen(fileName.data(), "r");
        PrintStat(GetStat(f), res);
        fclose(f);
    } else
        cerr << "Файл не найден!" << endl;
    system("pause");
}
 
Текущее время: 15:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru