Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
1

Файлы: найти все страны у которых величина экспорта превышает величину импорта

27.11.2012, 19:08. Показов 3670. Ответов 54

Author24 — интернет-сервис помощи студентам
помогите пожалуйста. программа в формах.
дан файл, содержащий информацию о товарообмене пяти стран в течение 20 лет. под товарообменом понимаются данные об экспорте и импорте из i-ой страны в j-ю. найти все страны у которых величина экспорта за 20 лет превышает величину импорта.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2012, 19:08
Ответы с готовыми решениями:

Найти все страны у которых величина экспорта за 20 лет превышает величину импорта
помогите пожалуйста переделать программу из массивов в структуры: Дан файл, содержащий информацию...

Структура: Найти все страны, у которых величина экспорта за 20 лет превышает величину импорта.
Дан файл, содержащий информацию о товарообмене пяти стран в течение 20 лет. Под товарообменом...

Найти строки матрицы абсолютная величина суммы элементов которых превышает заданную величину
Дана матрица из 6 строк и 3 столбцов. Отпечатать номера тех строк, абсолютная величина суммы...

Найти страны, в которых экспортируется данный товар, и общий объём его экспорта
. Дан файл f, содержащий сведения об экспортируемых товарах: указывается наименование товара,...

54
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
07.12.2012, 16:32  [ТС] 41
Author24 — интернет-сервис помощи студентам
так как запустить программу?не пойму никак
0
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
09.12.2012, 16:12  [ТС] 42
скиньте скрин запуска программы пожалуйста. не знаю как
0
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
09.12.2012, 19:55 43
В Файле должны быть не точки, а запятые, в качестве разделителя целой и дробной части. Доалее просто указываем этот файл программе, и все!
0
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
09.12.2012, 20:23  [ТС] 44
догнал))спасибооо
0
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
19.12.2012, 15:32  [ТС] 45
добрый день. снова нужна помощь) можете данные текстового файла отобразить на форме самой(кострукторе), вместо кнопочти открыть. очень надо. спасибо!
0
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
19.12.2012, 15:46 46
Всмысле, что бы не надо было нажимать на кнопку "Открыть"?
Вот, замените код формы на:
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
public partial class Form1 : Form
{
    List<Package> packs = new List<Package>();
    string[] temp;
    DataTable Table = new DataTable();
 
    public Form1()
    {
        InitializeComponent();
        Table.Columns.Add("Страна");
        Table.Columns.Add("Импорт за 20 лет");
        Table.Columns.Add("Экспорт за 20 лет");
 
        if (openFileDialog1.ShowDialog() == DialogResult.OK)
            try
            {
                temp = File.ReadAllLines(openFileDialog1.FileName);
 
                for (int i = 0; i < temp.Length; i++)
                    packs.Add(new Package(temp[i].Split('\t')));
 
                for (int i = 0; i < temp.Length; i++)
                {
                    double export = 0;
                    double import = 0;
 
                    foreach (Package pack in packs)
                    {
                        if (pack.Exporter == i + 1)
                            export += pack.Count;
                        if (pack.Importer == i + 1)
                            import += pack.Count;
                    }
 
                    if (export > import)
                        Table.Rows.Add(i + 1, export, import);
                }
                dataGridView1.DataSource = Table;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
    }
}
0
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
19.12.2012, 16:00  [ТС] 47
ошибочка выходит
не удалось найти имя типа или пространства Package в 11, 28 и 35 строчке
0
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
19.12.2012, 16:01 48
хех, нужно было заменить только класс формы! Структуру "Пакет" оставить!
0
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
19.12.2012, 16:06  [ТС] 49
тоесть? заменил точно так как вы сказали.
0
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
19.12.2012, 16:10 50
Замените на:
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
using System.IO;
using System.Collections.Generic;
using System.Windows.Forms;
using System;
using System.Data;
 
namespace Trafic
{
    public partial class Form1 : Form
    {
        List<Package> packs = new List<Package>();
        string[] temp;
        DataTable Table = new DataTable();
 
        public Form1()
        {
            InitializeComponent();
            Table.Columns.Add("Страна");
            Table.Columns.Add("Импорт за 20 лет");
            Table.Columns.Add("Экспорт за 20 лет");
 
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
                try
                {
                    temp = File.ReadAllLines(openFileDialog1.FileName);
 
                    for (int i = 0; i < temp.Length; i++)
                        packs.Add(new Package(temp[i].Split('\t')));
 
                    for (int i = 0; i < temp.Length; i++)
                    {
                        double export = 0;
                        double import = 0;
 
                        foreach (Package pack in packs)
                        {
                            if (pack.Exporter == i + 1)
                                export += pack.Count;
                            if (pack.Importer == i + 1)
                                import += pack.Count;
                        }
 
                        if (export > import)
                            Table.Rows.Add(i + 1, export, import);
                    }
                    dataGridView1.DataSource = Table;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
        }
    }
 
    struct Package
    {
        public int Exporter;
        public int Importer;
        public int Year;
        public double Count;
 
        public Package(string[] args)
        {
            Exporter = int.Parse(args[0]);
            Importer = int.Parse(args[1]);
            Year = int.Parse(args[2]);
            Count = double.Parse(args[3]);
        }
    }
}
0
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
19.12.2012, 16:17  [ТС] 51
вы меня не совсем поняли( я имел ввиду данные об экспорте и импорте которые в текстовои файле должны быть на форме, в табличке чтоли рядом с результатом.
0
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
19.12.2012, 16:19 52
Эм... смысле выводить файл?
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
using System.IO;
using System.Collections.Generic;
using System.Windows.Forms;
using System;
using System.Data;
 
namespace Trafic
{
    public partial class Form1 : Form
    {
        List<Package> packs = new List<Package>();
        string[] temp;
        DataTable Table = new DataTable();
 
        public Form1()
        {
            InitializeComponent();
            Table.Columns.Add("Страна");
            Table.Columns.Add("Импорт за 20 лет");
            Table.Columns.Add("Экспорт за 20 лет");
 
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
                try
                {
                    temp = File.ReadAllLines(openFileDialog1.FileName);
                    richTextBox1.Text = File.ReadAllText(openFileDialog1.FileName);
 
                    for (int i = 0; i < temp.Length; i++)
                        packs.Add(new Package(temp[i].Split('\t')));
 
                    for (int i = 0; i < temp.Length; i++)
                    {
                        double export = 0;
                        double import = 0;
 
                        foreach (Package pack in packs)
                        {
                            if (pack.Exporter == i + 1)
                                export += pack.Count;
                            if (pack.Importer == i + 1)
                                import += pack.Count;
                        }
 
                        if (export > import)
                            Table.Rows.Add(i + 1, export, import);
                    }
                    dataGridView1.DataSource = Table;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
        }
    }
 
    struct Package
    {
        public int Exporter;
        public int Importer;
        public int Year;
        public double Count;
 
        public Package(string[] args)
        {
            Exporter = int.Parse(args[0]);
            Importer = int.Parse(args[1]);
            Year = int.Parse(args[2]);
            Count = double.Parse(args[3]);
        }
    }
}
0
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
19.12.2012, 16:23  [ТС] 53
вот эти данные(не все они тут)
Кликните здесь для просмотра всего текста
1 2 1992 159,83
1 3 1992 172,07
1 4 1992 177,55
1 5 1992 164,77
2 1 1992 114,51
2 3 1992 190,71
2 4 1992 141,92
2 5 1992 137,50
3 1 1992 164,73
3 2 1992 143,99
3 4 1992 123,23
3 5 1992 151,25
4 1 1992 143,32
4 2 1992 187,26
4 3 1992 185,48
4 5 1992 174,74
5 1 1992 151,41
5 2 1992 138,89
5 3 1992 183,68
5 4 1992 165,48
1 2 1993 191,93
1 3 1993 124,46
1 4 1993 146,51
1 5 1993 135,18
2 1 1993 163,08
2 3 1993 157,71
2 4 1993 121,14
2 5 1993 192,14
3 1 1993 177,84
3 2 1993 188,58
3 4 1993 113,20
3 5 1993 145,44
4 1 1993 187,84
4 2 1993 106,46
4 3 1993 195,58
4 5 1993 187,65
5 1 1993 193,35
5 2 1993 171,91
5 3 1993 155,67
5 4 1993 118,38
1 2 1994 124,07
1 3 1994 190,25
1 4 1994 147,40
1 5 1994 175,73
2 1 1994 136,91
2 3 1994 168,99
2 4 1994 191,67
2 5 1994 197,98
3 1 1994 160,58
3 2 1994 144,40
3 4 1994 143,39
3 5 1994 126,55
4 1 1994 100,37
4 2 1994 132,81
4 3 1994 113,63
4 5 1994 191,96
5 1 1994 103,29

должны отоброжатся на форме. тоесть в виде дано.
0
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
19.12.2012, 17:10 54
Этот код выводит в richTextBox1:
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
using System.IO;
using System.Collections.Generic;
using System.Windows.Forms;
using System;
using System.Data;
 
namespace Trafic
{
    public partial class Form1 : Form
    {
        List<Package> packs = new List<Package>();
        string[] temp;
        DataTable Table = new DataTable();
 
        public Form1()
        {
            InitializeComponent();
            Table.Columns.Add("Страна");
            Table.Columns.Add("Импорт за 20 лет");
            Table.Columns.Add("Экспорт за 20 лет");
 
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
                try
                {
                    temp = File.ReadAllLines(openFileDialog1.FileName);
                    richTextBox1.Text = File.ReadAllText(openFileDialog1.FileName);
 
                    for (int i = 0; i < temp.Length; i++)
                        packs.Add(new Package(temp[i].Split('\t')));
 
                    for (int i = 0; i < temp.Length; i++)
                    {
                        double export = 0;
                        double import = 0;
 
                        foreach (Package pack in packs)
                        {
                            if (pack.Exporter == i + 1)
                                export += pack.Count;
                            if (pack.Importer == i + 1)
                                import += pack.Count;
                        }
 
                        if (export > import)
                            Table.Rows.Add(i + 1, export, import);
                    }
                    dataGridView1.DataSource = Table;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
        }
    }
 
    struct Package
    {
        public int Exporter;
        public int Importer;
        public int Year;
        public double Count;
 
        public Package(string[] args)
        {
            Exporter = int.Parse(args[0]);
            Importer = int.Parse(args[1]);
            Year = int.Parse(args[2]);
            Count = double.Parse(args[3]);
        }
    }
}
0
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
19.12.2012, 17:16  [ТС] 55
аха.думаю это должно подойти. спасибо!
0
19.12.2012, 17:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2012, 17:16
Помогаю со студенческими работами здесь

Найти номера тех столбцов матрицы, сумма элементов которых превышает заданную величину, и число таких столбцов
Для матрицы из 3 строк и 7 столбцов отпечатать номератех слобцов, сумма элементов которых превышает...

Вычислить сумму тех элементов массива, величина которых не превышает 2.5
Задача на массив

Найти страны, в которые экспортируется данный товар и общий объем экспорта
Создать файл, содержащий требуемую информацию. Написать программу, которая позволит просмотреть...

Вывести автомобили, стоимость которых не превышает заданное с клавиатуры величину
Входные данные оформить в виде отдельного файла. 2. Массив структур содержит информацию о 12...


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

Или воспользуйтесь поиском по форуму:
55
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru