Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Baulgar
0 / 0 / 0
Регистрация: 05.06.2014
Сообщений: 4
#1

Не могу найти ошибку в коде, двумерные и одномерные массивы - C++

05.06.2014, 19:42. Просмотров 265. Ответов 4
Метки нет (Все метки)

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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
# include <iostream.h>
# include <iomanip.h>
# include <conio.h>
# include <fstream.h>
# define m 10
# define n 5
# define k 50
 
       float a[m][n],  x[k],  y[k];   // Les variables globales
           
            // La fonction pour l’entrГ©e d’une matrice par le clavier
 
           void inmatrc (  )
{
      short i, j;
 
   cout<<setw(20)<<" "<<"Faites entrer une matrice"<<endl;
            for (i=0; i<m; i++)
            for (j=0; j<n; j++)
               cin>>a[i][j];
}
                      
                      // La fonction pour l’entrГ©e d’une matrice d’un fichier externe        
                      
                      void inmatrf (char h[])
{
      short i, j;
      fstream f;
 
      f.open(h,ios::in);
               for (i=0; i<m; i++)
            for (j=0; j<n; j++)
        f>>a[i][j];
      f.close();
}
           
           // La fonction pour feare sortir une matrice sur l’Г©cran    
         
           void outmatr (  )
{
     short i, j;
       cout<<setiosflags(ios::showpoint);
       for (i=0; i<m; i++)
     {
               cout<<setw(15)<<" ";
         for (j=0; j<n; j++)
               cout<<setprecision(2)<<setw(6)<<a[i][j]<<" ";
         cout<<endl;
     }
}
    
          // La fonction pour feare sortir une matrice dans un fichier externe
 
         void outmatrf (fstream & f1)
{
     short i, j;
         f1<<setiosflags(ios::showpoint);
         for (i=0; i<m; i++) 
        {
                     f1<<setw(15)<<" ";          
                        for (j=0; j<n; j++)
                           f1<<setprecision(2)<<setw(7)<<a[i][j]<<" ";
                           f1<<endl;
              }  
}
 
            // La fonction pour la crГ©ation de la sГ©rie des nombres x[] des elements des                               
           lignes d’une matrice //         
 
                  void seriex()
 
{
             short i, j, s=0 ;
             
                  for (i=0; i<m; i++)
                  for (j=0; j<n; j++)
                     { 
                            x[s]=a[i][j]; 
                              s++;
                     }
}
                  
                   // La foncion pour la crГ©ation de la sГ©rie des nombres y[] des Г©lГ©ments   
                   des colonnes d’une matrice
 
                         void seriey() 
        
{
             short i, j, s=0;
              
                  for (j=0; j<n; j++) 
                  for (i=0; i<m; i++)
                      {
                            y[s]=a[i][j]; 
                             s++;
                      }
}
         
                 // La fonction pour feare sortir une sГ©rie des nomdres sur l’Г©cran
 
                 void outserie (float z[k])
         
{
              short i; 
                    cout<<setiosflags(ios::showpoint); 
                    for(i=0; i<k; i++)
                      cout<<setprecision(2)<<setw(6)<<z[i]<<" "; 
}
 
              //La fonction pour feare sortir une sГ©rie dans un fichier externe 
 
          void outserief (float z[k], fstream & f1)
           {
               short i; 
                    f1<<setiosflags(ios::showpoint);
                      for(i=0; i<k; i++)
                    f1<<setprecision(2)<<setw(5)<<z[i]<<" "; 
           }
 
                   //La fonction pour le rangemant en accroissrment une sГ©rie des nombres
 
                  void ranga()
           {
                short i, F, q;
                float R; 
                     q=k-1; 
                b1:  F=0; 
                  for (i=0; i<q; i++)
                     if (x[i]>x[i+1])      
                     {
                               R=x[i];
                     x[i]=x[i+1];
                     x[i+1]=R; 
                        F=1; 
                     }
                    if (F==1)
                       {
                             q--;
                             goto b1; 
                       }
                     }    
           }
 
                //La fonction pour le rangemant en dГ©croissement une sГ©rie des nombres 
 
               void rangd()
           {
               short i, F, q;
               float R; 
                        q=k-1; 
                 b1:    F=0; 
                    for (i=0; i<q; i++)
                      if (y[i]<y[i+1])
                        {
                                      R=y[i]; 
                           y[i]=y[i+1];
                           y[i+1]=R; 
                                F=1; 
                        }
                         if (F==1)
                         { 
                                  q--; 
                                  goto b1; 
                         }
          }
 
             //La fonction principale 
 
          void main ()
          {
               fstream f1; 
               char ch1[]="c:\\pdc\\var17\\ismat.txt";
               char ch2[]="c:\\pdc\\var17\\rez17.txt";                         
              f1.open(ch2,ios::out);
                inmatrf(); //L'entrГ©e d'une matrise de dГ©part 
               f1<<setw(25)<<""<<"La metrice de depart"<<endl;
                outmatr(f1);
                seriex(); //La crГ©ation du tadleau x[]
               f1<<endl<<setw(25)<<""<<"Le tableau x[] non-range"<<endl;
                outserief(x,f1);
                ranga(); //Le rangemment en accroissement la sГ©rie x[]
               f1<<endl<<setw(25)<<""<<"Le tableau x[] range"<<endl;
                outserief(x,f1);
                seriey(); //La crГ©ation du tableau x[]
               f1<<endl<<setw(25)<<""<<"Le tableau y[] non-range"<<endl; 
                outserief(y,f1);
                rangd(); //Le rangement en dГ©croissement la sГ©rie y[]
               f1<<endl<<setw(25)<<""<<"Le tableau y[] range"<<endl;
                outserief(y,f1);
               f1.close();
          }
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2014, 19:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу найти ошибку в коде, двумерные и одномерные массивы (C++):

Двумерные массивы. Найти ошибку в коде - C++
Происходит аварийное завершение программы, не могу найти причину. Вроде бы все правильно но не работает. Ниже есть задание для программы. ...

Задача на двумерные массивы (найти ошибку) - C++
На строчке где, по-идее, программа должна делать замену Dev-C++ пишет ошибку. Помогите разобраться, пожалуйста. /* Дана...

нужно найти ошибку в программе с++ на двумерные массивы - C++
void task_1(int** A, int M ) { int i, j; double sum=0; bool flag=0; printf(&quot;\n1 задание: &quot;); for(i=0; i&lt;M; i++) for(j=0;...

Массивы (найти ошибку в коде) - C++
При компилировании программы (это не полный код) пишет что b-должно быть константное выражение #include &lt;iostream&gt; #include &lt;locale&gt; ...

Массивы (найти ошибку в коде) - C++
В чем проблема? #include &lt;iostream&gt; using namespace std; int main() { int a; cin &gt;&gt; a; int *b = new int ;

Чем отличаются двумерные и одномерные массивы? - C++
и стоит ли сразу после одномерных и строковых учить двумерные?

4
zss
Модератор
Эксперт С++
6569 / 6131 / 2021
Регистрация: 18.12.2011
Сообщений: 15,983
Завершенные тесты: 1
05.06.2014, 19:51 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Ошибок море.
После форматирования и исправления:
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
const int n=5,m=5,k=5;
float a[m][n],  x[k],  y[k];   // Les variables globales
 
// La fonction pour l’entrйe d’une matrice par le clavier
 
void inmatrc (  )
{
    short i, j;
 
    cout<<setw(20)<<" "<<"Faites entrer une matrice"<<endl;
    for (i=0; i<m; i++)
        for (j=0; j<n; j++)
            cin>>a[i][j];
}
 
// La fonction pour l’entrйe d’une matrice d’un fichier externe         
 
void inmatrf (char h[])
{
    short i, j;
    fstream f;
 
    f.open(h,ios::in);
    for (i=0; i<m; i++)
        for (j=0; j<n; j++)
            f>>a[i][j];
    f.close();
}
 
// La fonction pour feare sortir une matrice sur l’йcran 
 
void outmatr (  )
{
    short i, j;
    cout<<setiosflags(ios::showpoint);
    for (i=0; i<m; i++)
    {
        cout<<setw(15)<<" ";
        for (j=0; j<n; j++)
            cout<<setprecision(2)<<setw(6)<<a[i][j]<<" ";
        cout<<endl;
    }
}
 
// La fonction pour feare sortir une matrice dans un fichier externe
 
void outmatrf (fstream & f1)
{
    short i, j;
    f1<<setiosflags(ios::showpoint);
    for (i=0; i<m; i++) 
    {
        f1<<setw(15)<<" ";          
        for (j=0; j<n; j++)
            f1<<setprecision(2)<<setw(7)<<a[i][j]<<" ";
        f1<<endl;
    }  
}
 
// La fonction pour la crйation de la sйrie des nombres x[] des elements des                               
//lignes d’une matrice //         
 
void seriex()
 
{
    short i, j, s=0 ;
 
    for (i=0; i<m; i++)
        for (j=0; j<n; j++)
        { 
            x[s]=a[i][j]; 
            s++;
        }
}
 
// La foncion pour la crйation de la sйrie des nombres y[] des йlйments   
//des colonnes d’une matrice
 
void seriey() 
 
{
    short i, j, s=0;
 
    for (j=0; j<n; j++) 
        for (i=0; i<m; i++)
        {
            y[s]=a[i][j]; 
            s++;
        }
}
 
// La fonction pour feare sortir une sйrie des nomdres sur l’йcran
 
void outserie (float z[k])
 
{
    short i; 
    cout<<setiosflags(ios::showpoint); 
    for(i=0; i<k; i++)
        cout<<setprecision(2)<<setw(6)<<z[i]<<" "; 
}
 
//La fonction pour feare sortir une sйrie dans un fichier externe 
 
void outserief (float z[k], fstream & f1)
{
    short i; 
    f1<<setiosflags(ios::showpoint);
    for(i=0; i<k; i++)
        f1<<setprecision(2)<<setw(5)<<z[i]<<" "; 
}
 
//La fonction pour le rangemant en accroissrment une sйrie des nombres
void ranga()
{
    short i, F, q;
    float R; 
    q=k-1; 
b1:  F=0; 
    for (i=0; i<q; i++)
        if (x[i]>x[i+1])      
        {
            R=x[i];
            x[i]=x[i+1];
            x[i+1]=R; 
            F=1; 
        }
        if (F==1)
        {
            q--;
            goto b1; 
        }
}    
//La fonction pour le rangemant en dйcroissement une sйrie des nombres 
void rangd()
{
    short i, F, q;
    float R; 
    q=k-1; 
b1:    F=0; 
    for (i=0; i<q; i++)
        if (y[i]<y[i+1])
        {
            R=y[i]; 
            y[i]=y[i+1];
            y[i+1]=R; 
            F=1; 
        }
        if (F==1)
        { 
            q--; 
            goto b1; 
        }
}
 
 //La fonction principale 
void main ()
{
    fstream f1; 
    char ch1[]="c:\\pdc\\var17\\ismat.txt";
    char ch2[]="c:\\pdc\\var17\\rez17.txt";                         
    f1.open(ch2,ios::out);
    inmatrf(ch1); //L'entrйe d'une matrise de dйpart 
    f1<<setw(25)<<""<<"La metrice de depart"<<endl;
    outmatr();
    seriex(); //La crйation du tadleau x[]
    f1<<endl<<setw(25)<<""<<"Le tableau x[] non-range"<<endl;
    outserief(x,f1);
    ranga(); //Le rangemment en accroissement la sйrie x[]
    f1<<endl<<setw(25)<<""<<"Le tableau x[] range"<<endl;
    outserief(x,f1);
    seriey(); //La crйation du tableau x[]
    f1<<endl<<setw(25)<<""<<"Le tableau y[] non-range"<<endl; 
    outserief(y,f1);
    rangd(); //Le rangement en dйcroissement la sйrie y[]
    f1<<endl<<setw(25)<<""<<"Le tableau y[] range"<<endl;
    outserief(y,f1);
    f1.close();
}
1
Baulgar
0 / 0 / 0
Регистрация: 05.06.2014
Сообщений: 4
05.06.2014, 20:22  [ТС] #3
Прошу извинить за настойчивость. Преподаватель проверял блок-схему и программу не нашел ошибок.По заданию надо выполнить эти условия:

1. образовать ряд чисел X из элементов строк и ряд чисел Y из элементов столбцов заданной матрицы A(M ×N), M = 10, N = 5;
2.сортировать ряд X по возрастанию, а ряд Y по убыванию;
3. построить диаграмму чисел несортированного ряда X в среде MS Excel.
Тип и значения элементов исходной матрицы A(M×N) принять на свое усмотрение.

При разработке программы следует предусмотреть функции:
– ввода матрицы из внешнего файла,
– ввода матрицы с клавиатуры,
– вывода матрицы во внешний файл,
– вывода матрицы на экран,
– вывода ряда чисел во внешний файл,
– вывода ряда чисел на экран,
– образования ряда по пункту 1 (ряд X),
– образования ряда по пункту 1 (ряд Y),
– сортировки ряда чисел по возрастанию,
– сортировки ряда чисел по убыванию.

В качестве результата вычислений представить:
– исходную матрицу А,
– созданный ряд чисел X,
– сортированный ряд чисел X,
– созданный ряд чисел Y,
– сортированный ряд чисел Y,

Видимо я ничему не научился.Или чего-то не понимаю.
0
zss
Модератор
Эксперт С++
6569 / 6131 / 2021
Регистрация: 18.12.2011
Сообщений: 15,983
Завершенные тесты: 1
05.06.2014, 21:26 #4
Ошибки были синтаксические, а не логические.
Без компилятора их увидеть трудно.
0
Baulgar
0 / 0 / 0
Регистрация: 05.06.2014
Сообщений: 4
05.06.2014, 23:38  [ТС] #5
Понятно.Осталась тогда только 1 проблемка.На экран выводится только созданная матрица.Использую Microsoft Visual C++ 2008 Express Edition может надо сменить компилятор?

Добавлено через 1 час 54 минуты
Уже разобрался.Благодарю за уделённое время.
0
05.06.2014, 23:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2014, 23:38
Привет! Вот еще темы с ответами:

Необходима помощь на с++,одномерные и двумерные массивы - C++
Доброго времени суток господа,я мало что понимаю в с++,т.к. начал его изучать всего недели полторы назад,поэтому вынужден обратится за...

Не могу найти ошибку в коде - C++
Игра &quot;БлэкДжек&quot; Ошибка - &quot;Прекращена работ программы&quot;. С чем это связано - не могу понять... // Д/З 25 Блэк-Джек #include...

Не могу найти ошибку в коде - C++
Доброго времени суток. Не могу найти ошибку в коде. Задача: Периодическая функция F(x) определена на всей числовой прямой и имеет период...

Не могу найти ошибку в коде - C++
Здравствуйте еще раз! У меня возникла проблема: В написанном мною коде какая то ошибка, которую ни я, ни компилятор, не может выявить. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.