Программа На С++

Тема в разделе "C/C++/C#", создана пользователем 123123123, 2 ноя 2012.

Статус темы:
Закрыта.
  1. 123123123

    123123123 Гость

    Программу нужно выполнить на языке С++ в среде Visual Studio 2010.
    Преподаватель дал образец решения задачи.
    Вот он:

    #include "stdafx.h"
    #include <iostream>
    #include <conio.h>
    using std::cout;
    using std::endl;
    using std::cin;
    int _tmain(int argc, _TCHAR* argv[])
    {
    int n=100;
    unsigned int x1=9;
    unsigned int x2=0;
    for (int i=0; i<n; i++);
    {
    if (i % 20 == 0) cout<<"\n";
    x1 = (( ~x1<<2 ^ x2<<1*i)*( ~x1<<1 ^ x2<<2*i)+( ~x1<<4 ^ x2<<5*i)) % 37;
    x2 = x1;
    cout<<""<<x1;
    }
    cout<<endl;
    _getch();
    return 0;
    }

    Это образец.И он у меня почему то не работает.Не знаю в чем причина.Должно быть 5 строк.В них по 20 различных значений от 0 и до 36 включительно(вместе с примером на листочке,который дал преподаватель есть картинка как в итоге должна выглядеть программа).А у меня получается,что программа выдает одно первое число-11 и все.Подскажите что не так?

    P.S Моё задание-числа от 0 и до 10.В строке по 4 значения?Но так как сам пример решения задачи не работает,то и моё вариант не срабатывает.
     
  2. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    задание напиши нормально, что хочешь увидеть на экране?
     
  3. 123123123

    123123123 Гость

    "Должно быть 5 строк.В них по 20 различных значений от 0 и до 36 включительно" вот что должно получиться
     
  4. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    узнай что это за ГСЧ
     
  5. 123123123

    123123123 Гость

    ГСЧ-это генератор случайных величин?что надо о нем узнать?
     
  6. Unk

    Unk Гость

    Я все понимаю, но в твоем примере не совсем случайные числа должны выходить. Стандартный рендомизатор нельзя использовать что ли?
     
  7. 123123123

    123123123 Гость

    простите за глый вопрос "рендомизатор" это что?
     
  8. Unk

    Unk Гость

    функция
    библиотеки нужные stdlib.h либо cstdlib, для си плюсов
    Код (C++):
    #include <cstdlib> //<stdlib.h>
    #include <iostream>

    int main ()
    {
    int i;
    i = rand () % 100; // случайное число от 0 до 100
    std::cout << i; // вывод полученого числа
    return 0;
    }
    п.с.
    это условно "случайное" число.
     
  9. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    надо еще засунуть в ГСЧ затравку функцией srand :(
    но я думаю ТС это не поможет, препод молодец и дал какой-то говнокод без комментариев.

    если это образец, и он верно переписан( проверь еще много раз каждый символ), то задачу надо решать чуть не так, ИМХО, его запускать и проверять вообще не надо (это образец, значит он правильный априори)
    следи за магическими числами
    Код (Text):
    int n=100;
    /*...*/
    for (int i=0; i<n; i++)
    {
    if (i % 20 == 0) cout<<"\n";
    x1 = (( ~x1<<2 ^ x2<<1*i)*( ~x1<<1 ^ x2<<2*i)+( ~x1<<4 ^ x2<<5*i)) % 37;
    100 чисел(см первую процитированную строку кода) это 5 строк по 20 символов в строке (см. 5 строку) от 0 до 36(ищи подозрительное магическое число 37 в 7 строке).
    заменяй магические числа на свои и иди сдавай преподу. Я думаю это мог быть его коварный план(дать не работающий код с ляпой и заставить разбираться или чуть подумать над листочком вместо тыканья кнопок мыши).

    ЗЫ. Но скорее всего это не коварный план препода, а ваше тотальное не знание языка и невнимательность при переписывании примера. Пока цитировал ваш код нашел ляп.
    ЗЫ.ЗЫ. если набирать код в нормальной IDE то ляп тоже станет сразу виден. Еще можно воспользоваться автоматическим форматированием в нормальной IDE (тоже все станет очевидно). Но лучше пройтись по коду отладчиком, все станет не менее очевидно на второй итерации цикла xD.
     
  10. 123123123

    123123123 Гость

    Укажите где ошибка в проги препода. Его программа не работает. Смысл мне менять цифра и подставлять мои,если изначальная прога не работает.Значит и с моими числами она не будет работать-логично?

    вот на этом сайте есть эта задача.и там есть фото результата данной проги.У меня этот результат не выходит.уже было написано мной,что выходит только первое значение 11 и все.

    http://life-prog.ru/view_zam.php?id=206&cat=2&page=3
     
  11. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    нет, так не интересно ) там не ошибка, а опечатка, скорее всего ваша. Я указал как вы можете ее найти. Вариант с отладчиком самый простой.
    логично, но теперь я обязательно дам студентам такие же сломанные программы, этож замечательно их отфильтрует )

    Добавлено: а еще, в той версии программы что ты приложил одна пара фигурных скобочек не нужна )
     
  12. Unk

    Unk Гость

    r04
    А еще не делал? Зряя, у нас методичку по теор. алгоритмов читать не возможно было, ошибки не только в синтаксисе, а еще и в логике.
    123123123
    На том сайте без ошибок.
     
  13. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    Unk
    а точно, вспомнил, нам тоже когда-то методички с ошибками писали )
    и даже учебники были со специально сделанными интересными ляпами ) у нас это вроде бы на выч.мат.-е продвигалось особо активно, пока мат. часть не изучишь ошибку не найдешь...но щас то всюду интернеты...в одной книжки ошибка - читаешь другую (студенты не будут особо долго ошибки искать)
    видешь вот, подсказал 123 как ошибку найти, а он грит:
    еще бы "Быстро!!!" написал для эффекту )
     
  14. 123123123

    123123123 Гость

    Надо будет напишу.

    Реально нужна помощь,а вы помочь не хотите.Зачем тогда вообще писать?

    Вы сами задачу копировали в С++?И что?Получилось что-нибудь?Вот лично у меня не выходит.

    "На том сайте без ошибок."-это как?глаза разуй.Что написано там и у меня-одно и тоже.

    И если тут опечатка-почему просто не указать на неё?Ведь помощи прошу.Ломаетесь как девки какие-то.

    Прекрасно.Он увидел 2 ляпа.А указать на них не слабо?

    И без вас прекрасно ясно что в программе не все верно раз она е работает как надо.

    Вот я и спрашиваю у вас-что именно?Где?
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей