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

Если число из второго файла больше числа в первом, то число из второго файла записывается в первый файл на место меньшего

03.12.2012, 21:19. Показов 2062. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
добрый вечер. дано два файла, содержащих одинаковое количество целых чисел. перезаписать первый файл следующим образом: если число извторого файла больше соответствующего числа в первом, то число из второго файла записывается в первый файл на место меньшего.
вот что у меня получилось. но не хочет работать.

Добавлено через 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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
 
namespace WindowsFormsApplication1
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
 
        private void титульникToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form1 A = new Form1();
            A.Show();
            this.Hide();
        }
 
        private void строкиToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form3 A = new Form3();
            A.Show();
            this.Hide();
        }
 
        private void выходToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            FileInfo fi = new FileInfo("input1.txt");
            fi.Create();
            FileInfo fil = new FileInfo("output1.txt");
            fil.Create();
            FileInfo fi1 = new FileInfo("input2.txt");
            fi1.Create();
            FileInfo fil1 = new FileInfo("output2.txt");
            fil1.Create();
            MessageBox.Show("Файлы успешно созданы");
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            FileInfo fi = new FileInfo("input1.txt");
            fi.Delete();
            FileInfo fil = new FileInfo("output1.txt");
            fil.Delete();
            FileInfo fi1 = new FileInfo("input2.txt");
            fi1.Delete();
            FileInfo fil1 = new FileInfo("output2.txt");
            fil1.Delete();
            MessageBox.Show("Файлы успешно удалены");
        }
 
        private void button3_Click(object sender, EventArgs e)
        {
            double[] A = new double[100];
            double[] B = new double[100];
            double rand,n;
            Random r = new Random();
            n = double.Parse(textBox1.Text);
            StreamWriter sw = new StreamWriter("input1.txt");
            StreamWriter sw1 = new StreamWriter("input2.txt");
            for (int i = 0; i < n; i++) // массив заполнения случ. числами 
            {
                rand = r.Next(100);
                A[i] = rand;
                sw.WriteLine(A[i]);
                this.listBox1.Items.Add(A[i]);
            }
            for (int j = 0; j < n; j++) // массив заполнения случ. числами 
            {
                rand = r.Next(100);
                B[j] = rand;
                sw.WriteLine(B[j]);
                this.listBox2.Items.Add(B[j]);
            }
            sw.Close();
            sw1.Close();
        }
 
        private void button4_Click(object sender, EventArgs e)
        {
            double[] d = new double[100];
            double[] a = new double[100];
            StreamReader streamReader = new StreamReader("input1.txt");
            StreamReader streamReader1 = new StreamReader("input2.txt");
            StreamWriter sw = new StreamWriter("output1.txt");
            StreamWriter sw1 = new StreamWriter("output2.txt");
            double n = double.Parse(textBox1.Text);
            while (!streamReader.EndOfStream)
            {
                //str+=streamReader.ReadLine();
                for (int j = 0; j < n; j++)
                {
                    d[j] = Double.Parse(streamReader.ReadLine());
                }
            }
            while (!streamReader1.EndOfStream)
            {
                for (int j = 0; j < n; j++)
                {
                  a[j] = Double.Parse(streamReader1.ReadLine());
                }
            }
            for (int j = 0; j < n; j++)
                {
                    if (d[j] < a[j])  
                    {
 
                        sw.WriteLine(a[j]);
                        sw1.WriteLine(a[j]);
 
                        this.listBox3.Items.Add(a[j]);
                        this.listBox4.Items.Add(a[j]);
 
 
                    }
                    else if ((d[j]==a[j])&&(d[j]>a[j]))
                    {
                       sw.WriteLine(d[j]);
                       sw1.WriteLine(a[j]);
                        this.listBox3.Items.Add(d[j]);
                        this.listBox4.Items.Add(a[j]);
                    }
                }
            sw.Close();
            streamReader.Close();
            sw1.Close();
            streamReader1.Close(); 
 
 
        }
 
        private void button5_Click(object sender, EventArgs e)
        {
            this.listBox2.Items.Clear();
            this.listBox1.Items.Clear();
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.12.2012, 21:19
Ответы с готовыми решениями:

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

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

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

23
310 / 206 / 44
Регистрация: 15.02.2012
Сообщений: 605
03.12.2012, 21:31
C#
1
if ((d[j]==a[j])&&(d[j]>a[j]))
(d == a) и (d>a) одновременно выполняться не могут, следовательно блок под этим if никогда не выполнится

Меняйте && на || ... а вообще, хорошо бы уточнить
Цитата Сообщение от stydent1991 Посмотреть сообщение
но не хочет работать.
как именно не хочет работать
1
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
03.12.2012, 21:38  [ТС]
аха. теперь программа работает но все числа из второго файла переписываются в первый. даже если они меньше
0
310 / 206 / 44
Регистрация: 15.02.2012
Сообщений: 605
03.12.2012, 21:45
поставьте брейкпоинт и проверьте, правильно ли считались числа из файлов в массивы d и a
0
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
03.12.2012, 21:46  [ТС]
можете написать?не совсем понял..
0
310 / 206 / 44
Регистрация: 15.02.2012
Сообщений: 605
03.12.2012, 22:01
http://msdn.microsoft.com/ru-r... ex6de.aspx

Добавлено через 39 секунд
поставите точку останова, запустите программу. Программа дойдет до точки и встанет на паузу. Мышкой наведете на массивы и проверите, правильно ли они считались
0
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
03.12.2012, 22:07  [ТС]
числа правильно считаются. просто у меня даже если число из первого больше на его место пишется число из второго. может вам весь проект скинуть? яснее станет
0
310 / 206 / 44
Регистрация: 15.02.2012
Сообщений: 605
03.12.2012, 22:11
Цитата Сообщение от stydent1991 Посмотреть сообщение
может вам весь проект скинуть? яснее станет
вот это точно)
0
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
03.12.2012, 22:26  [ТС]
теперь все будет на своих местах))
Вложения
Тип файла: rar WindowsFormsApplication1.rar (72.7 Кб, 51 просмотров)
0
310 / 206 / 44
Регистрация: 15.02.2012
Сообщений: 605
03.12.2012, 22:34
у вас файлы некорректно заполняются ... вы пишете в один и тот же поток sw

Добавлено через 22 секунды
соответственно в первом файле в два раза больше положенного чисел, во втором - вообще ни шиша
0
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
03.12.2012, 22:47  [ТС]
откуда вы нашли это? количество чисел одинаково. только что проверил.
0
310 / 206 / 44
Регистрация: 15.02.2012
Сообщений: 605
03.12.2012, 22:51
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for (int i = 0; i < n; i++) // массив заполнения случ. числами 
            {
                rand = r.Next(100);
                A[i] = rand;
                sw.WriteLine(A[i]);
                this.listBox1.Items.Add(A[i]);
            }
            for (int j = 0; j < n; j++) // массив заполнения случ. числами 
            {
                rand = r.Next(100);
                B[j] = rand;
                sw.WriteLine(B[j]);
                this.listBox2.Items.Add(B[j]);
            }
в обоих этих циклах вы обращаетесь к потоку sw
0
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
03.12.2012, 23:02  [ТС]
тогда как сделать, скажите пожалуйста?
0
310 / 206 / 44
Регистрация: 15.02.2012
Сообщений: 605
03.12.2012, 23:17
ну вы же объявляете поток sw - для input1 и поток sw1 для input2 ... во втором цикле, если вы хотите заполнить файл input2, нужно и писать для потока sw1

C#
1
sw1.WriteLine(B[j]);
0
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
04.12.2012, 00:02  [ТС]
у меня там так и стоит. sw1 для output2
0
310 / 206 / 44
Регистрация: 15.02.2012
Сообщений: 605
04.12.2012, 00:03
сравните строчки 78 и 85 в коде, который вы привели в первом посте этой темы
0
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
04.12.2012, 00:12  [ТС]
так же. а как должно быть?
0
310 / 206 / 44
Регистрация: 15.02.2012
Сообщений: 605
04.12.2012, 00:26
что так же? не заставляйте меня цитировать себя самого ... читайте то, что вам пишут, конкретнее - пост номер 14
0
1 / 1 / 0
Регистрация: 13.06.2010
Сообщений: 156
04.12.2012, 00:39  [ТС]
мне кажется мы не понимаем друг друга) зачем мне менять для первых двух текст боксов?когда надо чтоб результат правильный выводил в 3й текстбох. да и то что вы говорите все так же в программе
0
310 / 206 / 44
Регистрация: 15.02.2012
Сообщений: 605
04.12.2012, 00: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
private void button3_Click(object sender, EventArgs e)   // метод для генерации файлов input1 и input2
        {
            double[] A = new double[100];
            double[] B = new double[100];
            double rand,n;
            Random r = new Random();
            n = double.Parse(textBox1.Text);
            StreamWriter sw = new StreamWriter("input1.txt");                            // поток, для записи в файл input1
            StreamWriter sw1 = new StreamWriter("input2.txt");                          // поток, для записи в файл input2
            for (int i = 0; i < n; i++) // массив заполнения случ. числами          // цикл, в котором генерируются числа и 
            {                                                                                            // записываются в файл input1
                rand = r.Next(100);
                A[i] = rand;
                sw.WriteLine(A[i]);                                     // запись в поток для файла input 1
                this.listBox1.Items.Add(A[i]);
            }                                                               
            for (int j = 0; j < n; j++) // цикл, в котором генерируются числа и записываются в файл input2 (по идее, но пишутся в input1)
            {
                rand = r.Next(100);
                B[j] = rand;
                sw.WriteLine(B[j]);                         // здесь берется поток, который открыт для файла input1, хотите сказать, что так и должно быть?
                this.listBox2.Items.Add(B[j]);
            }
            sw.Close();
            sw1.Close();
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.12.2012, 00:46
Помогаю со студенческими работами здесь

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

Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа, если это не так
Нужно написать в Eclipse,не понимаю как ввести переменные через клавиатуру, а суть программы надо в цикл, допустим если a=&gt;b тогда,...

Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа, если это не так.
Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа, если это не так.

Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа, если это не так
Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа, если это не так. Ввод чисел с клавиатуры.

Даны два действительные числа.Вывести первое число,если оно больше второго,и оба числа если это не так.
Даны два действительные числа.Вывести первое число,если оно больше второго,и оба числа если это не так.(Турбо паскаль)


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru