motofan logo
2 страниц V < 1 2        
> 

Помогите решить задачку по програмингу, +3 к репе дам)

baat
сообщение 2.6.2010, 17:22


Самый Наглый
******

Группа: В отставке
Сообщений: 1 282
Регистрация: 18.5.2006
Из: Дом, милый дом...
Пользователь №: 83 674
Модель телефона: старая модель...
Прошивка: какая уж есть...
Победитель конкурса 2008


Настроение:
...



Рейтинг: 1535



Delta_3D, не, я не в укор, я даже паражён, что девушка паскаль на столько хорошо знает) просто как бы подсказываю как будет лучше smile.gif
в принципе и так можно, но не рационально...
Код
begin
end;

если больше одной строки
а строка "for j:=1 to m do" для цикла for i:=1 to n do одна,
и строка "readln(mas1[i,j]);" для цикла for j:=1 to m do тоже одна...
а так молодец, с меня +++++... clapping.gif

Сообщение отредактировал baat - 2.6.2010, 17:22
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Delta_3D
сообщение 2.6.2010, 17:34


MotoGirl
****

Группа: Пользователи
Сообщений: 206
Регистрация: 23.9.2006
Из: Ставрополь
Пользователь №: 100 315
Модель телефона: ZN5 T-m, Atrix 2 R.I.P.


Настроение:
Sweet overdose



Рейтинг: 149



Цитата(baat @ Сегодня, 21:22)

не, я не в укор,
*


да оно понятно, что нет) такие напоминания хороши для меня)
Цитата(baat @ Сегодня, 21:22)

если больше одной строки
*


я думала что
for i:=1 to n do
включает в себя еще и следующий цикл, типа того. но буду знать

Сообщение отредактировал Delta_3D - 2.6.2010, 17:36
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
MelkiY FAN
сообщение 16.6.2010, 8:24


[ Moto TIcux ]
*****

Группа: Пользователи
Сообщений: 353
Регистрация: 23.10.2006
Пользователь №: 104 390
Модель телефона: iPhone

Рейтинг: 310



Помогите пожалуйста с PHP... Задание такое:
Изображение

В общем смысл такой:
Если с данного ИП адреса заходят впервые то, должна появится простая форма регистрации (ФИО, ГРуппа) и по окончании регистрации появится таблица (см. скриншот) , показывающая ip, браузер и данные пользователей, посещавших данную страницу. А если пользователь отказывается, то ип заносится в черный список. Доступ к странице с данного ип блокируется.

Что-то пока накидал. Буду благодарен тому. кто сможет довести это до ума. + к репе, если получится...

Сообщение отредактировал MelkiY FAN - 16.6.2010, 8:25
Прикрепленный файл index.rar   ( 948 байт ) Кол-во скачиваний: 49
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
MelkiY FAN
сообщение 21.6.2010, 11:06


[ Moto TIcux ]
*****

Группа: Пользователи
Сообщений: 353
Регистрация: 23.10.2006
Пользователь №: 104 390
Модель телефона: iPhone

Рейтинг: 310



Млин... ну помогите, горю (((
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Tails
сообщение 21.6.2010, 17:34


Мастер
****

Группа: Пользователи
Сообщений: 276
Регистрация: 14.7.2005
Из: depression
Пользователь №: 46 164
Модель телефона: iPhone
Прошивка: 3.1.3 unlocked

Рейтинг: 382



MelkiY FAN, а что именно сейчас не работает?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
MelkiY FAN
сообщение 21.6.2010, 17:37


[ Moto TIcux ]
*****

Группа: Пользователи
Сообщений: 353
Регистрация: 23.10.2006
Пользователь №: 104 390
Модель телефона: iPhone

Рейтинг: 310



Цитата(Tails @ Сегодня, 21:34)

MelkiY FAN, а что именно сейчас не работает?
*


А сейчас не работает ничего... Понимал бы как все связывать может и сделал бы... Но не получается ни черта... Знаю что и как должно юыть, но не знаю как реализовать.

=\
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Meate
сообщение 4.4.2012, 15:38


Физик
******

Группа: Пользователи
Сообщений: 1 220
Регистрация: 24.6.2008
Пользователь №: 175 612
Модель телефона: iphone
Прошивка: iOS 7 b1

Рейтинг: 655



вот вообщем C#
взялся тут за прогу,которую писал недели 2 назад
ступориться все на сплит
Код
class TestStringSplit
    {
        static void Main()
        {
            //int N;
            double[] x;
            double[] y;
            //string a;
            double sum_x, sum_y, sum_xy, sum_x2;
            StreamReader streamReader = new StreamReader(@"c:\test.txt");
            string text = streamReader.ReadToEnd();
            streamReader.Close();
            string[] split = text.Split(new Char[]  {' ', ',', '\n', '\t'});
            string[] split2 = text.Split(new Char[] {' ', ',', '\n', '\t'});
            string[] split3 = text.Split(new Char[] {' ', ',', '\n', '\t'});
            //int counter = 0;
            int n = Convert.ToInt32(split[0]);
            int p = Convert.ToInt32(split2[1]);
            int l = Convert.ToInt32(split3[2]);
            x = new double[n];
            y = new double[n];
            for (int i = 0; i < n; i++)
            {
                p = checked((int)x[i]);
                l = checked((int)y[i]);
            }
            sum_x = 0;
            sum_y = 0;
            sum_xy = 0;
            sum_x2 = 0;
            for (int i = 0; i < n; i++)
            {
                sum_x = sum_x + x[i];  //сумма всех иксовых координат
                sum_y = sum_y + y[i];  //сумма всех игрековых координат
                sum_xy = sum_xy + x[i] * y[i];  //сумма произведений иксовых и игриковых координат
                sum_x2 = sum_x2 + y[i] * x[i];  //сумма квадратов иксовых координат
            }
            double b = (sum_y * sum_x2 - sum_xy * sum_x) / (n * sum_x2 - sum_x * sum_x);  //вычисляем k
            double k = (n * sum_xy - sum_y * sum_x) / (n * sum_x2 - sum_x * sum_x);
            Console.WriteLine("k = ","b = ",k,b);
            System.Console.ReadKey();

файл такого типа:
Код
21
-4.534,5.848
-4.153,5.843
-3.739,5.373
-3.147,5.404
-2.531,5.137
-2.384,4.599
-1.978,4.731
-1.105,4.374
-0.72,4.309
-0.058,3.833
0.239,3.622
0.54,3.658
1.199,3.348
1.966,3.016
2.069,2.633
2.875,2.239
3.318,2.023
3.931,1.895
4.13,2.021
4.9,1.437
5.262,1.238

может у кого проще получится разобраться с работой в файле
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 4.4.2012, 16:57


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255
Модель телефона: E398, Milestone 2
Прошивка: 49R w/ElfPack2


Настроение:
^^,



Рейтинг: 1224



Код
string[] split2 = text.Split(new Char[] {' ', ',', '\n', '\t'});
string[] split3 = text.Split(new Char[] {' ', ',', '\n', '\t'});

Это убрать. В список возможно ещё '\r' добавить надо
Код
int p = Convert.ToInt32(split2[1]);
int l = Convert.ToInt32(split3[2]);

А это зачем?
Код

            for (int i = 0; i < n; i++)
            {
                p = checked((int)x[i]);
                l = checked((int)y[i]);
            }

Наверное, имелось в виду как-то так:
Код

            for (int i = 0; i < n; i++)
            {
                x[i] = Convert.ToDouble(split[i*2 + 1]);
                y[i] = Convert.ToDouble(split[i*2 + 2]);
            }

Код

sum_x2 = sum_x2 + y[i] * x[i];  //сумма квадратов иксовых координат

Ничего странного не замечаешь?
Код

Console.WriteLine("k = {0}, b = {1}",k,b);

Вот так правильно
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Meate
сообщение 4.4.2012, 17:13


Физик
******

Группа: Пользователи
Сообщений: 1 220
Регистрация: 24.6.2008
Пользователь №: 175 612
Модель телефона: iphone
Прошивка: iOS 7 b1

Рейтинг: 655



тааак
Входная строка имела неверный формат.
Код
x[i] = Convert.ToDouble(split[i*2 + 1]);

Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andy51
сообщение 4.4.2012, 17:21


0xFFFF
******

Группа: Разработчики
Сообщений: 832
Регистрация: 28.3.2006
Из: Нижний Новгород
Пользователь №: 76 255
Модель телефона: E398, Milestone 2
Прошивка: 49R w/ElfPack2


Настроение:
^^,



Рейтинг: 1224



Meate, ну так ты проверь сначала, что там у тебя в сплите лежит
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Zorge.R
сообщение 4.4.2012, 19:07


Ветеран
Group Icon

Группа: System Administrators
Сообщений: 1 915
Регистрация: 4.10.2006
Из: рук в руки
Пользователь №: 101 800
Модель телефона: Note 9 Copper 512Gb
Прошивка: 1CR

Рейтинг: 2510




Код
class TestStringSplit
{
    static void Main()
    {
        StreamReader streamReader = new StreamReader(@"c:\test.txt");
        string text = streamReader.ReadToEnd();
        streamReader.Close();
        string [] split = text.Split(new Char [] {' ', ',', '\n', '\t'});

        Console.WriteLine("Number of point: {0}", split[0]); // выводим количество строк
        
        int n = Convert.ToInt32(split[0]);  // пишем для удобства количество точек в n

        double[] x = new double[n]; // строим массив для размещения точек х
        double[] y = new double[n]; // строим массив для размещения точек у
        double sum_x, sum_y, sum_xy, sum_x2; // куча всякой фигни
        sum_x = sum_y = sum_xy = sum_x2 = 0,0; // которая ничему не равна

        for (int j=0;j<n;j++){
        x[j] = Convert.ToDouble(split[j*2+1].Replace(".", ",")); // пишем все точки Х в массив x[j]
        y[j] = Convert.ToDouble(split[j*2+2].Replace(".", ",")); // пишем все точки У в массив у[j]
        }

        for (int j=0; j<n; j++){
        Console.WriteLine("x{0} = {1} :: y{2} = {3}", j+1, x[j], j+1, y[j]); // выводим значения всех точек на экран
        }

        for (int j=0;j<n;j++){
            sum_x = sum_x + x[j];  //сумма всех иксовых координат
            sum_y = sum_y + y[j];  //сумма всех игрековых координат
            sum_xy = sum_xy + x[j] * y[j];  //сумма произведений иксовых и игрековых координат
            sum_x2 = sum_x2 + x[j] * x[j];  //сумма квадратов иксовых координат
        }
        Console.WriteLine("sum_x = {0}", sum_x); // выводим sum_x
        Console.WriteLine("sum_y = {0}", sum_y); // выводим sum_y
        Console.WriteLine("sum_xy = {0}", sum_xy); // выводим sum_xy
        Console.WriteLine("sum_x2 = {0}", sum_x2); // выводим sum_x2
        
        double b = (sum_y * sum_x2 - sum_xy * sum_x) / (n * sum_x2 - sum_x * sum_x);  // вычисляем b
        double k = (n * sum_xy - sum_y * sum_x) / (n * sum_x2 - sum_x * sum_x); // вычисляем k
        Console.WriteLine("k = {0} :: b = {1}", k, b); // выводим значения k  и b        
        
        System.Console.WriteLine("Press any key to exit.");
        System.Console.ReadKey();
    }
}


Сообщение отредактировал Zorge.R - 4.4.2012, 19:34
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
IlluminatI
сообщение 4.4.2012, 22:52


Ветеран
*****

Группа: Пользователи
Сообщений: 670
Регистрация: 15.8.2009
Из: Украина, г.Харьков
Пользователь №: 204 570
Модель телефона: [DROID MAXX][RAZR M]


Настроение:
139



Рейтинг: 520



чото как-то так...
Код

namespace Points {
  struct SUM {
    public double x;
    public double y;
    public double xy;
    public double x2;
  }

  class Program {
    static void Main( string[] args ) {
      string[] sPoints = File.ReadAllLines("test.txt");
          
      int numberOfPoints = Convert.ToInt32( sPoints[0] );
      if( numberOfPoints != sPoints.Length-1 ) {
        Console.WriteLine( "Wrong array length!" );
        return;
      }

      double[,] points = new double[sPoints.Length-1,2];

      string[] strSplitedPoint;
      for( int i = 1; i < sPoints.Length; ++i ) {
        strSplitedPoint = sPoints[i].Split(',');
        points[i-1,0] = Convert.ToDouble( strSplitedPoint[0] );
        points[i-1,1] = Convert.ToDouble( strSplitedPoint[1] );
      }

      SUM sum = new SUM();
      for( int i = 0; i < points.GetLength(0); ++i ) {
        sum.x  += points[i,0];
        sum.y  += points[i,1];
        sum.xy += points[i,0] * points[i,1];
        sum.x2 += points[i,0] * points[i,0];
      }

      double b = ( sum.y * sum.x2 - sum.xy * sum.x ) / ( points.Length * sum.x2 - sum.x * sum.x );
      double k = ( points.Length * sum.xy - sum.y * sum.x ) / ( points.Length * sum.x2 - sum.x * sum.x );

      Console.WriteLine( "b = {0}, k = {1}", b, k );
    }
  }
}

если что-то не понятно, спрашивайте smile.gif

Сообщение отредактировал IlluminatI - 4.4.2012, 23:20
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Meate
сообщение 5.4.2012, 10:41


Физик
******

Группа: Пользователи
Сообщений: 1 220
Регистрация: 24.6.2008
Пользователь №: 175 612
Модель телефона: iphone
Прошивка: iOS 7 b1

Рейтинг: 655




Цитата(IlluminatI @ 5.4.2012, 2:52) *


Код


        points[i-1,0] = Convert.ToDouble( strSplitedPoint[0] );
        points[i-1,1] = Convert.ToDouble( strSplitedPoint[1] );



тут replace Нужен еще как у Зорга в коде.
и что то с формулами, полученные к и б отличаются.
интересное решение через Point , надо почитать про это.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
IlluminatI
сообщение 5.4.2012, 11:19


Ветеран
*****

Группа: Пользователи
Сообщений: 670
Регистрация: 15.8.2009
Из: Украина, г.Харьков
Пользователь №: 204 570
Модель телефона: [DROID MAXX][RAZR M]


Настроение:
139



Рейтинг: 520



Цитата(Meate @ Сегодня, 13:41)
* тут replace Нужен еще как у Зорга в коде.

для чего? парсится все прекрасно.
суть в том, что разделителем координат в строке у тебя является ",". Соответственно через сплит, рубишь на массив из 2х элементов, а потом каждый элемент парсишь. Ах да, по логике вещей правильней делать
double.Parse(), но что является разделителем между целой и дробной частями (будь то "." или ",") не существенно, соотв. ты делаешь только лишнюю работу.

Цитата(Meate @ Сегодня, 13:41)
* и что то с формулами, полученные к и б отличаются.

я ступил... там вместо points.Length нужно points.GetLength(0).

ну и немного подумав, можно упростить, это ж C#. Кстати, вычитывая первую строку в файле, по сути в переменную загонять не надо, эта строка является лишь контрольной суммой. В шарпе массивы знают какого они размера.
Код


namespace Points {
  struct SUM {
    public double x;
    public double y;
    public double xy;
    public double x2;
  }

  struct POINT {
    public double x;
    public double y;
  }

  class Program {
    static void Main( string[] args ) {
      string[] sPoints = File.ReadAllLines("test.txt");

      if( int.Parse( sPoints[0] ) != sPoints.Length-1 ) {
        Console.WriteLine( "Wrong array length!" );
        return;
      }

      POINT[] point = new POINT[sPoints.Length-1];

      string[] strSplitedPoint;
      for( int i = 1; i < sPoints.Length; ++i ) {
        strSplitedPoint = sPoints[i].Split(',');
        point[i-1].x = double.Parse( strSplitedPoint[0] );
        point[i-1].y = double.Parse( strSplitedPoint[1] );
      }

      SUM sum = new SUM();
      for( int i = 0; i < point.Length; ++i ) {
        sum.x  += point[i].x;
        sum.y  += point[i].y;
        sum.xy += point[i].x * point[i].y;
        sum.x2 += point[i].x * point[i].x;
      }

      double b = ( sum.y * sum.x2 - sum.xy * sum.x ) / ( point.Length * sum.x2 - sum.x * sum.x );
      double k = ( point.Length * sum.xy - sum.y * sum.x ) / ( point.Length * sum.x2 - sum.x * sum.x );

      Console.WriteLine( "b = {0}, k = {1}", b, k );
    }
  }
}


Сообщение отредактировал IlluminatI - 5.4.2012, 11:27
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Meate
сообщение 31.5.2012, 6:03


Физик
******

Группа: Пользователи
Сообщений: 1 220
Регистрация: 24.6.2008
Пользователь №: 175 612
Модель телефона: iphone
Прошивка: iOS 7 b1

Рейтинг: 655



друзья,как всегда опа рядом)
нужна помощь
программа на с++, нужно в с# сделать.
программа
Код
#include "stdafx.h"

using namespace System;

double fn1(double N1, double l1)
{
    return -l1*N1;   //производная по времени от N1
}

double fn2(double N1, double N2,double l1,double l2)
{
    return l1*N1-l2*N2;  //производная по времени от N2
}

int main(array<System::String ^> ^args)
{
    double h=0.001;            // шаг по времени
    double l1=0.5,l2=0.02;     //l1 и l2 - постоянные распада
    int i;
    double N1[1001],N2[1001],N1e[1001],N2e[1001];    // N1 число распадающихся ядер, N2 число образующихся
    N1[0]=N1e[0]=1000;                 // N1[0] и N2[0] - число ядер в начальный момент времени (для расчета методом Рунге-Кутта)
    N2[0]=N2e[0]=0;                   // N1e[0] и N2e[0] - число ядер в начальный момент времени (для расчета методом Эйлера)
    double k1,k2,k3,k4;
    for(i=0;i<1000;i++)
    {
        N1e[i+1] = N1e[i]+fn1(N1e[i],l1)*h;        //метод Эйлера
        N2e[i+1] = N2e[i]+fn2(N1e[i],N2e[i],l1,l2)*h;
        
        k1=fn1(N1[i],l1);            // метод Рунге-Кутта
        k2=fn1(N1[i]+h/2*k1,l1);
        k3=fn1(N1[i]+h/2*k2,l1);
        k4=fn1(N1[i]+h*k3,l1);                              
        N1[i+1]=N1[i]+h/6*(k1+2*k2+2*k3+k4);
        
        k1=fn2(N1[i],N2[i],l1,l2);
        k2=fn2(N1[i]+h/2*k1,N2[i]+h/2*k1,l1,l2);
        k3=fn2(N1[i]+h/2*k2,N2[i]+h/2*k2,l1,l2);
        k4=fn2(N1[i]+h*k3,N2[i]+h*k3,l1,l2);
        N2[i+1]=N2[i]+h/6*(k1+2*k2+2*k3+k4);
        
    }
    for (i=0;i<100;i++)
    {
        cout<<N1[i]<<" "<<N1e[i]<<" "<<N2[i]<<" "<<N2e[i]<<"\n";    
    }
    //system("pause");
    return 0;
}
[close]


Сообщение отредактировал Meate - 31.5.2012, 6:05
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
IlluminatI
сообщение 1.6.2012, 0:17


Ветеран
*****

Группа: Пользователи
Сообщений: 670
Регистрация: 15.8.2009
Из: Украина, г.Харьков
Пользователь №: 204 570
Модель телефона: [DROID MAXX][RAZR M]


Настроение:
139



Рейтинг: 520



Meate, меня смущает пару моментов: зачем массивам указывать длинну 1001 элемент, зачем в цикле for счетчик идет до 1000( по сути от 0 до 999 ), и зачем во втором форе выводить первые 100 элементов?

а так вот в точности переведенный код
Код

using System;

namespace Eyler
{
  public static class Program
  {
    static double fn1(double N1, double l1)
    {
      return -l1*N1;   //производная по времени от N1
    }

    static double fn2(double N1, double N2,double l1,double l2)
    {
      return l1*N1-l2*N2;  //производная по времени от N2
    }
    
    static void Main( string[] args )
    {
      double h=0.001;            // шаг по времени
      double l1=0.5,l2=0.02;     //l1 и l2 - постоянные распада
      int i;
      double[] N1  = new double[1001];
      double[] N2  = new double[1001];
      double[] N1e = new double[1001];
      double[] N2e = new double[1001];    // N1 число распадающихся ядер, N2 число образующихся

      N1[0]=N1e[0]=1000;                 // N1[0] и N2[0] - число ядер в начальный момент времени (для расчета методом Рунге-Кутта)
      N2[0]=N2e[0]=0;                   // N1e[0] и N2e[0] - число ядер в начальный момент времени (для расчета методом Эйлера)
      double k1,k2,k3,k4;
      for(i=0;i<1000;i++)
      {
          N1e[i+1] = N1e[i]+fn1(N1e[i],l1)*h;        //метод Эйлера
          N2e[i+1] = N2e[i]+fn2(N1e[i],N2e[i],l1,l2)*h;
        
          k1=fn1(N1[i],l1);            // метод Рунге-Кутта
          k2=fn1(N1[i]+h/2*k1,l1);
          k3=fn1(N1[i]+h/2*k2,l1);
          k4=fn1(N1[i]+h*k3,l1);                              
          N1[i+1]=N1[i]+h/6*(k1+2*k2+2*k3+k4);
        
          k1=fn2(N1[i],N2[i],l1,l2);
          k2=fn2(N1[i]+h/2*k1,N2[i]+h/2*k1,l1,l2);
          k3=fn2(N1[i]+h/2*k2,N2[i]+h/2*k2,l1,l2);
          k4=fn2(N1[i]+h*k3,N2[i]+h*k3,l1,l2);
          N2[i+1]=N2[i]+h/6*(k1+2*k2+2*k3+k4);
        
      }

      for (i=0;i<100;i++)
      {
        Console.WriteLine( "{0} {1} {2} {3}", N1[i], N1e[i], N2[i], N2e[i] );
      }

      Console.ReadKey();
    }
  }
}
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
igoripp
сообщение 13.9.2012, 18:44


Самый дерзкий
******

Группа: Пользователи
Сообщений: 1 412
Регистрация: 27.3.2010
Из: Касимов, Муром
Пользователь №: 215 540
Модель телефона: sony ion
Прошивка: Разные

Рейтинг: 1336



Попрошу и я помощи. В интернете много книг в формате *.txt и, к сожалению, многие из них неправильно "форматированы". Иначе говоря, на одной строке 2 пробела, на другой 5. Суть в том, что бы программа удаляла все пробелы перед первыми символами и добавляла ровно 6 пробелов перед каждой строкой. Желательно, что бы код был написан на чистом Си(хочу дальше портировать на некоторые устройства) файл источник input.txt, выход output.txt.
Заранее спасибо всем, кто откликнится! Рейтингом не обижу.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
IlluminatI
сообщение 14.9.2012, 11:04


Ветеран
*****

Группа: Пользователи
Сообщений: 670
Регистрация: 15.8.2009
Из: Украина, г.Харьков
Пользователь №: 204 570
Модель телефона: [DROID MAXX][RAZR M]


Настроение:
139



Рейтинг: 520



пример бы, а то ТЗ чето рассплывчатое.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
T3D
сообщение 14.9.2012, 13:51


Ветеран
*****

Группа: Пользователи
Сообщений: 573
Регистрация: 25.4.2006
Из: Омск
Пользователь №: 80 474
Модель телефона: E2, ZN5 T-Mobile

Рейтинг: 258



IlluminatI, я так понимаю удалить все лишние пробелы, оставить везде только один пробел. А где перевод каретки там добавить 6 пробелов, типа красная строка.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
IlluminatI
сообщение 14.9.2012, 14:26


Ветеран
*****

Группа: Пользователи
Сообщений: 670
Регистрация: 15.8.2009
Из: Украина, г.Харьков
Пользователь №: 204 570
Модель телефона: [DROID MAXX][RAZR M]


Настроение:
139



Рейтинг: 520



T3D, ок, спс.
тогда что-то типа такого?
Код

Lorem___ipsum__dolor___sit___amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip

а надо
Код

______Lorem_ipsum_dolor_sit_amet, consectetur adipisicing elit,
______sed do eiusmod tempor incididunt ut labore
______et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
______exercitation ullamco laboris nisi ut aliquip
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
igoripp
сообщение 14.9.2012, 15:17


Самый дерзкий
******

Группа: Пользователи
Сообщений: 1 412
Регистрация: 27.3.2010
Из: Касимов, Муром
Пользователь №: 215 540
Модель телефона: sony ion
Прошивка: Разные

Рейтинг: 1336



IlluminatI,
В тексте примерsmile.gif
Код
   Первая
Вторая
     Третья


Код
      Первая
      Вторая
      Третья


Сообщение отредактировал igoripp - 14.9.2012, 15:18
Прикрепленный файл Текстовый_документ.txt   ( 4.45 килобайт ) Кол-во скачиваний: 67
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
IlluminatI
сообщение 14.9.2012, 15:22


Ветеран
*****

Группа: Пользователи
Сообщений: 670
Регистрация: 15.8.2009
Из: Украина, г.Харьков
Пользователь №: 204 570
Модель телефона: [DROID MAXX][RAZR M]


Настроение:
139



Рейтинг: 520



igoripp, ок. попробую на досуге. мб, к понедельнику ближе т.к. рабочая неделя не удалась особо : (
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
igoripp
сообщение 14.9.2012, 16:05


Самый дерзкий
******

Группа: Пользователи
Сообщений: 1 412
Регистрация: 27.3.2010
Из: Касимов, Муром
Пользователь №: 215 540
Модель телефона: sony ion
Прошивка: Разные

Рейтинг: 1336



IlluminatI, спасибо за раннее, я особо не тороплю тебя smile.gif
Вот что я смог:
Код
#include <stdio.h>
#include <string.h>
#include <conio.h>
main ()
{
    printf("Please wait... done \n");
    FILE *fin, *fout;
    fin = fopen( "input.txt", "r" );
    fout = fopen( "otput.txt", "w" );
        if ( fin == NULL )  
        {
            printf("Not Files. Press any button for exit");
            getch();
            return 1;
        }
            
    char s1[999];                                                                                     //еще не пойму как сделать строку без ограничений по размеру...
    while ( NULL != fgets(s1, 999999, fin) ) //пока не правда - выполняем
            {
                


            }
    fclose (fin);
    fclose (fout);
    getch();
}

Это тело программы без функции редактирования текста.

Сообщение отредактировал igoripp - 14.9.2012, 16:07
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
IlluminatI
сообщение 17.9.2012, 16:22


Ветеран
*****

Группа: Пользователи
Сообщений: 670
Регистрация: 15.8.2009
Из: Украина, г.Харьков
Пользователь №: 204 570
Модель телефона: [DROID MAXX][RAZR M]


Настроение:
139



Рейтинг: 520



самый неоптимизированный и "в лоб" вариант. но работает.
хотя потести, мб баги есть.

Код

#include <stdio.h>

void main( void )
{
    FILE *input, *output;

    input = fopen("input.txt", "r");
    output = fopen("output.txt", "w");

    char ch;

    bool skip = true;

    while( !feof(input) )
    {
        if( skip )
        {
            for( int i = 0; i < 6; ++i )
                putc(' ', output);
        }

        ch = getc(input);

        while( skip && (ch == ' ' || ch == '\t') )
            ch = getc(input);

        skip = ch == '\n' ? true : false;

        putc(ch, output);
    }

    fclose(input);
    fclose(output);
}
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
igoripp
сообщение 17.9.2012, 19:57


Самый дерзкий
******

Группа: Пользователи
Сообщений: 1 412
Регистрация: 27.3.2010
Из: Касимов, Муром
Пользователь №: 215 540
Модель телефона: sony ion
Прошивка: Разные

Рейтинг: 1336



IlluminatI, Спасибо!!! У меня компилятор ругался на
Код
void main( void )
Заменил на:
Код
main( )
И все прошло удачно smile.gif
Спасибо большое clapping.gif Проверил на файле 1 Мегабайт, все шикарно. Плюсую!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
IlluminatI
сообщение 17.9.2012, 20:18


Ветеран
*****

Группа: Пользователи
Сообщений: 670
Регистрация: 15.8.2009
Из: Украина, г.Харьков
Пользователь №: 204 570
Модель телефона: [DROID MAXX][RAZR M]


Настроение:
139



Рейтинг: 520



Цитата(igoripp @ Сегодня, 21:57)
* У меня компилятор ругался

бывает

теже яйца только в профиль. подумаю как еще сжать можно.
Код

#include <stdio.h>

main()
{
    FILE *input, *output;

    input = fopen("input.txt", "r");
    output = fopen("output.txt", "w");

    char space[] = "      ";
    bool skip = true;

    for( char ch = getc(input); !feof(input); ch = getc(input) )
    {
        if( skip )
        {
            fwrite(&space, sizeof(char), 7, output);

            while(ch == ' ' || ch == '\t')
                ch = getc(input);
        }

        putc(ch, output);

        skip = ch == '\n';
    }

    fclose(input);
    fclose(output);
}


всегда рад помочь : )

Сообщение отредактировал IlluminatI - 17.9.2012, 20:19
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
igoripp
сообщение 17.9.2012, 21:03


Самый дерзкий
******

Группа: Пользователи
Сообщений: 1 412
Регистрация: 27.3.2010
Из: Касимов, Муром
Пользователь №: 215 540
Модель телефона: sony ion
Прошивка: Разные

Рейтинг: 1336



IlluminatI, последний код не верно работает. Вот скрин выходного файла:
Прикрепленное изображение
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
IlluminatI
сообщение 18.9.2012, 12:36


Ветеран
*****

Группа: Пользователи
Сообщений: 670
Регистрация: 15.8.2009
Из: Украина, г.Харьков
Пользователь №: 204 570
Модель телефона: [DROID MAXX][RAZR M]


Настроение:
139



Рейтинг: 520



igoripp, точно. тогда впринципе если быстродействие устраивает, то я пока сильно напрягать мозги не буду (просто надо вспомнить как работать с файлами на Си, давно это было).
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
igoripp
сообщение 18.9.2012, 15:22


Самый дерзкий
******

Группа: Пользователи
Сообщений: 1 412
Регистрация: 27.3.2010
Из: Касимов, Муром
Пользователь №: 215 540
Модель телефона: sony ion
Прошивка: Разные

Рейтинг: 1336



IlluminatI, все устраиваетsmile.gif 1 секунда для файла весом 1 МБ, куда же еще быстрее?)
А раньше, всё это я в ручную делал sorry.gif Спасибо еще раз)))
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 18.9.2012, 16:47


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211



Цитата(igoripp @ Сегодня, 18:22)
* А раньше, всё это я в ручную делал

в notepad++ можна и макросами обойтись wink.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
igoripp
сообщение 18.9.2012, 18:55


Самый дерзкий
******

Группа: Пользователи
Сообщений: 1 412
Регистрация: 27.3.2010
Из: Касимов, Муром
Пользователь №: 215 540
Модель телефона: sony ion
Прошивка: Разные

Рейтинг: 1336



VINRARUS, пробовал я через него, но в них ничего не понимаю( Си проще, быстрее и роднее)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
igoripp
сообщение 19.9.2012, 4:55


Самый дерзкий
******

Группа: Пользователи
Сообщений: 1 412
Регистрация: 27.3.2010
Из: Касимов, Муром
Пользователь №: 215 540
Модель телефона: sony ion
Прошивка: Разные

Рейтинг: 1336



Вопрос знатокам, есть книга Кернигана и Ричи:
"Язык программирования С"
У меня скромный вопрос, какое издание следует читать, второе или третье? По логике вещей - 3е. Но почему то, его выход датируется 2004 годом, в то время как 2ое - 2009. Это меня привело в тупик. Просто, хочу напечатать книгу, и не охото, вновь, обжечься на том, стандарты устарели...

Сообщение отредактировал igoripp - 19.9.2012, 4:57
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
IlluminatI
сообщение 19.9.2012, 5:30


Ветеран
*****

Группа: Пользователи
Сообщений: 670
Регистрация: 15.8.2009
Из: Украина, г.Харьков
Пользователь №: 204 570
Модель телефона: [DROID MAXX][RAZR M]


Настроение:
139



Рейтинг: 520



igoripp, смотря что нужно. Если основы и т.п., то проще Шилдта. + "Веревка достаточной длины чтобы выстрелить себе в ногу".

Это ж Си, там все уже давно устаканилось.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Джуманджи
сообщение 12.1.2013, 21:12


Гуру
******

Группа: Почётные мотофаны
Сообщений: 856
Регистрация: 8.11.2006
Из: детства
Пользователь №: 106 183
Модель телефона: нокиа

Рейтинг: 647.5



Помогите, пожалуйста!) с++

1)Даны два массива из n целых чисел (n ≤ 10). Для каждого массива определить сумму элементов с четными индексами.
Описать в виде отдельной функции определение для заданного массива суммы элементов с четными индексами.

2)Дан текст произвольной длины, оканчивающийся точкой. Текст состоит из слов, разделенных пробелами. Подсчитать количество слов, начинающихся с буквы К (кириллица, латиница, одной из, какая вам больше понравится));

3)Даны натуральное число n, действительные числа A1,A2,...,An. Получить сумму отрицательных и количество положительных членов последовательности A 1, A2 , ..., An ;

4)Дано действительное число x. Вычислить значение y с помощью стандартной функции и с помощью ряда с точностью 0,0001:
Прикрепленное изображение

Сообщение отредактировал Джуманджи - 12.1.2013, 21:14
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
IlluminatI
сообщение 13.1.2013, 0:41


Ветеран
*****

Группа: Пользователи
Сообщений: 670
Регистрация: 15.8.2009
Из: Украина, г.Харьков
Пользователь №: 204 570
Модель телефона: [DROID MAXX][RAZR M]


Настроение:
139



Рейтинг: 520



Джуманджи, как скоро надо? до вторника терпит? без компилятора могу написать, но уже давно на С++ ничо не писал, могу напартачить. ООП тут не нужно насколько я понимаю.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 13.1.2013, 1:36


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 145
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652
Модель телефона: XT894 / XT897
Прошивка: Различные


Настроение:
null



Рейтинг: 4654



Цитата(Джуманджи @ Сегодня, 4:12)
* 1)Даны два массива из n целых чисел (n ≤ 10). Для каждого массива определить сумму элементов с четными индексами.
Описать в виде отдельной функции определение для заданного массива суммы элементов с четными индексами.


CODE
#include <iostream>
#define N 10

void printArr(int *arr)
{
for(int i = 0; i < N; ++i)
std::cout << arr[i] << " ";
std::cout << std::endl;
}

int getSum(int *arr)
{
int sum = 0;
for (int i = 2; i < N; i+=2)
sum+=arr[i];
return sum;
}

int main()
{
int arr1[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int arr2[10] = {11, 12, 13, 14, 15, 16, 17, 18, 19, 20};
std::cout << "Arr1 is: "; printArr(arr1);
std::cout << "Arr2 is: "; printArr(arr2); std::cout << std::endl;
std::cout << "Sum1 is: " << getSum(arr1) << std::endl << "Sum2 is: " << getSum(arr2) << std::endl;
return 0;
}


Цитата(Джуманджи @ Сегодня, 4:12)
* 2)Дан текст произвольной длины, оканчивающийся точкой. Текст состоит из слов, разделенных пробелами. Подсчитать количество слов, начинающихся с буквы К (кириллица, латиница, одной из, какая вам больше понравится))


CODE
#include <iostream>
#include <sstream>
#include <string>

int main()
{
std::string str, buf;
int i = 0;
std::cout << "Please enter a text: ";
std::getline(std::cin, str);
std::cout << "Input text: " << str << std::endl;
std::istringstream ist(str);
while(ist >> buf)
if (toupper(*buf.begin()) == 'K')
i++;
std::cout << "The number of words beginning with the letter \"K\": " << i << std::endl;
return 0;
}


Цитата(Джуманджи @ Сегодня, 4:12)
* 3)Даны натуральное число n, действительные числа A1,A2,...,An. Получить сумму отрицательных и количество положительных членов последовательности A 1, A2 , ..., An ;


CODE
#include <iostream>
#include <vector>

class Array
{
int n;
double f;
double sum_negative;
int count_positive;
std::vector<double> arr;
public:
Array();
void printArr();
void operArr();
void printRes();
};

Array::Array()
{
sum_negative = count_positive = 0;
std::cout << "Enter a N: ";
std::cin >> n;
for (int i = 0; i < n; ++i)
{
std::cout << "Enter a A" << i+1 << ": ";
std::cin >> f;
arr.push_back(f);
}
}

void Array::printArr()
{
for(int i = 0; i < n; ++i)
std::cout << arr[i] << " ";
std::cout << std::endl;
}

void Array::operArr()
{
for(int i = 0; i < n; ++i)
{
if (arr[i] < 0)
sum_negative+=arr[i];
else if (arr[i] > 0)
count_positive++;
}
}

void Array::printRes()
{
std::cout << "The number of positive numbers in the sequence: " << count_positive << std::endl
<< "The sum of negative numbers in the sequence: " << sum_negative << std::endl;
}

int main()
{
Array *arr = new Array();
std::cout << "Sequence is: ";
arr->printArr();
arr->operArr();
arr->printRes();
delete arr;
return 0;
}


Цитата(Джуманджи @ Сегодня, 4:12)
* 4)Дано действительное число x. Вычислить значение y с помощью стандартной функции и с помощью ряда с точностью 0,0001:


Как-то так? ph34r.gif
CODE
#include <iostream>
#include <cmath>
#define Epsilon 0.0001

class Cosx
{
float x;
float y;
float a;
int count;
public:
Cosx();
float series();
float getCos();
};

Cosx::Cosx()
{
std::cout << "Enter a \"X\" ~(from -18 to 18): ";
std::cin >> x;
y = count = 0;
a = 1;
}

float Cosx::getCos()
{
return cos(x);
}

float Cosx::series()
{
while (fabs(a) >= Epsilon)
{
y += a;
a *= -x*x/(2*count+1)/(2*count+2);
count++;
}
return y;
}

int main()
{
Cosx *csx = new Cosx;
std::cout << csx->series() << std::endl;
std::cout << csx->getCos() << std::endl;
delete csx;
return 0;
}


Решено в лоб, минут за 20-30. Напомните пожалуйста, 0 - это четное и положительное? Я насколько помню, нам говорили что оно не относится ни к четным, ни к нечетным, ни к положительным, ни к отрицательным. Так что я его не считал четным/положительным.
Если что, думаю, поправишь код сам в первом и третьем задании. smile.gif

Сообщение отредактировал EXL - 13.1.2013, 6:59
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
IlluminatI
сообщение 13.1.2013, 23:29


Ветеран
*****

Группа: Пользователи
Сообщений: 670
Регистрация: 15.8.2009
Из: Украина, г.Харьков
Пользователь №: 204 570
Модель телефона: [DROID MAXX][RAZR M]


Настроение:
139



Рейтинг: 520



Цитата(EXL @ Вчера, 3:36)
* Напомните пожалуйста

чисто технически, не упираясь в какие-то догмы 0 четное. ибо первый разряд числа равен 0, соотв. четное.
Ну а в знаковых есть 0 и -0, и он не относится ни к четным, ни к нечетным. это то что я понмю с первого курса программирования.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Помогите решить задачку по програмингу, +3 к репе дам) · Обо всём · Forum
 

2 страниц V < 1 2
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 1.8.2025, 0:47

Форум живёт: