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

Почему то пропускается условие - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сортировка двух векторов (имена и возраст) http://www.cyberforum.ru/cpp-beginners/thread838732.html
Имеется вектор строк, которые обозначают имена, и вектор чисел, означающий их возрасты. Нужно написать функцию sort() которая бы сортировала имена в алфавитном списке, и потом соответственно этим именам размещала возрасты участников. я написал такую функцию void Name_pairs::sort(vector<string>& a, vector<double>& b) { for (int j = a.size() - 1; j >= 2; j--) { for (int i = 0; i < j;...
C++ Есть код , написать коментарии к каждой строке #include<iostream> #include<math.h> using namespace std; void tryfunc(double x) { double y; try { if(x<=0||x==5){ throw 0;} http://www.cyberforum.ru/cpp-beginners/thread838721.html
C++ Потоковый вывод матрицы-объекта с манипуляторами
Нужно вывести матрицу-объект с помощью " << " используя манипуляторы из <iomanip>, заданные вне класса (в мэйне) Краткое описание класса: class Matrix { private: double * M; // указатель на матрицу int m; // число строк
C++ разработка рекурсивных функций, не возвращающих значений (нахождение n-го члена и суммы n первых членов прогрессии)
помогите пожалуйста разобраться с задачей: Даны первый член и разность арифметической прогрессии. Написать рекурсивную функцию для нахождения n-го члена и суммы n первых членов прогрессии
C++ Указатели для начинающего http://www.cyberforum.ru/cpp-beginners/thread838689.html
Доброго времени суток Всем. Перерыл много литературы, но так и не понял как можно реализовать одну задачку: суть ее такова, что нужно сперва ввести значение переменной, после выбрать режим 1 - выводить адрес на который указывает указатель; 2 - выводить данные на которые указывает указатель. Проблема в том, что мало только начинающий и не очень понимаю как реализовать подпрограмму выбора режим,...
C++ разработка нерекурсивных функций (вычислить значение выражения) помогите плииз)) не могу разобраться в задаче:вычислить значение выражения a/b+c/d; результат представить в виде обыкновенной дроби, выполнив сокращение. подробнее

Показать сообщение отдельно
Triall
 Аватар для Triall
3 / 3 / 1
Регистрация: 16.02.2011
Сообщений: 68
15.04.2013, 19:49  [ТС]     Почему то пропускается условие
elivin, Код на данный момент такой :
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
#include <stdio.h>
#include <math.h>
 
void vvid(int *, char);
void maks_min(int *, int *, int *);
void OutPut(int *, char);
void in_file(int *, int *, int *);
void matrix_file(int *, char);
 
FILE *file_out;
bool flag = false;
int n;
 
int main(void)
{
    char file_name[30], fl;
    printf("Vvedit rozmir matrutsi : ");
    scanf("%d", &n);
    printf("Zapusyvatu v fail? (y/n): ");
    scanf("%c", &fl);
    if(fl == 'y' || fl == 'Y')
    {
        printf("Vvedit imia failu :");
        scanf("%s", &file_name);
        file_out = fopen(file_name, "w");
        flag = true;
        if(file_name == NULL)
        {
            printf("Fail ne vidkrutui dlia zapusy");
            return 1;
        }
    }
    if(flag)
    {
        printf("Vvedit imia failu :");
        scanf("%s", &file_name);
        file_out = fopen(file_name, "w");
        if(file_name == NULL)
        {
            printf("Fail ne vidkrutui dlia zapusy");
            return 1;
        }
    }
    int a[n][n], b[n][n], c[n][n];
    vvid(*a, 'A');
    vvid(*b,'B');
    vvid(*c, 'C');
    if(flag) in_file(*a, *b, *c);
    maks_min(*a, *b, *c);
    return 0;
}
 
void vvid(int *matrix, char matr_name)
{
    printf("Vvedit matrutsi %c", matr_name);
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++)
            scanf("%d", &matrix[i*n+j]);
    printf("\n");
    printf("\n");
}
 
void maks_min(int *a, int *b, int *c)
{
    int amax = fabs(a[0]), bmax = fabs(b[0]), cmax = fabs(c[0]);
    for (int i = 1; i < n; i++)
        for (int j = 0; j < n; j++)
        {
            if (fabs(a[i*n+j]) > amax) amax = fabs(a[i*n+j]);
            if (fabs(b[i*n+j]) > bmax) bmax = fabs(b[i*n+j]);
            if (fabs(c[i*n+j]) > cmax) cmax = fabs(c[i*n+j]);
        }
    if (amax < bmax && amax < cmax)
        return OutPut(a, 'A');
    else if (bmax < amax && bmax < cmax)
        return OutPut(b, 'B');
    else
        return OutPut(c, 'C');
}
 
void OutPut(int *matrix, char name)
{
    printf("Naimensha norma y matrtsi %c", name);
    if(flag)
    {
        fprintf(file_out,"Naimensha norma y matrtsi %c", name);
        matrix_file(matrix, name);
    }
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
            printf("%4d", matrix[i*n+j]);
        printf("\n");
    }
}
 
void matrix_file(int *matrix, char name)
{
    fprintf(file_out, "Matrutsia %c :\n", name);
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
            fprintf(file_out, "%4d", matrix[i*n+j]);
    }
}
 
void in_file(int *a, int *b, int *c)
{
    fprintf(file_out, "Rozmiz matruts = %d", n);
    matrix_file(a, 'A');
    matrix_file(b, 'B');
    matrix_file(c, 'C');
}
Вот где в программе пропускается условие
Миниатюры
Почему то пропускается условие  
 
Текущее время: 10:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru