Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/64: Рейтинг темы: голосов - 64, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 17.12.2011
Сообщений: 16
1

Чтение массива из файла и запись в другой файл обработанного результата

07.01.2012, 23:21. Показов 11859. Ответов 17
Метки нет (Все метки)

задание: в *.txt файле дан одномерный массив чисел. Нужно прочитать данный массив, элементы кратные 3-м заменить их квадратами и результат записать в другой файл(опять же в файл формата *.txt). Заранее спасибо)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.01.2012, 23:21
Ответы с готовыми решениями:

Чтение массива из файла, его преобразование и запись в другой файл
Всем привет. Есть вот такой код: #include <iostream> #include <vector> #include <fstream>...

Чтение из файла и запись результата в файл
Доброго времени суток. Помогите пожалуйста реализовать чтение данных из файла и результат подсчета...

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

Чтение файла, замена слов и запись результата в новый файл
Помогите написать конвертер текста Например, у меня есть файл с определенным текстом. Мне нужно...

17
111 / 111 / 22
Регистрация: 26.12.2008
Сообщений: 166
07.01.2012, 23:53 2
вы уточняйте как в первом файле массив чисел "дан":
через запятую, через точку, через квадрат числа?!
1
1 / 1 / 0
Регистрация: 17.12.2011
Сообщений: 16
08.01.2012, 00:25  [ТС] 3
допустим числа даны через запятую и после нее пробел ", "

3, 15, 12, 3, 2, 15, 49

Мне главное как прочитать массив из файла, т.е. преобразовать строку или что-там в массив int[] или double[], и запись в новый файл.
0
111 / 111 / 22
Регистрация: 26.12.2008
Сообщений: 166
08.01.2012, 00:40 4
Чтение и конвертация в инт:
C#
1
2
3
 int[] array = File.ReadAllText(@"C:\inp.txt").
                Split(new Char[] {',',' '} , StringSplitOptions.RemoveEmptyEntries).
                Select(x => int.Parse(x)).ToArray();

Запись в файл :
C#
1
File.AppendAllText(@"C:\out.txt", String.Join(", ", array));
1
1 / 1 / 0
Регистрация: 17.12.2011
Сообщений: 16
08.01.2012, 00:52  [ТС] 5
Цитата Сообщение от Prorok Посмотреть сообщение
Чтение и конвертация в инт:
C#
1
2
3
 int[] array = File.ReadAllText(@"C:\inp.txt").
                Split(new Char[] {',',' '} , StringSplitOptions.RemoveEmptyEntries).
                Select(x => int.Parse(x)).ToArray();

Запись в файл :
C#
1
File.AppendAllText(@"C:\out.txt", String.Join(", ", array));
Спасибо) Но у меня выскакивают ошибки после "=>".
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
using System;
using System.Collections.Generic;
 
namespace lab9
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            int[] mas = File.ReadAllText(@"D:\t.txt").
            Split(new Char[] {',',' '} , StringSplitOptions.RemoveEmptyEntries);
            Select(x => double.Parse(x)).ToArray();
            for(int i = 0; i<mas.Length; i++)
            {
                Console.Write(mas[i]+" ");
            }
            Console.WriteLine();
            for (int j = 0; j < mas.Length; j++)
            {
                if (mas[j]%3==0)
                {
                    mas[j] = Math.Pow(mas[j], 2);
                }
               Console.Write(mas[j]+" ");
            }
            for (int i=0;i<mas.Length;i++)
            {
                File.AppendAllText(@"C:\out.txt", String.Join(", ", array));
            }
            Console.ReadLine();
        }
    }
}
Поправьте пожалуйста что неправильно. Я знaю что я тупица >.< )))
0
Эксперт .NET
15555 / 11804 / 3097
Регистрация: 17.09.2011
Сообщений: 19,716
08.01.2012, 00:55 6
Цитата Сообщение от Alisko Посмотреть сообщение
C#
1
Split(new Char[] {',',' '} , StringSplitOptions.RemoveEmptyEntries);
В конце строки должна быть точка, а не точка с запятой.
1
1 / 1 / 0
Регистрация: 17.12.2011
Сообщений: 16
08.01.2012, 01:13  [ТС] 7
Да знаю. Просто поставила, думаю что в ней ошибка.
Вот что вылетает(в строке 11):
Недопустимый терм ")" в выражении (CS1525)
ожидалась ; (CS1002)
ожидалась ) (CS1026)
Недопустимый терм ">" в выражении (CS1525)
здесь подчеркнуто:
C#
1
Select(x =[U]> double[/U].Parse(x[U])).[/U]ToArray();
0
111 / 111 / 22
Регистрация: 26.12.2008
Сообщений: 166
08.01.2012, 01:24 8
у вас массив int а вы в double парсите, оттуда и ошибка
0
79 / 79 / 12
Регистрация: 07.01.2012
Сообщений: 167
08.01.2012, 01:25 9
попробуй
C#
1
Select(x =>int.Parse(x)).ToArray();
или
C#
1
Select(x =>(int)double.Parse(x)).ToArray();
0
6242 / 3543 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
08.01.2012, 01:28 10
Alisko, какая версия .net?
1
1 / 1 / 0
Регистрация: 17.12.2011
Сообщений: 16
08.01.2012, 01:34  [ТС] 11
Prorok, в int тоже пробовала, тоже самое.
Петррр, Вообще на шарп Девелопе делаю 2.1 . Спасибо что напомнили, попробую на VS c# 2008
0
79 / 79 / 12
Регистрация: 07.01.2012
Сообщений: 167
08.01.2012, 01:46 12
ну и здесь тоже самое
C#
1
2
3
4
if (mas[j] % 3 == 0)
                {
                    Math.Pow((double)mas[j], 2);
                }
Добавлено через 10 минут
проверил, работает
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int[] mas = File.ReadAllText(@"D:\d.txt").
            Split(new Char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries).
            Select(x => int.Parse(x)).ToArray();
            for (int i = 0; i < mas.Length; i++)
            {
                Console.Write(mas[i] + " ");
            }
            Console.WriteLine();
            for (int j = 0; j < mas.Length; j++)
            {
                if (mas[j] % 3 == 0)
                {
                   mas[j]= (int)Math.Pow((double)mas[j], 2);
                }
                Console.Write(mas[j] + " ");
            }
            
                File.AppendAllText(@"D:\out.txt", String.Join(", ", mas));
            
            Console.ReadLine();
1
1 / 1 / 0
Регистрация: 17.12.2011
Сообщений: 16
08.01.2012, 01:52  [ТС] 13
Talent, напишите пожалуйста полный код(вместе с using и т.п.). У меня какие то глюки...
0
79 / 79 / 12
Регистрация: 07.01.2012
Сообщений: 167
08.01.2012, 02:07 14
C#
1
2
3
4
5
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
1
1 / 1 / 0
Регистрация: 17.12.2011
Сообщений: 16
08.01.2012, 15:05  [ТС] 15
Хм... теперь выскакивают ошибки:
Ошибка 1 Наиболее подходящий перегруженный метод для "string.Join(string, string[])" имеет несколько недопустимых аргументов строка 31 столбец 47
Ошибка 2 Аргумент "2": преобразование типа из "int[]" в "string[]" невозможно строка 31 столбец 65

Добавлено через 12 часов 15 минут
Talent, скажи пожалуйста чем ты компилировал? У меня ни на SD 2.1 ни на VS C# 2008 не работает.
0
79 / 79 / 12
Регистрация: 07.01.2012
Сообщений: 167
08.01.2012, 20:46 16
Вот так должно работать
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace getArrayFromFileEditSetArrayToFile
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] mas = File.ReadAllText(@"D:\d.txt").
            Split(new Char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries).
            Select(x => int.Parse(x)).ToArray();
            for (int i = 0; i < mas.Length; i++)
            {
                Console.Write(mas[i] + " ");
            }
            Console.WriteLine();
            for (int j = 0; j < mas.Length; j++)
            {
                if (mas[j] % 3 == 0)
                {
                    mas[j] = (int)Math.Pow((double)mas[j], 2);
                }
                Console.Write(mas[j] + " ");
            }
 
            File.WriteAllText(@"D:/out.txt", "");//переписываем файл
            
            for (int i=0; i<mas.Length;i++)
            {
                File.AppendAllText(@"D:/out.txt", (mas[i].ToString()+", "));
            }  
            Console.ReadLine();
        }
 
    }
}
Добавлено через 18 секунд
VS 2010 Ultimate
1
kolorotur
08.01.2012, 22:06
  #17

Не по теме:

Цитата Сообщение от Talent Посмотреть сообщение
VS 2010 Ultimate
Почём купили?

0
79 / 79 / 12
Регистрация: 07.01.2012
Сообщений: 167
08.01.2012, 23:35 18
Цитата Сообщение от kolorotur Посмотреть сообщение
Почём купили?
на работе стоит, пользую по rdp, т.о. -шара)))
 Комментарий модератора 
Прекращаем оффтоп.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.01.2012, 23:35

Чтение данных из файла и запись в другой файл
Что не так? почему ошибку выдаёт? Ввод имеет такой вид 2 1993 1994 1 1995

Чтение всего файла и запись в другой файл
В общем задача в том что бы построчно прочитать файл и записать его в другой, не скопировать... не...

Попарное слияние строк из одного текстового файла и запись результата в другой текстовый файл
есть txt файл состоящий из разного колличества строк, конец строк является `\n` необходимо...

Чтение из одного файла и запись в другой файл winAPI c++
Всем привет уже битый час туплю. Короче нужно переписать всю информацию из одного файла в другой(не...

Чтение строк из файла, объединение и запись в другой файл
Есть текстовый файл в котором записаны несколько строк (строки состоят из 0 и 1). Нужно считать...

Чтение N-ной строки из одного файла и её запись в другой файл
Добрый день/вечер Столкнулся с такой проблемой: Требуется прочитать определенную строку в...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru