0 / 2 / 0
Регистрация: 07.10.2014
Сообщений: 202
1

Получить в файле g все компоненты файла f, являющиеся полными квадратами

20.05.2015, 19:52. Показов 3006. Ответов 29
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан файл f, компонентами которого являются натуральные числа. Получить в файле g все компоненты файла f, являющиеся полными квадратами. помогите пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.05.2015, 19:52
Ответы с готовыми решениями:

Получить в файле g все компоненты файла f, являющиеся полными квадратами
class Program { static void Main(string args) { string file1 =...

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

Из файла f переписать в файл g все числа, являющиеся полными квадратами
Из файла f переписать в файл g все числа, являющиеся полными квадратами.

Получить в файле g все компоненты файла f, являющиеся нечетными
Добрый день ребята можете выручить пожалуйста на ДЕЛФИ! Дан файл f, компоненты которого являются...

29
Life Builder
532 / 496 / 374
Регистрация: 12.01.2011
Сообщений: 1,754
20.05.2015, 20:05 2
что подразумевается под словом компонент? И что значить полный квадрат? Бывают и неполные?
0
0 / 2 / 0
Регистрация: 07.10.2014
Сообщений: 202
20.05.2015, 20:07  [ТС] 3
так звучит задание ,я сам не могу понять ,поэтому и прошу помощи
0
Life Builder
532 / 496 / 374
Регистрация: 12.01.2011
Сообщений: 1,754
20.05.2015, 20:17 4
Если было бы пример, то я бы попробывал помочь.

Добавлено через 9 минут
Если я правильно понял, то так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
List<int> numbers = new List<int>();
 
using(StreamReader reader = new StreamReader("f.txt"))//поток чтения файла
{
    while (!reader.EndOfStream)
        numbers.Add(int.Parse(reader.ReadLine()));
}
 
using(StreamWriter writer = new StreamWriter("g.txt"))//поток записи в файл
{
    foreach (int num in numbers)
    {
        if (Math.Sqrt(num) % 1 == 0)
            writer.WriteLine(num);
    }
}
Добавлено через 21 секунду
Это еще и от структуры файла зависит
0
0 / 2 / 0
Регистрация: 07.10.2014
Сообщений: 202
20.05.2015, 20:21  [ТС] 5
sk007, вот для этого задания есть. Компонентами файла f являются действительные числа. Найти последнюю компоненту и сумму наибольшего и наименьшего значений компонент.
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace ConsoleApplication1
{
    class Program
    {
        public int[] text;
        public string [] st;
        public string b;
 
        static void Main(string[] args)
        {
            Program a = new Program();
            string s = "D://text.txt";
 
            if (!File.Exists(s))
                File.Create(s);
            using (StreamWriter n = new StreamWriter(s))
            {
 
                for (int i = 0; i < 20; i++)
                {   
                    n.Write(i+" ");
                }
 
            }
             using (FileStream fs = new FileStream(s, FileMode.Open, FileAccess.Read))
            {
                using (StreamReader r = new StreamReader(fs))
                {
                    a.b = r.ReadToEnd();
                }
            }
 
            a.st = a.b.Split(' ');
            a.text = new int[a.st.Length-1];
 
            for (int i = 0; i<a.st.Length;i++)
            {
                try
                {
                    a.text[i] = Int32.Parse(a.st[i]);
 
                }
                catch { }
                }
 
                for (int i = 0; i<a.text.Length;i++)
            {
                Console.WriteLine(a.text[i]);
 
            }
                   Console.WriteLine("Максимальное значение: " + a.text.Max());
                   Console.WriteLine("Минимальное значение: " + a.text.Min());
                   Console.WriteLine("Сумма максимальной и минимальной компонент: " + (a.text.Max()+ a.text.Min())); 
                   Console.WriteLine("Последняя компонента " + a.text[a.text.Length - 1]);
                   Console.ReadKey();
 
        }
    }
}
0
Life Builder
532 / 496 / 374
Регистрация: 12.01.2011
Сообщений: 1,754
20.05.2015, 20:28 6
Или в тринадцатой строке условие можно по другому составить:
C#
1
Math.Pow(Math.Sqrt(num), 2) == num
0
0 / 2 / 0
Регистрация: 07.10.2014
Сообщений: 202
20.05.2015, 21:22  [ТС] 7
sk007, а вот по примеру можешь сделать?

Добавлено через 45 минут
sk007, помоги пожалуйста)
0
Life Builder
532 / 496 / 374
Регистрация: 12.01.2011
Сообщений: 1,754
20.05.2015, 21:49 8
Вот на том посту же я написал.

Добавлено через 2 минуты
я не пойму, зачем Вам
эта строка:
C#
1
Program a = new Program();
Сделайте все поля статическими. И все.

Добавлено через 13 минут
Раз уж все равно использовали linq, то можно было и так:
C#
1
2
3
4
5
6
int[] chisla = File.ReadAllLines("<PathToFile>").Selext(x=>int.Parse(x));
 
Console.WriteLine("Максимальное значение: {0}\nМинимальное значение: {1}", (int a = chisla.Max(), (int b = chisla.Min()));
Console.WriteLine("Сумма максимальной и минимальной компонент: {0}", a+b); 
Console.WriteLine("Последняя компонента {0}", chisla.Length - 1<0?"Массив пуста!":chisla[chisla.Length - 1]);
Console.WriteLine("Числа которые явл-ся полным квадратом: {0}", string.Join(" ", chisla.Where(x=>Math.Sqrt(x) % 1 == 0)));
0
0 / 2 / 0
Регистрация: 07.10.2014
Сообщений: 202
20.05.2015, 22:35  [ТС] 9
sk007, это только пример а мне надо к мое задания так написать)

Добавлено через 1 минуту
sk007, как в примере ,только для моего задания ,пожалуйста
0
0 / 2 / 0
Регистрация: 07.10.2014
Сообщений: 202
22.05.2015, 23:59  [ТС] 10
sk007, помоги а то не получается,пожалуйста))
0
Life Builder
532 / 496 / 374
Регистрация: 12.01.2011
Сообщений: 1,754
23.05.2015, 06:32 11
Цитата Сообщение от andrey1993 Посмотреть сообщение
помоги а то не получается,пожалуйста))
Что именно?
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
        public static int[] text;
        public static string [] st;
        public static string b;
 
        static void Main(string[] args)
        {
            string s = "D://text.txt";
 
            if (!File.Exists(s))
                File.Create(s);
            using (StreamWriter n = new StreamWriter(s))
            {
 
                for (int i = 0; i < 20; i++)
                {   
                    n.Write(i+" ");
                }
 
            }
             using (FileStream fs = new FileStream(s, FileMode.Open, FileAccess.Read))
            {
                using (StreamReader r = new StreamReader(fs))
                {
                    b = r.ReadToEnd();
                }
            }
 
            st = b.Split(' ');
            text = new int[a.st.Length-1];
 
            for (int i = 0; i<st.Length;i++)
            {
                int a;
                if(TryParse(st[i], out a))
                    text[i] = a;
            }
 
            for (int i = 0; i<text.Length;i++)
            {
                Console.WriteLine(text[i]);
            }
            
           Console.WriteLine("Максимальное значение: " + text.Max());
           Console.WriteLine("Минимальное значение: " + text.Min());
           Console.WriteLine("Сумма максимальной и минимальной компонент: " + (text.Max()+ text.Min())); 
           Console.WriteLine("Последняя компонента: " + text[text.Length - 1]);
           Console.Write("Числа явл-ся полными квадратами:\n");
 
            using(StreamWriter writer = new StreamWriter("g.txt"))//поток записи в файл
            {
                foreach (int num in numbers)
                {
                    if (Math.Sqrt(num) % 1 == 0)
                    {
                        writer.WriteLine(num);
                        Console.Write("{0} ", num);
                    }
                }
            }
            
           Console.ReadKey();
 
        }
0
0 / 2 / 0
Регистрация: 07.10.2014
Сообщений: 202
23.05.2015, 22:12  [ТС] 12
sk007, для моего задания :Дан файл f, компонентами которого являются натуральные числа. Получить в файле g все компоненты файла f, являющиеся полными квадратами.cделать по примеру то что я скинул ,а ты мне делаешь две программы вместе ,пример надо заменить на мою задачу особо нечего не меняя

Добавлено через 2 часа 2 минуты
sk007,
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication61
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = "D://f.txt";
 
            if (!File.Exists(s))
                File.Create(s);
            using (StreamWriter n = new StreamWriter(s))
            {
 
                for (int i = 0; i < 20; i++)
                {
                    n.Write(i + " ");
                }
 
            }
 
            using (StreamWriter writer = new StreamWriter("D://g.txt"))//поток записи в файл
            {
                foreach (int n in s)
                {
                    if (Math.Sqrt(n) % 1 == 0)
                        writer.WriteLine(n);
                }
            }
 
 
        }
    }
}
почему то не работает ,исправь пожалуйста
0
Life Builder
532 / 496 / 374
Регистрация: 12.01.2011
Сообщений: 1,754
24.05.2015, 17:09 13
В строках 12 и 26. Вместо двойной слэш замените двойным обратным слэшем.
0
0 / 2 / 0
Регистрация: 07.10.2014
Сообщений: 202
24.05.2015, 17:12  [ТС] 14
sk007,
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace ConsoleApplication63
{
    class Program
    {
        static void Main(string[] args)
        {
            string file1 = "D:\\f.txt";
            StreamReader reader = new StreamReader(file1); // создаем «потоковый читатель» и связываем его с файловым потоком 
            Console.WriteLine(reader.ReadToEnd()); //считываем все данные с потока и выводим на экран
            reader.Close(); //закрываем поток
            Console.ReadLine();
            using  //создаем файловый поток
            (StreamWriter n = new StreamWriter(file1)) //создаем «потоковый писатель» и связываем его с файловым потоком 
            {
                for (int i = 1; i < 20; i++)
                {
                    n.Write(i + " ");
                  
 
                }//записываем в файл
                n.Close();
            } //закрываем поток. Не закрыв поток, в файл ничего не запишется 
           
 
           
            string file2 = "D:\\g.txt";
 
            StreamReader reader1 = new StreamReader(file2);
            Console.WriteLine(reader1.ReadToEnd());
            reader1.Close();
            Console.ReadLine();
 
            using  //создаем файловый поток
             (StreamWriter n = new StreamWriter(file2))
            {
                {
                    foreach (int c in file1)
                        if (Math.Sqrt(c) % 1 == 0)
                            n.Write(c + " ");
 
 
                }
                n.Close();
               
            }
 
 
        }
 
    }
 
}
ну почему то не работает
0
Life Builder
532 / 496 / 374
Регистрация: 12.01.2011
Сообщений: 1,754
24.05.2015, 17:14 15
Цитата Сообщение от andrey1993 Посмотреть сообщение
cделать по примеру то что я скинул ,а ты мне делаешь две программы вместе
А как еще сделать? У вас же вообще другая программа.

А вы вообще понимаете, какую программу вы скинули в последний раз?
0
0 / 2 / 0
Регистрация: 07.10.2014
Сообщений: 202
24.05.2015, 17:19  [ТС] 16
да в последний раз я скинул другою но задание это же ,мне в этой программе надо найти ошибку пожалуйста

Добавлено через 2 минуты
sk007, эту я сам попробовал написать ,почти получилось,но только в консоле не выводит как надо
0
Life Builder
532 / 496 / 374
Регистрация: 12.01.2011
Сообщений: 1,754
24.05.2015, 17:28 17
вот этот кусок

C#
1
Console.WriteLine(reader.ReadToEnd());//Выводит в консоль весь считанный текст
C#
1
Console.ReadLine();//считывает с консоли, только, то что вы в консоле пишете
А дальше еще интересней:
C#
1
2
3
4
5
6
7
8
9
10
11
using  //создаем файловый поток
            (StreamWriter n = new StreamWriter(file1)) //создаем «потоковый писатель» и связываем его с файловым потоком 
            {
                for (int i = 1; i < 20; i++)
                {
                    n.Write(i + " ");
                  
 
                }//записываем в файл
                n.Close();
            }
записывает в файл f.txt, вот этакие строчки
1 2 3 4 5 6 7 8 9...//и так до 19-ти
в строках 34-37 опять, считает второй файл. Хотя не пойму зачем она нужна, раз нигде не используется дальше.
а в 39-51 перебирает каждый символ из текста D:\f.txt, причем ищет в нем числа, которые являются полными квадратами(не переводя его в тип инт). Потом если найдет, в чем я очень сомневаюсь, записывает его в файл g.txt
0
0 / 2 / 0
Регистрация: 07.10.2014
Сообщений: 202
24.05.2015, 17:35  [ТС] 18
sk007, может поможете ,а то как я вижу у меня плохо получилось
0
Life Builder
532 / 496 / 374
Регистрация: 12.01.2011
Сообщений: 1,754
24.05.2015, 18:03 19
Я ведь уже несколько раз пробывал. Но, никак не пойму, что именно вам нужно.
0
0 / 2 / 0
Регистрация: 07.10.2014
Сообщений: 202
24.05.2015, 18:06  [ТС] 20
ну вот в этой программе ошибке помогите исправить какие вы увидели ,мне надо что в консоле выводилось
файл f 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
файл g 1 4 9 16
0
24.05.2015, 18:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2015, 18:06
Помогаю со студенческими работами здесь

Получить в файле g все компоненты файла f, являющиеся отрицательными числами
Запрограммировать (написать программный код в среде PascalABC.NET, отладить его, запустить на...

Получить в файле g все компоненты файла f, являющиеся четными числами
1. Дан файл f компоненты которого явл-ся целыми числами. получить в файле g все компоненты файла f:...

Получить в файле g все компоненты файла f, являющиеся четными числами
Всем привет! Помогите, пожалуйста, написать код программы к задаче: Дан файл, компоненты которого...

Получить в файле все компоненты файла, являющиеся четными числами
Здание: Дан файл, компоненты которого являются целыми числами. Получить в файле g все компоненты...


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

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

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