Сделать стартовой Добавить в Избранное
Часы в заголовке окна

Форум студентов МГУ Печати ФИТиМ ИТД

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Форум студентов МГУ Печати ФИТиМ ИТД » Семестр » Вопросы к Сергею Юрьевичу (по информатике)


Вопросы к Сергею Юрьевичу (по информатике)

Сообщений 21 страница 40 из 53

21

Скоробогатов написал(а):

Wombat, попробую посмотреть завтра.
Сегодня, увы, некогда :-(

Хорошо, жду...
А если так, навскидку? Может, это вообще полный бред :D

0

22

Сергей Юрьевич! У меня вопрос.
Попробовал открыть текст программы, которую мы пишем у Шурыгина в Visual Studio 2005, у себя дома в той же среде. Там прога работает, у меня же еррор-лист следующий:

Код:
------ Build started: Project: Project8, Configuration: Debug Any CPU ------
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Vbc.exe /noconfig /imports:Microsoft.VisualBasic,System,System.Collections,System.Collections.Generic,System.Data,System.Diagnostics /nowarn:42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 /rootnamespace:Project8 /doc:obj\Debug\Project8.xml /define:"CONFIG=\"Debug\",DEBUG=-1,TRACE=-1,_MyType=\"Console\",PLATFORM=\"AnyCPU\"" /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll,C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Deployment.dll,C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll,C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll /main:Project8.Module1 /debug+ /debug:full /out:obj\Debug\Project8.exe /resource:obj\Debug\Project8.Resources.resources /target:exe Module1.vb "My Project\AssemblyInfo.vb" "My Project\Application.Designer.vb" "My Project\Resources.Designer.vb" "My Project\Settings.Designer.vb"
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(9) : error BC30248: 'If', 'ElseIf', 'Else', 'End If', or 'Const' expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(10) : error BC30248: 'If', 'ElseIf', 'Else', 'End If', or 'Const' expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(11) : error BC30248: 'If', 'ElseIf', 'Else', 'End If', or 'Const' expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(12) : error BC30248: 'If', 'ElseIf', 'Else', 'End If', or 'Const' expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(14) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(15) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(16) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(17) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(18) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(19) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(20) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(21) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(22) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(23) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(24) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(25) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(27) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(28) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(29) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(30) : error BC30689: Statement cannot appear outside of a method body.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(31) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(32) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(34) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(35) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(36) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(37) : error BC30689: Statement cannot appear outside of a method body.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(38) : error BC30689: Statement cannot appear outside of a method body.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(39) : error BC30689: Statement cannot appear outside of a method body.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(40) : error BC30689: Statement cannot appear outside of a method body.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(41) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(43) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(44) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(45) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(46) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(47) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(48) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(49) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(50) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(51) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(52) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(53) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(54) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(55) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(56) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(57) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(58) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(59) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(60) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(61) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(62) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(63) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(65) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(66) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(67) : error BC30689: Statement cannot appear outside of a method body.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(68) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(69) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(70) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(71) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(72) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(73) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(74) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(75) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(76) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(77) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(78) : error BC30689: Statement cannot appear outside of a method body.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(79) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(80) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(81) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(82) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(83) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(84) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(85) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(86) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(87) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(88) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(90) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(92) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(93) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(94) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(95) : error BC30689: Statement cannot appear outside of a method body.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(96) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(97) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(98) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(99) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(101) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(102) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(103) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(104) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(105) : error BC30689: Statement cannot appear outside of a method body.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(106) : error BC30689: Statement cannot appear outside of a method body.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(107) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(108) : error BC30689: Statement cannot appear outside of a method body.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(109) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(110) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(111) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(112) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(113) : error BC30035: Syntax error.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(114) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(115) : error BC30188: Declaration expected.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(116) : error BC30689: Statement cannot appear outside of a method body.
D:\Artem\Программы\Мои для Visual Studio 2005 C\Project8\Project8\Module1.vb(117) : error BC30689: Statement cannot appear outside of a method body.
vbc : error BC30041: Maximum number of errors has been exceeded.
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========

Места ошибок указываются по порядку строчек :O
Помогите умным словом, пожалуйста :rolleyes:

0

23

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

Итак, во-первых, вычисление количества слов в каждом из предложений не следует
выполнять в одном цикле.

Ваш вариант
    for(k=0;k<max(strlen(s),strlen(d));k++)
    {
        if(s[k]==' ')
            n++;
        if(d[k]==' ')
            m++;
    }
работает неправильно, когда менее длинное предложение заканчивается.

Кроме того, в Вашем варианте не учитывается возможность, что после слова может
идти конец строки (символ 0).

Более правильное вычисление количества слов в строке s выглядит приблизительно так:

k = 0;  n = 0;
while (s[k] != 0)
{
    while (s[k] == ' ')  /* пропускаем пробелы */
        k++;

    if (s[k] != 0)
    {
        n++;
        while (s[k] != ' ' && s[k] != 0)  /* пропускаем слово */
            k++;
    }
}

Во-вторых, вот в этом куске кода:

do
    rez[z++]=s[i++];
while(s[i]!=' ' || s[i+1]!=0);

if(s[i++] == 0)
    rez[z++]=' ';

do
    rez[z++]=d[j++];
while(d[j]!=' ' || d[j+1]!=0);
почему-то пробелы вставляются только после копирования слов первого предложения (плюс могут быть другие ошибки из-за неверных начальных значений переменных и неаккуратного использования операции инкремента).

2 Kit
Я не понял, что там у Вас делает Visual Basic :-)
Вы точно создали проект C++?

0

24

Я блондинго невнямательное  :cray:

PS Спасибо Лехе за наводку, и Сергею Юрьевичу за ее подтверждение)

0

25

Сергей Юрьевич!
У нас,а точнее у подгруппы ОПэшников,к вам большая просьба! Вы не могли бы на лекции или на следующем семинаре уделить немного внимания классам. Нам как-то не дообъяснили новую тему и думается что вы сможете все растолковать быстро и понятно.  :D

0

26

Кузя написал(а):

Нам как-то не дообъяснили новую тему и думается что вы сможете все растолковать быстро и понятно

А как быть с физиками цвета?
Они, наверное, уже структуры-то забыли, а я им про классы начну мозги канифолитьобъяснять :-(

BTW, а на каком уровне Вам давали классы?
Рассказывали ли Вам:
- о конструкторах;
- о деструкторах;
- о наследовании;
- о виртуальных методах (функциях);
- о статических членах классов;
- о дружественных классах?

0

27

Скоробогатов написал(а):

А как быть с физиками цвета

потерпят. Нам бы саму суть хоть ухватить..

Нам говорили о свойствах,методах,конструкторах и деструкторах. в основном-что сие обозначает. но возникают вопросы как вызывать,как работает и чем отличается. После сегодняшней КР может немного и прояснилось дело,но думаю не для всех)

0

28

Да, я согласен.
Сергей Юрьевич, если есть возможность - расскажите пожалуйста. Сегодня немного въехал, но не мешало бы еще разжевать немного...

0

29

Поддерживаю просьбу  :yes:

0

30

у меня не вопрос, а просьбочка от Байбаковой Наташи. Вы ей обещали принеси диск с вижуал студией. Захватите пожалуйста завтра на занятия. заранее спасибо

0

31

Сергей Юрьевич, или ребят!!! У кого-нибудь есть все практические задачи(лабы) в электронном виде??Желательно хоть с приблизителльным условием :D

0

32

Если ты имеешь ввиду именно информатику, то за второй семестр у меня есть тексты трех программ по системам счисления.
Плюс еще надо ту прогу, которую Сергей Юрьевич задавал к экзамену. Но это уж у каждого своя... Лично мне так лень дописывать... :D

0

33

Сергей Юрьевич.....ну никак не могу разобраться.....

#include "stdafx.h"
#include <stdio.h>
#include <iostream.h>

class tochka
{
public:
int x,y;
tochka(int a,int b)
{
    x=a;
    y=b;
}
void otobrajenie(int x,int y)
{
    cout<<'('<<x<<','<<y<<')';
}
};

class line:public tochka
{
public:
int x1,y1;
void liniya(int x,int y,int x1,int y1)
{
    double dlin,chastnoe,ostatok=0,dlin_x,dlin_y,y_y=0,a=0,b=0,ch=0;
    dlin_x=x1-x;
    dlin_y=y1-y;
    chastnoe=dlin_x/dlin_y;
    ch=chastnoe;
    while(y_y<=y1)
    {
    while(ch>=a)
    {
        a++;
    }
    dlin=a;

    ostatok=ch-dlin;

    while(b!=dlin)
    {
        otobrajenie(x,y);
        b++;
        x++;       
    }
    y++;

    dlin=0;
    a=0;
    b=0;
    ch=chastnoe+ostatok;
    ostatok=0;   
    }

}
};

как написать вызов функции liniya  в маэне..... :cray:
я уже устала эксперементировать....
и не могу из-за этого проверить что я вообще там понаписала....может там вообще бред-поэтому на сам текст ф-ии можете не смотреть.... :cray:

Отредактировано Кузя (2007-05-12 19:28:20)

0

34

Эх, вот не люблю я C++.
В частности из-за того, что объяснить первокурснику, зачем весь этот бред нужен, невозможно!
Понимание приходит ТОЛЬКО с опытом.

Вот так надо эту задачу решать:

#include "stdafx.h"

#include <iostream>
using namespace std;
/* ПРИМЕЧАНИЕ: в Visual Studio 2005 библиотека классов потоков
   ввода/вывода подключается таким вот весёлым способом. */

/* sign - вспомогательная функция, используемая в алгоритме
   построения линии. Она возвращает 1, 0, -1 для положительного,
   нулевого и отрицательного аргумента, соответственно. */
int sign(int x)
{
    if (x < 0)
        return -1;
    else if (x > 0)
        return 1;
    else
        return 0;
}

/* Геометрическая фигура (базовый класс для всех фигур). */
class Shape
{
public:
    /* Функция для вывода информации о геометрической фигуре.
       Она должна быть перегружена во всех классах-наследниках. */
    virtual void show() = 0;
    /* ПРИМЕЧАНИЕ: функция является абстрактной, то есть не
       имеет тела. Этот факт отражён с помощью дописывания
       = 0 вместо тела функции (такой вот в C++ синтаксис). */
};

/* Геометрическая фигура - точка на плоскости. */
class Point: public Shape
{
private:
    int x, y;

public:
    Point(int x, int y)
    {
        this->x = x;
        this->y = y;
    }

    int get_x() { return x; }
    void set_x(int x) { this->x = x; }

    int get_y() { return y; }
    void set_y(int y) { this->y = y; }

    /* Отображение точки. */
    virtual void show()
    {
        cout << x << ", " << y << '\n';
    }
};

/* Геометрическая фигура - прямая линия на плоскости. */
class Line: public Shape
{
private:
    Point a, b;

public:
    Line(Point a, Point b): a(a), b(b)
    {  }
    /* ПРИМЕЧАНИЕ: конструктор класса Line объявлен несколько
       необычно. Дело в том, что в нём вызывается конструктор
       копий класса Point. Если захотите разобраться, почитайте
       в учебнике про конструкторы копий. */

    /* Отображение линии.
       ПРИМЕЧАНИЕ: функция использует обобщённый целочисленный
       алгоритм Брезенхема. Разбираться в этом крутом алгоритме
       не надо - всё равно без книжки не получится :-)
       Так что лучше пишите свой вариант. */
    virtual void show()
    {
        int sdx = b.get_x() - a.get_x(),
            sdy = b.get_y() - a.get_y(),
            dx = abs(sdx),
            dy = abs(sdy),
            s1 = sign(sdx),
            s2 = sign(sdy),
            change_flag = 0;

        if (dy > dx)
        {
            int temp = dx;
            dx = dy;
            dy = temp;
            change_flag = 1;
        }

        int dx_2 = dx*2, dy_2 = dy*2;

        int e = dy_2 - dx;
        Point p = a;

        /* Основной цикл для построения линии.
           ПРИМЕЧАНИЕ: обратите внимание - алгоритм использует
           только целочисленные операции сложения и вычитания.
           Умножение и деление не используются, числа с плавающей
           запятой тоже не используются. Поэтому всё очень быстро
           работает. */
        for (int i = 0; i < dx; i++)
        {
            p.show();
            while (e >= 0)
            {
                e -= dx_2;
                if (change_flag)
                    p.set_x(p.get_x() + s1);
                else
                    p.set_y(p.get_y() + s2);
            }

            e += dy_2;
            if (change_flag)
                p.set_y(p.get_y() + s2);
            else
                p.set_x(p.get_x() + s1);
        }
    }
};

int main(void)
{
    /* Создаём линию с координатами (0,0)-(-8,-4). */
    Line line(Point(0,0),Point(-8,-4));

    /* Отображаем координаты точек, из которых
       формируется линия. */
    line.show();

    return 0;
}

Замените мой навороченный алгоритм своим и можете проверять, работает он или нет :-)

0

35

Сергей Юрьевич, а экзамен будет точно по Refal'у? Если да, то какого типа примерно будут задачи? Просто, помнится в конце первого семестра вы дали нам задачи по С для самостоятельной подготовки к экзамену... Нечто подобное планируется для Refal'a?

0

36

Планируется, безусловно.

0

37

Я видимо, не в теме... А задачки по C не будет?..
И много ли будет теории?..

0

38

Сергей Юрьевич,помогите пожалуйста))))
у меня что-то не получается(((
у меня в задачке надо,чтобы складывались числа оч большой длины,записанные в строке.
Сумма должна быть тоже записана в строчку.
#include <stdio.h>
#include <string.h>

void stroka(char A[100], char B[100], char C[100])
{
     int i, k=0;
     C[0]='0';
     for (i=strlen(A)-1; i>=0; i--)
     {
          C[i+1]=A[i]-'0'+B[i]-'0'+k;
          k=C[i+1]/10;
          C[i+1]=C[i+1]%10+'0';
     }
     if (k!=0)
          C[0]=k+'0';
   
C[strlen(A)+1]=0;
}

int main(void)
{
     char s[100], A[100], B[100], C[100];
     int k, i=0;

     gets(s);

     while (s[i]>48 && s[i]<59)
     {
          A[i]=s[i];
          i++;
     }

     for (k=i+1; k<strlen(s); k++)
      {
          while (s[k]>48 && s[k]<59)
          {
               B[k]=s[k];
               k++;
          }

          stroka(A,B,C);
         
          for (int n=0; n<100; n++)
C[n]=A[n];

          k++;
       }
     
     printf("%s",C);
     return 0;
}

0

39

Сергей Юрьевич, посмотрите, пожалуйста, программу. Ошибок не выдает, но то, что должна, не делает. Вспоминается "принцип IBM"...  :D
Сам текст задачи внизу в картинке.

Код:
// Project5.cpp : main project file.

#include "stdafx.h"
#include <stdio.h>
#include <string.h>


void add_letter(char set[26], char c)
{
	if(c>='a' && c<='z')	// определяет, является ли переданный символ буквой
set[c-'a']=1;
}

int power(char set[26])
{
	int count=0, i;
	for(i=0;i<26;i++)// если при сравнении слов одинаковых букв не обнаружено, возвращает 0
count=count+set[i];
	return count;	
}

void letters(char set[26], char *s)
{
	int i;
	for(i=0;i<26;i++)
set[i]=0;
	for(i=0;s[i];i++)// создает массив, по которому опредялется наличие каждой из букв в строке
add_letter(set, s[i]);
}

void replace(int b[100], int e[100], int ls, int i, char *s)
{
	int k, k1;
	k1=b[i];
	for(k=e[i]+1;k<ls;k++)	// удаляет i-тое слово
	{
s[k1]=s[k];
k1++;
	}
	s[k1+1]=0;
	ls=strlen(s);
}

int main()
{
	int b[100], e[100];
	char s[100];
	char w1[100], w2[100], set1[26], set2[26], set[26];
	int i, j, k, ls, nw, p;

	gets(s);
	ls=strlen(s);

	p=1;
	j=0;
	for(i=0;i<ls;i++)// создает массив с координатами начал слов в строке
	{
if(p==1)
{
	b[j]=i;
	j++;
	p=0;
}
if(s[i]==' ' || s[i]==',') p=1;
	}
	j=0;
	for(i=0;i<ls;i++)// создает массив с координатами концов слов в строке
	{
if(s[i]==' ' || s[i]==',') j++;
e[j]=i;
	}
	nw=j;

	for(i=0;i<nw;i++)
for(j=i+1;j<nw;j++)
{
	for(k=0;k<(e[i]-b[i]+1);k++)	// забивает слова в отдельные строки для сравнения
w1[k]=s[b[i]+k];
	for(k=0;k<(e[j]-b[j]+1);k++)
w2[k]=s[b[j]+k];
	letters(set1, w1);// сравнивает
	letters(set2, w2);
	for(i=0;i<26;i++)
set[i]=set1[i]*set2[i];
	if(power(set)!=0)
	{
replace(b, e, ls, i, s);
replace(b, e, ls, j, s);
	}
}

	printf(s);
	printf("\n");

	return 0;
}

увеличить

0

40

Сергей Юрьевич. Может я немножко туплю, но все же...
Дан сайт: refal.com
Необходмио: скачать компилятор.
Но на скачку там предоставляются (если я то смотрю) Refal-2, Refal-5, Refal-6, и Refal-plus. Какой качать? И какая между ними разница?

0


Вы здесь » Форум студентов МГУ Печати ФИТиМ ИТД » Семестр » Вопросы к Сергею Юрьевичу (по информатике)