Пятница, 15 Ноября 2024, 09:39

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос-Ответ (C++)
KornivalДата: Воскресенье, 04 Сентября 2011, 19:10 | Сообщение # 1
The Witcher
Сейчас нет на сайте
Чтобы не создавать отдельную тему на каждый глупый вопрос, предлагаю задавать их здесь.

Saitei: все вопросы по С задаём в теме Вопрос-Ответ (С). Благодарю за внимание!
WPhoeniXWДата: Вторник, 04 Июня 2013, 00:01 | Сообщение # 881
участник
Сейчас нет на сайте
обратный массив , не ? i=3 ; i --

" Кто в страхе живет, тот и гибнет от страха. "
Леонардо Да Винчи
sem6666Дата: Вторник, 04 Июня 2013, 00:16 | Сообщение # 882
участник
Сейчас нет на сайте
Код

void __fastcall TForm1::Button1Click(TObject *Sender)
{
TStringList *r = new TStringList;
int pr = Form1->Memo1->Lines->Count;
for (int i = 0; i < pr; i++)
{
r->Add(Form1->Memo1->Lines->Strings[i]);
}
Form1->Memo1->Lines->Clear();
r->Sort();
Form1->Memo1->Lines->AddStrings(r);
delete r;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  TStringList *r = new TStringList;
int pr = Form1->Memo1->Lines->Count;
for (int i = 3; i < pr; i--)
{
r->Add(Form1->Memo1->Lines->Strings[i]);
}
Form1->Memo1->Lines->Clear();
r->Sort();
Form1->Memo1->Lines->AddStrings(r);
}

Нет, так он стирает всё. Уже проверял.
pelmenkaДата: Вторник, 04 Июня 2013, 01:23 | Сообщение # 883
Драгоценный Тунеядец
Сейчас нет на сайте
sem6666, я сижу, спать хочу, но поробуй в for (int i = 3; i < pr; i--) заменить pr на 0

Сталина в каждый дом!
sem6666Дата: Вторник, 04 Июня 2013, 01:43 | Сообщение # 884
участник
Сейчас нет на сайте
pelmenka, всё так же, удаляется всё:(

Сообщение отредактировал sem6666 - Вторник, 04 Июня 2013, 02:54
pelmenkaДата: Вторник, 04 Июня 2013, 08:20 | Сообщение # 885
Драгоценный Тунеядец
Сейчас нет на сайте
sem6666, дай полный код

Добавлено (04.06.2013, 08:20)
---------------------------------------------
Очередная попытка угадать без запущеной IDE, пользуясь логикой.
Попробуй for (int i = 3; i < pr; i--) заменить на for (int i = 3; i > 0; i--).


Сталина в каждый дом!
sem6666Дата: Вторник, 04 Июня 2013, 10:26 | Сообщение # 886
участник
Сейчас нет на сайте
pelmenka, не помогает.
А так, полный код:

Делалось в C++ Builder в визуальной форме.
GameMixДата: Вторник, 04 Июня 2013, 19:19 | Сообщение # 887
старожил
Сейчас нет на сайте
sem6666, здесь не видно описания функции Sort(). Если не ошибаюсь, то это встроенная в какой-то header-файл функция. Для смены направления сортировки нужно именно там редактировать код.

Steel Standoff - 2D аркада.
Мои статьи
mega-ice-boyДата: Четверг, 06 Июня 2013, 14:00 | Сообщение # 888
частый гость
Сейчас нет на сайте
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
void main()
{
setlocale(LC_ALL,"Rus");
int r, // случайное число
i=-1, // вводимое значение
c=0; // счетчик колличества попыток
srand(time(0)); // инициализация генератора
r=rand()%100; // генерация случайного числа от 0 до 100
cout<<"Программа задумалачисло от 0 до 100.\nПопробуй угадать!!!\n";
while(r!=i) // цикл
{
// ввод числа
cout<<"Введите число\n";
cin>>i;
// проверка и вывод подсказки
if(i>r)
cout<<"Многовато будить\n";
if(i<r)
cout<<"Однако, маловато\n";
c++; // наращивание счетчика попыток
}
// отображение результата
if(c < 10)
cout << "Молодец, угадал с"<< c <<" попытки";
if(c > 10)
cout << "Ну с "<< c <<" попытки любой угадает";
cin.get();
cin.get();
}

Добавлено (06.06.2013, 13:59)
---------------------------------------------
Выше я писал код игры "угадай число" который супер модератор писал в уроке. И вот я не понял почему там переменная i получила значение -1 ? (минус один). Что будет если ему дать значение 0 ? . Жду подробного ответа. Спасибо за ранее

Добавлено (06.06.2013, 14:00)
---------------------------------------------
Выше я писал код игры "угадай число" который супер модератор писал в уроке. И вот я не понял почему там переменная i получила значение -1 ? (минус один). Что будет если ему дать значение 0 ? . Жду подробного ответа. Спасибо за ранее

Добавлено (06.06.2013, 14:00)
---------------------------------------------
Выше я писал код игры "угадай число" который супер модератор писал в уроке. И вот я не понял почему там переменная i получила значение -1 ? (минус один). Что будет если ему дать значение 0 ? . Жду подробного ответа. Спасибо за ранее


Хочу стать профессиональным программистом! У меня есть терпение, ум.

Сообщение отредактировал mega-ice-boy - Четверг, 06 Июня 2013, 13:55
WPhoeniXWДата: Четверг, 06 Июня 2013, 14:06 | Сообщение # 889
участник
Сейчас нет на сайте
-1 не входит в множество от 0 до 100 . Если бы присвоили 0 или иное из чисел до 100 , есть шанс совпадения при первом вызове цикла while . В этом случае цикл бы завершился по сути не начинаясь .

" Кто в страхе живет, тот и гибнет от страха. "
Леонардо Да Винчи
mega-ice-boyДата: Четверг, 06 Июня 2013, 16:54 | Сообщение # 890
частый гость
Сейчас нет на сайте
Спасибо большое учитель.за это от меня вам + репутация еще раз спасибо

Добавлено (06.06.2013, 16:52)
---------------------------------------------
#include <iostream>
using namespace std;
void main0
{
setlocale(LC_ALL,"russian");
int y=0;
while (y!=10)
{
cout<<"5+5=?\n";
cin>>y;
if (y!=10)
cout<<"неверно"\n;
}
cout<<"верно\n";
cin.get0;
cin.get0;
}

Добавлено (06.06.2013, 16:54)
----a----------------------------------------
Теперь проверяйте эту исходную код. Если там есть ошибки то скажите как его исправить? А смысл игры такой: компьютер требует от игрока чтобы игрок дал значение 10.


Хочу стать профессиональным программистом! У меня есть терпение, ум.

Сообщение отредактировал mega-ice-boy - Четверг, 06 Июня 2013, 17:05
Animan2010Дата: Четверг, 06 Июня 2013, 16:58 | Сообщение # 891
постоянный участник
Сейчас нет на сайте
mega-ice-boy, cout<<"5+5=?\n"; просит ввести 5? =)

Anima Games
Animan Publishing
l1feДата: Четверг, 06 Июня 2013, 19:03 | Сообщение # 892
был не раз
Сейчас нет на сайте
mega-ice-boy,
Самый годный способ.




Сообщение отредактировал l1fe - Четверг, 06 Июня 2013, 19:04
RUNGOGET2THECHOPAHДата: Четверг, 06 Июня 2013, 20:20 | Сообщение # 893
участник
Сейчас нет на сайте
Проиграл.
ApatiДата: Четверг, 06 Июня 2013, 20:29 | Сообщение # 894
заслуженный участник
Сейчас нет на сайте
Цитата (l1fe)
Самый годный способ.

Это один из самых НЕ годных способов. Оператор goto использовать нежелательно.
Вот нормальный вариант
Код
#include <iostream>
using namespace std;

int main()
{
  int v;
  cout << "5+5=?" << endl;
  do
  {
   cin >> v;
   if (v==10) cout << "Win" << endl;
   else cout << "Fail" << endl;
  }while (v!=10);
  system("pause");
  return 0;
}
l1feДата: Четверг, 06 Июня 2013, 20:44 | Сообщение # 895
был не раз
Сейчас нет на сайте
Apati,
Цитата
Это один из самых НЕ годных способов. Оператор goto использовать нежелательно.

Вы можете это объяснить? Или цитируете то, что прочитали когда-то в литературе по программированию на C++?
ApatiДата: Четверг, 06 Июня 2013, 20:53 | Сообщение # 896
заслуженный участник
Сейчас нет на сайте
Цитата (l1fe)
Вы можете это объяснить?

Использование оператора goto в проектах чуть больших, чем простой hello world, сильно снижает читаемость и понятность кода, так что лучше стараться вообще его не использовать изначально.
WPhoeniXWДата: Четверг, 06 Июня 2013, 21:15 | Сообщение # 897
участник
Сейчас нет на сайте
Давайте разведём тут холивар из за ДЕТСАДОВСКОГО кода biggrin

l1fe, Метки = зло . Спагетти код и вся фигня ( года 4 назад где то прочитал про " спагетти " , забирай biggrin )


" Кто в страхе живет, тот и гибнет от страха. "
Леонардо Да Винчи
l1feДата: Четверг, 06 Июня 2013, 21:40 | Сообщение # 898
был не раз
Сейчас нет на сайте
Разводить не будем, хочу сказать что сам частенько пользуюсь goto, например в случаях обработки ошибок (пишу в стиле Си, обработка исключений порождает более плохой код). Возможно позже поймете как хорош goto в некоторых ситуациях.
mega-ice-boyДата: Четверг, 06 Июня 2013, 21:54 | Сообщение # 899
частый гость
Сейчас нет на сайте
Араti, почему в твоем коде, если игрок не найдет цифру 10 то игра будет остановлена. Там же пауза. И еще почему ты использовал цикл do...while? а что будет если использовать цикл while?

Хочу стать профессиональным программистом! У меня есть терпение, ум.
pelmenkaДата: Четверг, 06 Июня 2013, 22:50 | Сообщение # 900
Драгоценный Тунеядец
Сейчас нет на сайте
Apati, ты забыл про windows.h

Сталина в каждый дом!
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг