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

Динамический массив и работа с файлами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ При добровольном страховании домашнего имущества по договорам, составленным на срок менее года, страховые платежи вносятся в размере: http://www.cyberforum.ru/cpp-beginners/thread123720.html
При добровольном страховании домашнего имущества по договорам, составленным на срок менее года, страховые платежи вносятся в размере: 30% сумм годового платежа при страховании на 2 месяца; 40% - 3 месяца; 50% - 4 месяца; 60% - 5 месяцев; 70% - 6 месяцев; 75% - 7 месяцев; 80% - 8 месяцев; 85% - 9 месяцев; 90% - 10 месяцев; 95% - 11 месяцев. Определить размер платежа в зависимости от условий...
C++ Изучение С++! Помогите, пожалуйста! Хочу научиться программированию. Подскажите с чего мне начать! Какая литература очень легка в освоении и эффективеа при обучении? http://www.cyberforum.ru/cpp-beginners/thread123708.html
C++ вычислить k-тое число последовательности целых простых чисел
Уважаемые эксперты, пожалуйста подскажите как правильно написать программу. Необходимо вычислить k-тое число последовательности целых простых чисел (где k>1) вот то что я сам накосячил: #include<stdio.h> #include<math.h> #include<conio.h> #include <stdlib.h> int main() { clrscr;
Самый редко встречаемый символ C++
Задан массив A. Найти самый редко встречаемый символ. Может быть пригодится кому, но вот исходник задачи обратной - самый часто встречаемый символ. #include <iostream.h> int main() { int i,j,S,SPred=0; char a,sim1,sim2; for(i=0;i<32;i++) cin>>a;
C++ Вывести все четырехзначные числа, в десятичной записи которых нет двух одинаковых цифр. http://www.cyberforum.ru/cpp-beginners/thread123687.html
Вот, собственно и условие: Вывести все четырехзначные числа, в десятичной записи которых нет двух одинаковых цифр. Пожалуйста, помогите решить.
C++ Последнее препятствие перед зачетом Помогите пожалуйста с двумя задачами для курсовой. Буду очень благодарен! 1)Задать двумерный массив с помощью "списка списков". Можно использовать любой тип списков. 2)Реализовать деку на основе списка не используя возможности STL и на основе контейнеров библиотеки STL. подробнее

Показать сообщение отдельно
lubchuk
 Аватар для lubchuk
0 / 0 / 0
Регистрация: 29.04.2010
Сообщений: 8
07.05.2010, 16:47  [ТС]     Динамический массив и работа с файлами
еще есть вопрос, по этой программе...
вот это место нужно заменить:
C++
1
2
if ((a[i][j]<a[i-1][j])&&(a[i][j]<a[i+1][j])&&(a[i][j]<a[i][j-1])&&(a[i][j]<a[i][j+1])&&(a[i][j]<a[i-1][j-1])&&(a[i][j]<a[i+1][j-1])&&(a[i][j]<a[i-1][j+1])&&(a[i][j]<a[i+1][j+1]))
                k++;
я сделал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if ((i!=0)&&(i!=9)&&(j!=0)&&(j!=9))
                {
                m=i-1;
                s=j-1;
                t=i+2;
                l=j+2;
                q=0;
                y=a[i][j];
                for(b=m;b<t;b++)
                for(c=s;c<l;c++)
                if ((b!=(m+1))&&(c!=(s+1)))
                if (y<(a[b][c])) 
                q++;        
                if (q==8)
                k++;
Определил переменные так:
C++
1
int i,j,b,c,m,s,t,l,y=0,q,k=0;
набор символов в документе 1.txt такой:
1 2 1 4 5 6 7 8 9 0
2 5 5 4 5 6 7 8 9 1
1 5 5 4 5 6 7 8 9 0
2 5 0 4 5 6 7 8 9 1
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 9
0 2 3 4 0 6 7 8 9 0

И вот 0 (3 столбик, 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
 
#include<iostream>
#include <fstream>
using namespace std;
 ifstream in("D:\\1.txt");
 ofstream out  ("D:\\2.txt");
//==========================
void FVvod(int**a)
{int i=0,j=0;
cout<<"Kol-vo strok=10";
cout<<"\nKol-vo stolbcov=10\n";
while(in)
{
         for(i=0;i<10;i++){
for(j=0;j<10;j++){
in>> a[i][j];
     }                      
}
}
 
       
                             
//scanf(fo,"%i",&a[i][j]);
cout<<"\nmatriza:\n";
for(i=0;i<10;i++){
for(j=0;j<10;j++){
                  cout << a[i][j] << " ";
                  }
                  cout << "\n";
                  } 
//scanf(fi,"%i",&a[i][j]);
}
//==========================
void sum(int** a)
{int i,j;
float tt;
for(i=0;i<10;i++)
{for(j=0;j<10;j++)
{if (j>i)
tt+=a[i][j];}}out <<"\nSumma = "<<tt;
cout<<"\nSumma- "<<tt;
 
}
//==========================
void lokal(int** a)
{int i,j,b,c,m,s,t,l,y=0,q,k=0;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
{
                if ((i==0)&&(j==0))
                if ((a[i][j]<a[i+1][j])&&(a[i][j]<a[i][j+1])&&(a[i][j]<a[i+1][j+1]))
                k++;
                if ((i==9)&&(j==9))
                if ((a[i][j]<a[i-1][j])&&(a[i][j]<a[i][j-1])&&(a[i][j]<a[i-1][j-1]))
                k++;
                if ((i==9)&&(j==0))
                if ((a[i][j]<a[i][j+1])&&(a[i][j]<a[i-1][j])&&(a[i][j]<a[i-1][j+1]))
                k++;
                if ((i==0)&&(j==9))
                if ((a[i][j]<a[i+1][j])&&(a[i][j]<a[i][j-1])&&(a[i][j]<a[i+1][j-1]))
                k++;
                if ((i==0)&&(j!=0)&&(j!=9))
                if ((a[i][j]<a[i][j-1])&&(a[i][j]<a[i][j+1])&&(a[i][j]<a[i+1][j-1])&&(a[i][j]<a[i+1][j+1])&&(a[i][j]<a[i+1][j]))
                k++;
                if ((i==9)&&(j!=0)&&(j!=9))
                if ((a[i][j]<a[i][j-1])&&(a[i][j]<a[i][j+1])&&(a[i][j]<a[i-1][j-1])&&(a[i][j]<a[i-1][j+1])&&(a[i][j]<a[i-1][j]))
                k++;
                if ((j==0)&&(i!=0)&&(i!=9))
                if ((a[i][j]<a[i-1][j])&&(a[i][j]<a[i+1][j])&&(a[i][j]<a[i-1][j+1])&&(a[i][j]<a[i+1][j+1])&&(a[i][j]<a[i][j+1]))
                k++;
                if ((j==9)&&(i!=0)&&(i!=9))
                if ((a[i][j]<a[i-1][j])&&(a[i][j]<a[i+1][j])&&(a[i][j]<a[i-1][j-1])&&(a[i][j]<a[i+1][j-1])&&(a[i][j]<a[i][j-1]))
                k++;   
           [B] if ((i!=0)&&(i!=9)&&(j!=0)&&(j!=9))                                           
                if ((a[i][j]<a[i-1][j])&&(a[i][j]<a[i+1][j])&&(a[i][j]<a[i][j-1])&&(a[i][j]<a[i][j+1])&&(a[i][j]<a[i-1][j-1])&&(a[i][j]<a[i+1][j-1])&&(a[i][j]<a[i-1][j+1])&&(a[i][j]<a[i+1][j+1]))
                k++;[/B]
                }
                
                
                              
                         
out << "\nКол-во локальных минимумов- "<<  k;// Вывод в файл 2.txt
cout<<"\nKol-vo.lokal.min- "<<k;
}                         
//==========================
int main()
{int i,j;
 
 
//fi=fopen("D:\\1.txt","w");
//fo=fopen("D:\\2.txt","rt");
 
int**a= new int*[10];
for(i=0;i<10;i++)
a[i]=new int[10]; 
    
    FVvod(a);   
        sum(a);
        lokal(a);
        cin.get();        
}
Я заменил так:
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<iostream>
#include <fstream>
using namespace std;
 ifstream in("D:\\1.txt");
 ofstream out  ("D:\\2.txt");
//==========================
void FVvod(int**a)
{int i=0,j=0;
cout<<"Kol-vo strok=10";
cout<<"\nKol-vo stolbcov=10\n";
while(in)
{
         for(i=0;i<10;i++){
for(j=0;j<10;j++){
in>> a[i][j];
     }                      
}
}
 
       
                             
//scanf(fo,"%i",&a[i][j]);
cout<<"\nmatriza:\n";
for(i=0;i<10;i++){
for(j=0;j<10;j++){
                  cout << a[i][j] << " ";
                  }
                  cout << "\n";
                  } 
//scanf(fi,"%i",&a[i][j]);
}
//==========================
void sum(int** a)
{int i,j;
float tt;
for(i=0;i<10;i++)
{for(j=0;j<10;j++)
{if (j>i)
tt+=a[i][j];}}out <<"\nSumma = "<<tt;
cout<<"\nSumma- "<<tt;
 
}
//==========================
void lokal(int** a)
{int i,j,b,c,m,s,t,l,y=0,q,k=0;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
{
                if ((i==0)&&(j==0))
                if ((a[i][j]<a[i+1][j])&&(a[i][j]<a[i][j+1])&&(a[i][j]<a[i+1][j+1]))
                k++;
                if ((i==9)&&(j==9))
                if ((a[i][j]<a[i-1][j])&&(a[i][j]<a[i][j-1])&&(a[i][j]<a[i-1][j-1]))
                k++;
                if ((i==9)&&(j==0))
                if ((a[i][j]<a[i][j+1])&&(a[i][j]<a[i-1][j])&&(a[i][j]<a[i-1][j+1]))
                k++;
                if ((i==0)&&(j==9))
                if ((a[i][j]<a[i+1][j])&&(a[i][j]<a[i][j-1])&&(a[i][j]<a[i+1][j-1]))
                k++;
                if ((i==0)&&(j!=0)&&(j!=9))
                if ((a[i][j]<a[i][j-1])&&(a[i][j]<a[i][j+1])&&(a[i][j]<a[i+1][j-1])&&(a[i][j]<a[i+1][j+1])&&(a[i][j]<a[i+1][j]))
                k++;
                if ((i==9)&&(j!=0)&&(j!=9))
                if ((a[i][j]<a[i][j-1])&&(a[i][j]<a[i][j+1])&&(a[i][j]<a[i-1][j-1])&&(a[i][j]<a[i-1][j+1])&&(a[i][j]<a[i-1][j]))
                k++;
                if ((j==0)&&(i!=0)&&(i!=9))
                if ((a[i][j]<a[i-1][j])&&(a[i][j]<a[i+1][j])&&(a[i][j]<a[i-1][j+1])&&(a[i][j]<a[i+1][j+1])&&(a[i][j]<a[i][j+1]))
                k++;
                if ((j==9)&&(i!=0)&&(i!=9))
                if ((a[i][j]<a[i-1][j])&&(a[i][j]<a[i+1][j])&&(a[i][j]<a[i-1][j-1])&&(a[i][j]<a[i+1][j-1])&&(a[i][j]<a[i][j-1]))
                k++;                                              
                if ((i!=0)&&(i!=9)&&(j!=0)&&(j!=9))
                {
                m=i-1;
                s=j-1;
                t=i+2;
                l=j+2;
                q=0;
                y=a[i][j];
                for(b=m;b<t;b++)
                for(c=s;c<l;c++)
                if ((b!=(m+1))&&(c!=(s+1)))
                if (y<(a[b][c])) 
                q++;        
                if (q==8)
                k++;
                }
                }
                
                
                              
                         
out << "\nКол-во локальных минимумов- "<<  k;
cout<<"\nKol-vo.lokal.min- "<<k;
}                         
//==========================
int main()
{int i,j;
 
 
//fi=fopen("D:\\1.txt","w");
//fo=fopen("D:\\2.txt","rt");
 
int**a= new int*[10];
for(i=0;i<10;i++)
a[i]=new int[10]; 
    
    FVvod(a);   
        sum(a);
        lokal(a);
        cin.get();       
}

Смотрим Функцию lokal...
 
Текущее время: 00:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru