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

Как считать слова с файла по отдельности и записать в массив?

14.04.2015, 20:11. Показов 9487. Ответов 11
Метки нет (Все метки)

Подскажите пожалуйста. Есть файл с словами и цифрами. Слова в первой строке, цифры во второй.

например:
Маша Таня Юля Сергей Иван
5 7 9 5 10
как мне считать их с файла так, чтобы каждое слово было в массиве отдельно?
Например:
C#
1
2
3
4
5
6
7
8
string[] Imya;
massiv[0]="Маша";
massiv[1]="Таня"; //и т.д.
 
string[] let;
let[0]="5";
let[1]="7";
let[2]="9"; // и т.д.
или же считать в переменную все символы с файла и потом слова между пробелами записать в массив.
C#
1
2
StreamReader Spisok = File.OpenText("spisok.txt");
string text = File.ReadAllText("spisok.txt");
Спасибо кто откликнется, не знаю как дальше двигаться!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.04.2015, 20:11
Ответы с готовыми решениями:

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

Как считать данные с файла и записать в массив?
В файле данные расположены следующим образом : Radius: 1 Coord point: (5;10) Radius: 5 Coord...

Как из файла считать данные построчно и записать их в массив?
Как из файла считать данные построчно и записать их в массив? К примеру такой файл с содержимым....

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

11
51 / 12 / 0
Регистрация: 05.09.2014
Сообщений: 92
14.04.2015, 20:30 2
Чича, У класса string есть метод Split. Должно помочь в решении вашего вопроса.
0
1 / 1 / 0
Регистрация: 15.11.2013
Сообщений: 26
14.04.2015, 20:39  [ТС] 3
Да, я делаю с ним. вот что получилось:
C#
1
2
3
4
5
6
7
8
9
StreamReader Spisok = File.OpenText("spisok.txt");
            string text=File.ReadAllText("spisok.txt");
            string[] slova;
            text.Split(' ');
            for (i = 0; i < text.Length; i++) richTextBox1.Text += Convert.ToString(text[i]);
            for (i = 0; i < text.Length / 2; i++)
            {
                if (text[i] != ' ') slova[i]+=text[i]; //но вот здесь не могу догнать как перекинуть слова из text в массив
            }
Подскажите пожалуйста, как записать цикл с перекидыванием
0
272 / 265 / 178
Регистрация: 31.03.2013
Сообщений: 2,135
14.04.2015, 21:13 4
Лучший ответ Сообщение было отмечено Чича как решение

Решение

Чича, Попробуйте вот так:
C#
1
2
3
4
5
6
7
8
List<String> slova = new List<string>();
            using (StreamReader sr = new StreamReader("spisok.txt"))
            {
                while (!sr.EndOfStream)
                    slova.Add(sr.ReadLine());
            }
            string[] name = slova[0].Split(' ');
            string[] value = slova[1].Split(' ');
1
1 / 1 / 0
Регистрация: 15.11.2013
Сообщений: 26
14.04.2015, 21:15  [ТС] 5
Midian, А как вывести в richTextBox этот список? ну или куда нибудь , в лейбл. или как посмотреть вообще можно?
0
272 / 265 / 178
Регистрация: 31.03.2013
Сообщений: 2,135
14.04.2015, 21:16 6
Чича, richTextBox.AppendText("тут то что нужно вывести");
1
1 / 1 / 0
Регистрация: 15.11.2013
Сообщений: 26
14.04.2015, 21:23  [ТС] 7
Midian, нет, я имела ввиду, как вывести этот список который вы до этого написали? У меня не консолька, а с формой. Как вывести все значения списка?

Добавлено через 4 минуты
Midian, а вот. вывела.
C#
1
2
for (i=0;i<slova.Count;i++)
            richTextBox1.Text += Convert.ToString(name[i])+" ";
Спасибо! А тоже самое нельзя сделать не списком, а в массив string?
0
272 / 265 / 178
Регистрация: 31.03.2013
Сообщений: 2,135
14.04.2015, 21:25 8
Чича, Что именно вы хотите вывести? List или значения массивов name и value? И куда именно вывести?
0
1 / 1 / 0
Регистрация: 15.11.2013
Сообщений: 26
14.04.2015, 21:33  [ТС] 9
Midian, я поняла как выводить и просматривать их. Спасибо.
Но я хотела бы еще уточнить. Про список.
Значит создаем список, открываем файл txt, потом пока не конец файла считываем строки, а потом из этих строк убираем пробелы и записываем в новый массив. Так ведь ?
0
272 / 265 / 178
Регистрация: 31.03.2013
Сообщений: 2,135
14.04.2015, 21:37 10
Чича, Да, все верно. Вот так будет выглядеть, если использовать просто массив, тогда нужно заранее указывать его размерность. Списки удобнее тем ,что их размеры динамические, в отличии от массива string + там есть масса методов для обработки данных внутри списка.
C#
1
2
3
4
5
6
7
8
9
string[] slova = new string[2]; int i = 0;
            using (StreamReader sr = new StreamReader("spisok.txt"))
            {
                while (!sr.EndOfStream)
                {
                    slova[i] = sr.ReadLine();
                    i++;
                }
            }
1
1 / 1 / 0
Регистрация: 15.11.2013
Сообщений: 26
15.04.2015, 15:14  [ТС] 11
Midian, ох, извини за вопрос опять) А зачем вы пишем using? нельзя просто написать StreamReader sr = new StreamReader("spisok.txt") перед самим циклом?
0
272 / 265 / 178
Регистрация: 31.03.2013
Сообщений: 2,135
15.04.2015, 17:03 12
Чича, Ключевое слово using используется к классам (в данном случае потоку), которые наследуют интерфейс IDisposebal, тем самым, после завершения работы с классом, автоматически выгружается объект из памяти.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.04.2015, 17:03

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Как записать и считать двумерный массив bool используя QTextStream из файла?
Как записать и считать двумерный массив bool используя QTextStream из файла?Необходимо определить...

Файл: Необходимо считать символы из файла и записать в массив unsigned int array[2]. Не подскажите как это сделать?
Итак, есть файл. В нем записано восемь символов по одному байту, мне нужно считать их и записать в...

Считать массив из файла, удалить оттуда 0, новый массив записать в файл
ребята, помогите ,пожалуйста. сначала необходимо прочитать файл .txt типа -71 0 -69 0 -68 0...

Считать из файла и записать массив
вопрос в комментарии, подскажите пожалуйста #include &lt;iostream&gt; using namespace std; struct book...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.