Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
denfox_94
1 / 1 / 0
Регистрация: 07.11.2011
Сообщений: 12
#1

Где ошибка?

26.12.2011, 20:55. Просмотров 535. Ответов 10
Метки нет (Все метки)

В поезде K вагонов, в каждом по M мест. Информацию о проданных на поезд билетах записать из файла в двумерный массив, номера строк которого соответствуют номерам вагонов, а номера столбцов – номерам мест. Если билет на то или иное место продан, то соответствующий элемент массива имеет значение 1, в противном случае – 0. Определить: 1) имеются ли свободные места в том или ином вагоне поезда; 2) В какой вагон продано больше всего билетов?

Запускаю через Geany, программа не работает, подскажите где не правильно написал?

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
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <fstream>
using namespace std;
const int n=5, m=3;
void vag()
{ FILE *f; int a[m][n]; int k=0; int a2[m]; int c=0; int max, maxx;
  f = fopen("E:\\file2.txt","r");
            for(int i=0;i<m;i++)
            {
                for(int j=0;j<n;j++)
                fscanf(f,"%d",&a[i][j]); 
               cout<<"\n";
            }
             fclose(f);
             for(int i=0;i<m;i++)
             {
                for(int j=0;j<n;j++)
                cout<<a[i][j];
               cout<<"\n";
               }
    for(int i=0;i<m;i++)
            {
                for(int j=0;j<n;j++)
                if (a[i][j]==0) 
                                    k+=k+1;             
                if (k>0) cout<<"v vagone nomer "<<i+1<<" est` svobodnie mesta";
                else cout<<"v vagone nomer "<<i+1<<" net svobodn. mest";                
                cout<<"\n"  ;           
             }
           for(int i=0;i<m;i++)
            {
                for(int j=0;j<n;j++)
                if (a[i][j]==1) c=c+1;
             a2[i]=c; c=0;
            }  
            for(int i=0;i<m-1;i++)
            {
            max=a2[i];
            if (a2[i+1]>max) maxx=max;
        }
        cout<<"\n v vagon nomer "<<maxx<<" prodano bol`she biletov\n";
 }
 int main()
 {int num;
     do
    { cout << "\n 1 - vagoni";
     cout << "\n 2 - vihod";
     cin>>num;
     switch(num)
     {
     case 1: vag(); break;
     }
    }
     while(num!=2);
    return 0;
 }
 Комментарий модератора 
Используйте теги форматирования кода!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2011, 20:55
Ответы с готовыми решениями:

Вывести на экран количество слов где первая и последняя буквы одинаковы (не понимаю где ошибка)
задан текст нужно вывести на экран количество слов где первая и последняя буквы...

Подскажите, где может быть ошибка (структуры)? (скорее всего где-то амперсенд нужен, все вроде проверил)
написать универсальный тип, который представляет точку на плоскости в...

Укажите где ошибка (ошибка во время выполнения программы)
Здравствуйте, помогите пожалуйста найти ошибки в коде которые возникаю при...

Ошибка при компиляции. Где ошибка? (Работа с классом)
Уважаемые форумчане! При компиляции проекта возникает ошибка &quot; undefined...

В чём ошибка.В коде там где коментарий там ошибка поучается.
#include &lt;iostream&gt; #include &lt;Windows.h&gt; using namespace std; class...

10
Вася1q
21 / 21 / 3
Регистрация: 13.09.2011
Сообщений: 312
26.12.2011, 23:22 #2
зачем тебе #include <windows.h>?
0
denfox_94
1 / 1 / 0
Регистрация: 07.11.2011
Сообщений: 12
13.01.2012, 11:11  [ТС] #3
Цитата Сообщение от Вася1q Посмотреть сообщение
зачем тебе #include <windows.h>?
ну да в принципе она здесь не нужна.
0
co6ak
Кошковед
515 / 503 / 63
Регистрация: 12.04.2010
Сообщений: 1,392
13.01.2012, 11:22 #4
как не работает та?
файл присутствует?
1
denfox_94
1 / 1 / 0
Регистрация: 07.11.2011
Сообщений: 12
13.01.2012, 11:41  [ТС] #5
Цитата Сообщение от co6ak Посмотреть сообщение
как не работает та?
файл присутствует?
да конечно присутствует, ну ты запускал??? и у тебя всё работает? у меня вот что выдаёт....
0
Миниатюры
Где ошибка?  
co6ak
Кошковед
515 / 503 / 63
Регистрация: 12.04.2010
Сообщений: 1,392
13.01.2012, 11:44 #6
ну видимо вот ошибка.
C++
1
<<i+1<<
выходшь за границу массива
неструктурированный код смотреть тяжело и неохота
1
denfox_94
1 / 1 / 0
Регистрация: 07.11.2011
Сообщений: 12
13.01.2012, 12:21  [ТС] #7
Цитата Сообщение от denfox_94 Посмотреть сообщение
В поезде K вагонов, в каждом по M мест. Информацию о проданных на поезд билетах записать из файла в двумерный массив, номера строк которого соответствуют номерам вагонов, а номера столбцов – номерам мест. Если билет на то или иное место продан, то соответствующий элемент массива имеет значение 1, в противном случае – 0. Определить: 1) имеются ли свободные места в том или ином вагоне поезда; 2) В какой вагон продано больше всего билетов?

Запускаю через Geany, программа не работает, подскажите где не правильно написал?

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
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <fstream>
using namespace std;
const int n=5, m=3;
void vag()
{ FILE *f; int a[m][n]; int k=0; int a2[m]; int c=0; int max, maxx;
  f = fopen("E:\\file2.txt","r");
            for(int i=0;i<m;i++)
            {
                for(int j=0;j<n;j++)
                fscanf(f,"%d",&a[i][j]); 
               cout<<"\n";
            }
             fclose(f);
             for(int i=0;i<m;i++)
             {
                for(int j=0;j<n;j++)
                cout<<a[i][j];
               cout<<"\n";
               }
    for(int i=0;i<m;i++)
            {
                for(int j=0;j<n;j++)
                if (a[i][j]==0) 
                                    k+=k+1;             
                if (k>0) cout<<"v vagone nomer "<<i+1<<" est` svobodnie mesta";
                else cout<<"v vagone nomer "<<i+1<<" net svobodn. mest";                
                cout<<"\n"  ;           
             }
           for(int i=0;i<m;i++)
            {
                for(int j=0;j<n;j++)
                if (a[i][j]==1) c=c+1;
             a2[i]=c; c=0;
            }  
            for(int i=0;i<m-1;i++)
            {
            max=a2[i];
            if (a2[i+1]>max) maxx=max;
        }
        cout<<"\n v vagon nomer "<<maxx<<" prodano bol`she biletov\n";
 }
 int main()
 {int num;
     do
    { cout << "\n 1 - vagoni";
     cout << "\n 2 - vihod";
     cin>>num;
     switch(num)
     {
     case 1: vag(); break;
     }
    }
     while(num!=2);
    return 0;
 }
Используйте теги форматирования кода!
Ребят на помогите пожалуйста, очень надо завтра уже экзамен, у меня эта последняя задача осталась((
0
co6ak
Кошковед
515 / 503 / 63
Регистрация: 12.04.2010
Сообщений: 1,392
13.01.2012, 12:31 #8
что у тебя в файле хранится то. еманарот
1
denfox_94
1 / 1 / 0
Регистрация: 07.11.2011
Сообщений: 12
13.01.2012, 12:32  [ТС] #9
11110
00100
11111
0
co6ak
Кошковед
515 / 503 / 63
Регистрация: 12.04.2010
Сообщений: 1,392
13.01.2012, 12:37 #10
максимум надо уметь правильно находить.
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
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <fstream>
using namespace std;
const int n=5, m=3;
void vag()
{
    FILE *f;
    int a[m][n];
    int k=0;
    int a2[m];
    int c=0;
    int max, maxx;
    f = fopen("e:\\file2.txt","r");
 
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
            fscanf(f,"%d",&a[i][j]);
        cout<<"\n";
    }
 
    fclose(f);
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
            cout<<a[i][j];
        cout<<"\n";
    }
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
            if (a[i][j]==0)
                k+=k+1;
        if (k>0) cout<<"v vagone nomer "<<i+1<<" est` svobodnie mesta";
        else cout<<"v vagone nomer "<<i+1<<" net svobodn. mest";
        cout<<"\n";
    }
    for(int i=0;i<m;i++)
    {
        c = 0;
        for(int j=0;j<n;j++)
            if (a[i][j]==1) c+=1;
        a2[i]=c;
    }
    max = a2[0];
    for(int i=1;i<m;i++)
    {
        if (a2[i] > max) maxx = i+1;
    }
    cout<<"\n v vagon nomer "<<maxx<<" prodano bol`she biletov\n";
 }
 
 
int main()
{
    int num;
    do
    {
        cout << "\n 1 - vagoni";
        cout << "\n 2 - vihod";
        cin>>num;
        switch(num)
        {
        case 1: vag(); break;
        }
    }
    while(num!=2);
    return 0;
 }
файл c пробелами вообще очень полезная штука
Код
1 1 1 1 0
0 0 1 0 0
1 1 1 1 1
1
denfox_94
1 / 1 / 0
Регистрация: 07.11.2011
Сообщений: 12
13.01.2012, 13:00  [ТС] #11
Цитата Сообщение от co6ak Посмотреть сообщение
максимум надо уметь правильно находить.
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
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <fstream>
using namespace std;
const int n=5, m=3;
void vag()
{
    FILE *f;
    int a[m][n];
    int k=0;
    int a2[m];
    int c=0;
    int max, maxx;
    f = fopen("e:\\file2.txt","r");
 
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
            fscanf(f,"%d",&a[i][j]);
        cout<<"\n";
    }
 
    fclose(f);
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
            cout<<a[i][j];
        cout<<"\n";
    }
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
            if (a[i][j]==0)
                k+=k+1;
        if (k>0) cout<<"v vagone nomer "<<i+1<<" est` svobodnie mesta";
        else cout<<"v vagone nomer "<<i+1<<" net svobodn. mest";
        cout<<"\n";
    }
    for(int i=0;i<m;i++)
    {
        c = 0;
        for(int j=0;j<n;j++)
            if (a[i][j]==1) c+=1;
        a2[i]=c;
    }
    max = a2[0];
    for(int i=1;i<m;i++)
    {
        if (a2[i] > max) maxx = i+1;
    }
    cout<<"\n v vagon nomer "<<maxx<<" prodano bol`she biletov\n";
 }
 
 
int main()
{
    int num;
    do
    {
        cout << "\n 1 - vagoni";
        cout << "\n 2 - vihod";
        cin>>num;
        switch(num)
        {
        case 1: vag(); break;
        }
    }
    while(num!=2);
    return 0;
 }
файл c пробелами вообще очень полезная штука
Код
1 1 1 1 0
0 0 1 0 0
1 1 1 1 1
ааааааа!!!!! как тебе поставить 100 спасибок)))))) спасибо большое)))) вообще выручил
0
13.01.2012, 13:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2012, 13:00

где ошибка?
Здравствуйте! У меня есть задача: отсортировать четные элементы массива...

Где ошибка?
#include &lt;iostream&gt; using namespace std; int main() { int Fx=4, Fy=5, x,...

Где то ошибка
Помогите вот текст программы не могу разобраться что да как. Все вроде...


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

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

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