Форум программистов, компьютерный форум 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
29.04.2010, 23:58     Динамический массив и работа с файлами
Было дано задание:
Массив определять как динамический. Исходные данные и результаты размещать в текстовых файлах. Обработку массивов оформить в виде функций.
Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером 10 на 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
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
#include<iostream>
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
 
using namespace std;
FILE*fi,*fo;
//==========================
void FVvod(int**a)
{int i,j;
cout<<"Kol-vo strok=10";
cout<<"\nKol-vo stolbcov=10\n";
for(j=0;j<10;j++)
for(i=0;i<10;i++)
fscanf(fo,"%i",&a[i][j]);
cout<<"\nmatriza:\n";
for(i=0;i<10;i++)
for(j=0;j<10;j++)
fscanf(fi,"%i",&a[i][j]);
}
//==========================
void sum(int** a,float tt)
{int i,j;
for(i=0;i<10;i++)
{for(j=0;j<10;j++)
{if (i==j)
tt+=a[i-1][j];}}
cout<<"\nSumma- "<<tt;
}
//==========================
void lokal(int** a)
{int i=0,j=0,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==10)&&(j==10))
                {
                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==10)&&(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==10))
                {
                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!=10))
                {
                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==10)&&(j!=0)&&(j!=10))
                {
                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!=10))
                {
                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==10)&&(i!=0)&&(i!=10))
                {
                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!=10)&&(j!=0)&&(j!=10))
                {
                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++;
                }
}
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);
    getch();    
    return 0;
}
Прога только начинает запускаться и тут же вылетает....данные в исходном файле стираются...

Если можно то еще объясните как сделать чтобы выводило полученные данные в файл...

Компилятор Dev
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru