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

Неправильная проверка условия в if - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать ссылку на другой файл http://www.cyberforum.ru/cpp-beginners/thread1208963.html
Привет господа програмисти! Помогите мне пожалуйста не могу никак сделать силку на другой файл, может ето мисия не виполнима?
C++ Почему программа не работает правильно? У меня почему-то не корректно отображаются надписи в консоли. http://www.cyberforum.ru/cpp-beginners/thread1208960.html
C++ Вызвать из базового класса методы потомков
Я не уверен как сделать, но нужно с базового вызвать все другие функции у наследников. class CMain { public: virtual void Start( ); }; class COther : public CMain {
C++ С++ По каналу связи передается сообщение, что имеет вид последовательности нулей и единиц. Помехи возможен ло
По каналу связи передается сообщение, что имеет вид последовательности нулей и единиц. Помехи возможен ложный прием некоторых сигналов: ноль может быть воспринят как единица и наоборот. Для повышения надежности правильного приема сигналов каждый сигнал передается трижды. Теперь передатчик вместо одного 1 всегда передает 111, а вместо 0 всегда 000. Напишите программу, которая будет...
C++ Оценка качеств канала связи http://www.cyberforum.ru/cpp-beginners/thread1208929.html
Доброго времени суток. Кто может подсказать, встречали ли вы программы, которые оценивают качество канала связи? Именно оптической. Это моя тема курсовой работы: Разработка программы оценки качества канала связи системы связи оптической. Я не прошу сделать работу, а лишь подсказать у кого есть какие либо материалы. Или например есть ли код, написанный на си, который оценивает какую либо...
C++ Пример класса со статическим членом Привести пример со статическим членом класса и примеры доступа к нему. подробнее

Показать сообщение отдельно
frwlnte
Сообщений: n/a
15.06.2014, 21:42     Неправильная проверка условия в if
Дана задача:
Считать из файла, либо ввести вручную, матрицу вещественных чисел 4 на 5 с 4-мя цифрами после десятичной точки, вывести её на экран, записать в файл. Далее многократно выполнить поиск максимумов и минимумов в указанном столбце, записать их во второй файл. Наконец, считать второй файл и найти наибольший максимум и наименьший минимум, записать их во второй файл.

Проблема заключается в том, что если при первом вводе вместо "с" ввести какой-либо другой символ, программа никак на это не отреагирует. При вводе комбинации клавиш показывает первую строчку массива, состоящую из нулей, после чего консоль закрывается.
Кстати, если иду через считывание из файла, то сталкиваюсь с чем-то похожим: консоль показывает "b_max= " и закрывается.
Самое парадоксальное кроется в том, что когда я её только написал, она работала правильно.

Текст моей программы:
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
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <conio.h>
#include <iomanip>
using namespace std;
int const a = 4;
int const b = 5;
int const h = 60;
int const k = 1;
void search(double A[a][b]);
void rtl(double B[h][k]);
int main() {
    double A[a][b];
    char c;
    
    cout << "c - from file, any key - manually  ";
    cin >> c;
    
    if(c=='c') {
                  fstream f1("C:\\1.txt");
                  for(int i=0; i<a; i++) {
                          for(int j=0; j<b; j++) {
                                  f1 >> A[i][j]; } }
                  f1.close();}
    else {
            for(int i=0; i<a; i++) {
             for(int j=0; j<b; j++) {
                     cin >> A[i][j]; }
                  cout << endl; }
                  cout << endl << endl;}
                  
    for(int i=0; i<a; i++) {
    for(int j=0; j<b; j++) {
    cout << "A["<< i <<"]["<< j <<"]= " << fixed << setprecision(4) << A[i][j] << " "; } 
    cout << endl; }
         
     ofstream f2("2.txt", ios::app);
     for(int i=0; i < a; i++) { for(int j=0; j<b; j++) {
     f2 << A[i][j] << "  "; } f2 << endl; }
     f2.close(); 
         
    search (A);
         
    system("pause");
    return 0;
}     
void search(double A[a][b]) {
     int numb;
     double max, min, B[h][k];
     char g;
     START:
     cout << "enter number of column (from 0 to 4)  ";
     cin >> numb; 
     cout << endl;
     if(numb >= 0 && numb <=4) {
           max = min = A[0][numb];
           for(int i=0; i<a; i++) {
                            if(max < A[i][numb]) max = A[i][numb]; 
                            else if(min > A[i][numb]) min = A[i][numb];}
                            cout << "max= "<<  fixed << setprecision(4) << max<< endl;
                            cout << "min= "<<  fixed << setprecision(4) << min << endl;
                            ofstream f3("3.txt", ios::app);
                            f3 << "max= "<<  fixed << setprecision(4) << max<<" " << "min=  "<<  fixed << setprecision(4) << min << endl;
                            f3.close();
           }
     else goto START; 
     
     cout << "g - repeat, any key - continue ";
     cin >> g;
     if(g=='g') goto START;
     
     rtl(B);
}
void rtl(double B[h][k]) {
     double  b_max, s_min;
     fstream f4("3.txt");
     for (int i=0; i<h; i++) {
         for(int j=0; j<k; j++) { f4 >> B[i][j];}}
         f4.close();
         b_max = s_min = B[0][0];
      for (int i=0; i<h; i++) {
         for(int j=0; j<k; j++) { 
                 if(b_max < B[i][j]) { b_max = B[i][j];}
                 else if(s_min > B[i][j]) { s_min = B[i][j];} }}
      cout << endl << "b_max= "<< b_max <<  endl;
      cout <<  "s_min= "<< s_min;          
      ofstream f5("3.txt", ios::app);
      f5 << "b_max= "<<  fixed << setprecision(4) << b_max<< endl << "s_min=  " << fixed << setprecision(4) << s_min << endl;
      f5.close();        
           }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru