Суббота, 03 Декабря 2022, 15:09

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » Matou [1123]
Результаты поиска
MatouДата: Пятница, 22 Октября 2010, 16:58 | Сообщение # 1101 | Тема: выражение Part 3
Исходный коТ
Сейчас нет на сайте
ОЛОЛО! Нашел у себя глупую ошибку biggrin

Code

if(a[i] = min)     // здесь стоит присваивание вместо сравнения
if(a[i] == min)   // а должно быть вот так

Ну и соответсвтенно исправленный код:

Code

#include <iostream>
#include <conio.h>
using namespace std;     

int main()     
{     
     locale::global(locale("rus"));    
     int a[10],i,n,min,max,j;    
     cout << "Введите размер: " << endl;    
     cin >> n;    

     for (i=0;i<n;i++)    
     {    
       cout << "Введите a["<<i<<"] = " << endl;    
       cin >> a[i];    
     }    

     cout << "Массив а: " << endl;    
     for (i=0; i<n; i++)    
       cout << a[i] << " ";    
     cout << endl;    
     min = max = a[0];    
     for (i=1;i<n;i++)
     {
       if (a[i] < min)    
         min = a[i];    
    if ( a[i] > max)    
        max = a[i];    
     }
     // вот и все, цикл поиска минималього и максимальтого элементов закончился.

         cout << "Минимальный элемент: " << min << endl;    
      cout << "Максимальный элемент: " << max << endl;

         for(i = 0; i < n; i++)     
     if(a[i] == min)                // Вот тут ололо было
     {     
         for(j = i + 1; j < n; j++)     
          a[j - 1] = a[j];     
         n--;     
         break;     
     }    
            
      for(i = 0; i < n; i++)     
     if(a[i] == max)                // И тут тоже было ололо
     {     
         for(j = i + 1; j < n; j++)     
          a[j - 1] = a[j];     
         n--;     
         break;     
     }     

       cout << "Преобразованный массив а: " << endl;    
     for (i=0; i<n; i++)    
       cout << a[i] << " ";    
     cout << endl;    
         
     getch();     
     return 0;
}





Сообщение отредактировал Matou - Пятница, 22 Октября 2010, 17:00
MatouДата: Пятница, 22 Октября 2010, 16:33 | Сообщение # 1102 | Тема: выражение Part 3
Исходный коТ
Сейчас нет на сайте
26


MatouДата: Пятница, 22 Октября 2010, 16:04 | Сообщение # 1103 | Тема: выражение Part 3
Исходный коТ
Сейчас нет на сайте
Я же написал решение в 9м посте, чем тебя не устраивает?


MatouДата: Пятница, 22 Октября 2010, 15:15 | Сообщение # 1104 | Тема: Опять про квадраты) Ы
Исходный коТ
Сейчас нет на сайте
О чем флуд?


MatouДата: Пятница, 22 Октября 2010, 14:58 | Сообщение # 1105 | Тема: выражение Part 3
Исходный коТ
Сейчас нет на сайте
Quote (WereWolf)
Слушай. А если сделать поиск, вот как ты сделал, потом выполнить сортировку и потом смещение?

А зачем тогда поиск делать, просто сделать сортировку, потом сделать смещение к первому елементу, а потом просто уменьшить n.

Quote (WereWolf)
?? Просто тут получается смещение от минимального 2 раза

Это где тут и что 2 раза смещяется?



MatouДата: Пятница, 22 Октября 2010, 12:52 | Сообщение # 1106 | Тема: выражение Part 3
Исходный коТ
Сейчас нет на сайте
Quote (WereWolf)
Такой код?

Я щяс умру просто biggrin Ты поиск то будешь делать или нет?

Встретив первый же елемент в цикле отличный от начального ты начинаешь делать смещение, причем в цикле, встретив второй опять, ну ты подумай хоть чуть чуть что программа делает.

Примерно так:

Code

#include <iostream>
#include <conio.h>
using namespace std;   

int main()   
{   
   locale::global(locale("rus"));  
   int a[10],i,n,min,max,j;  
   cout << "Введите размер: " << endl;  
   cin >> n;  

   for (i=0;i<n;i++)  
   {  
     cout << "Введите a["<<i<<"] = " << endl;  
     cin >> a[i];  
   }  

   cout << "Массив а: " << endl;  
   for (i=0; i<n; i++)  
     cout << a[i] << " ";  
   cout << endl;  
   min = max = a[0];  
   for (i=1;i<n;i++)
   {
     if (a[i] < min)  
       min = a[i];  
  if ( a[i] > max)  
      max = a[i];  
   }
   // вот и все, цикл поиска минималього и максимальтого элементов закончился.

       cout << "Минимальный элемент: " << min << endl;  
    cout << "Максимальный элемент: " << max << endl;

       for(i = 0; i < n; i++)   
   if(a[i] = min)   
   {   
       for(j = i + 1; j < n; j++)   
        a[j - 1] = a[j];   
       n--;   
       i--;   
       break;   
   }  
        
    for(i = 0; i < n; i++)   
   if(a[i] = max)   
   {   
       for(j = i + 1; j < n; j++)   
        a[j - 1] = a[j];   
       n--;   
       i--;   
       break;   
   }   

     cout << "Преобразованный массив а: " << endl;  
   for (i=0; i<n; i++)  
     cout << a[i] << " ";  
   cout << endl;  
     
   getch();   
   return 0;
}





Сообщение отредактировал Matou - Пятница, 22 Октября 2010, 13:07
MatouДата: Пятница, 22 Октября 2010, 12:27 | Сообщение # 1107 | Тема: выражение Part 3
Исходный коТ
Сейчас нет на сайте
Code

for (j = i+1;j<n;i++)
{
         a[i-1]=a[j];
         n++;
         i++;
}

Условием завершения данного цикля является "j < n", но вот только n растет в каждой итерации, а j остается неизменной, иными словами условие "j < n" всегда истинно.

Code

for(i = 0; i < n; i++)
if(a[i] = min)
{
        for(j = i + 1; j < n; j++)
            a[j - 1] = a[j];
        n--;
        i--;
        break;
}

for(i = 0; i < n; i++)
if(a[i] = min)
{
        for(j = i + 1; j < n; j++)
            a[j - 1] = a[j];
        n--;                           // обрати внимание что тут
        i--;                            // итерация i и n проходит вне цикла
        break;                       // брик стоит чтобы не удалить несколько минимальтых элементов
}

ЗЫ Меня еще колличество подключенных библиотек улыбнуло.





Сообщение отредактировал Matou - Пятница, 22 Октября 2010, 12:46
MatouДата: Среда, 20 Октября 2010, 17:42 | Сообщение # 1108 | Тема: Конкурс любителей информатики
Исходный коТ
Сейчас нет на сайте
Я всегда и категорически за smile


MatouДата: Среда, 20 Октября 2010, 17:41 | Сообщение # 1109 | Тема: Помогите сделать программу на Си
Исходный коТ
Сейчас нет на сайте
SlavyanOOs, пхах, спасибо biggrin Видеть не выспался сегодня...


MatouДата: Среда, 20 Октября 2010, 17:17 | Сообщение # 1110 | Тема: На каких ЯП можно написать игру для телефона?
Исходный коТ
Сейчас нет на сайте
Для Symbian жеж на C можно программировать.


MatouДата: Среда, 20 Октября 2010, 17:03 | Сообщение # 1111 | Тема: Что надо выучить,чтобы написать свой движок?
Исходный коТ
Сейчас нет на сайте
ezhickovich,
Quote (ezhickovich)
"Программирование на C++ глазами хакера" (М.Е. Фленов)

Серьезно? Я просто если вижу что автор Фленов сразу в корзину бросаю biggrin



MatouДата: Среда, 20 Октября 2010, 16:58 | Сообщение # 1112 | Тема: Помогите сделать программу на Си
Исходный коТ
Сейчас нет на сайте
Обьясните мне что значит "Нельзя использовать условный оператор"? Мне просто кажется что во всех привденных листингах условный оператор таки присутствует.


MatouДата: Среда, 20 Октября 2010, 16:43 | Сообщение # 1113 | Тема: Выражение Part 2
Исходный коТ
Сейчас нет на сайте
"1/3 == 0", если записывать целые числа то язык С считает и действия над ними целочисленными, попробуй записать "1.0 / 3.0"


MatouДата: Среда, 20 Октября 2010, 16:37 | Сообщение # 1114 | Тема: работа с БД в Visual Studio
Исходный коТ
Сейчас нет на сайте
А просто в файлах сохранять табличные данные тебя не устраивает?


MatouДата: Среда, 20 Октября 2010, 16:21 | Сообщение # 1115 | Тема: помогите с олимпиадой
Исходный коТ
Сейчас нет на сайте
Code

#include <iostream>     
#include <windows.h>     
#include <math.h>    // вроде тут abs() определяется
using namespace std;     

int main()     
{     
         int a;     
         int b;     
         int c;     
         char l = '-';     
         cout << l << a << l,l << b << l,l,l << c << l << endl;
         if(abs(a - c) > abs(b - c))
               cout << "b ближе к c";
         else
               cout << "a ближе к c";
}

вот такая вот раскаряка получилась за 2 минуты biggrin

Вообще так программы не пишутся, и если a и b будут равно удалены от с то будет выводиться а ближе к b, но зато поверят что сам делал biggrin





Сообщение отредактировал Matou - Среда, 20 Октября 2010, 16:24
MatouДата: Вторник, 05 Октября 2010, 02:22 | Сообщение # 1116 | Тема: Знания математики
Исходный коТ
Сейчас нет на сайте
Для программирования графики достаточно иметь поверхностное представление о аналитической геометрии. Куда хуже дела будут если надо будет делать скажем ИИ. В любом случае математические методы уже давно для всех приложений хорошо заточены и их знаний будет достаточно, иными словами тебе будет достаточно прочесть и разобраться в какой-нибудь главе рассказывающей о матрицах, векторах и понятиях геометрии в каком нибудь учебнике по 3D графике чтобы иметь достаточные математические знания для программирования графики. Равно так же дела обстоят и со множеством других решений, например поиск кратчайшего пути в графе - задача уже давно решенная.

Мое мнение - математика нужна, но уровень и обьем требуемых знаний ниже стандартной ВУЗовской программы для технических специальностей.





Сообщение отредактировал Matou - Вторник, 05 Октября 2010, 02:23
MatouДата: Понедельник, 04 Октября 2010, 18:11 | Сообщение # 1117 | Тема: Правильно ли я поступаю?
Исходный коТ
Сейчас нет на сайте
Quote (anisimov)
Вот тут вы не правы, С старше С++ первый компилятор С был создан ещё в 1975-м году, а С++ это уже 90-е годы. Так что С ну никак не может быть подмножеством С++. С++ действительно происходит от С, но есть и различия. Если вам нужна большая гибкость лучше взять С++, а не С. Даже без классов, он лучше. Возможностей больше. Керниган Ритчи и Бьрн Страуструп я по ним учил С/C++ основоположники и классики жанра. Обязательно достаньте их книги. Ещё можно почитать журнал Хакер, рубрика Кодинг. Там бывают интересные статьи по программированию на С++. Все выпуски Хакера есть в PDF формате на их сайте.

Надо было мой пост полностью в цитату вставлять. Кстати, я учил С/С++ именно по K&R и Страуструпу.





Сообщение отредактировал Matou - Понедельник, 04 Октября 2010, 18:17
MatouДата: Воскресенье, 03 Октября 2010, 23:19 | Сообщение # 1118 | Тема: UDK не запускается
Исходный коТ
Сейчас нет на сайте
У меня почему-то пишит - "Ошибка инициализации приложения (0xc0000034)"


MatouДата: Воскресенье, 03 Октября 2010, 22:19 | Сообщение # 1119 | Тема: Правильно ли я поступаю?
Исходный коТ
Сейчас нет на сайте
Quote (Artes)
Matou, не согласен

Твое право, только пожалуйсто аргументируй.



MatouДата: Воскресенье, 03 Октября 2010, 21:08 | Сообщение # 1120 | Тема: Приглашаю в команду по создание онлайн игр
Исходный коТ
Сейчас нет на сайте
Было бы не плохо если бы автор рассказал о себе, хотябы вкраце ответив на свои же вопросы.


Форум игроделов » Записи участника » Matou [1123]
Поиск:

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