Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Пишем свой интерпретатор языка BASIC - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Меню и список http://www.cyberforum.ru/cpp-beginners/thread41194.html
Здравствуйте форумчане. Помоги пожалуйста в следующем вопросе: У меня есть 2связный список, написано меню. Но в моменте когда написано make a list и delete custom необходимо чтобы выводились:...
C++ Здравствуйте! Не могу поместить class в один файл с программой. file.hpp #include "Cat.hpp" // здесь классы "2)" Cat::Cat(int initialAge) { itsAge = initialAge; } Cat::~Cat() { http://www.cyberforum.ru/cpp-beginners/thread41186.html
Массивы строк C++
Привет всем! Задан массив строк. Как узнать который символ встечаетса найбольшое количество раз в етом массиве?
C++ вывод на экран набор треугольников и квадратов, которые произвольно двигаются и меняют размер
Please, help me!!! Вот текст программы, которая выводит на экран набор треугольников и квадратов, которые произвольно двигаются и меняют размер только квадратов. Проблема в том, что необходимо...
C++ Округление дробного числа до целого в большую сторону. http://www.cyberforum.ru/cpp-beginners/thread41139.html
Доброго дня. Я новичок в программирование на Visual C++. Проблема такая программа должна считать кол-во месяцев, если числа целые то программа шла дальше, если дробное то (например 3.33333) ...
C++ Код из Delphi в C++ Нужно написать курсовую на C++. Сам я в программировании плохо шарю (не программист). Попросил у народу помощи, помогли. Но решение на Delphi: {$APPTYPE CONSOLE} type byteset=set of byte; ... подробнее

Показать сообщение отдельно
#pragma
Временно недоступен
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
29.09.2009, 06:42  [ТС]
При попытке сделать индексацию с единицы нашёл какой-то странный баг.При печати в данном исходнике печать первого и второго цикла расходятся.
Исходник
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
   'Here we define and calculate array
   DIM array(3,10)
 
   LET i = 1
   LET j = 1
   LET n = 1
 
   WHILE i < 4
     WHILE j < 11
          LET array(i,j) = n
      PRINT "array(",i,",",j,") is: ",array(i,j)
          PRINT
      LET j = j+1
          LET n = n+1
     WEND
       LET i = i+1
       LET j = 1
   WEND
   
   PRINT
   LET i = 1
   LET j = 1
 
   WHILE i < 4
     WHILE j < 11
     PRINT "array(",i,",",j,") is: ",array(i,j)
         PRINT
     LET j = j+1
     WEND
       LET i = i+1
       LET j = 1
   WEND

Сначала грешил на формулу,но когда вставил печать в первый цикл,вообще попал в тупик,так как она верная.Вообще,если после первого цикла менять значение array(3,1) или array(2,1),то меняются также значения
array(2,10) и array(1,10) соответственно.Считал по формуле - получается,что у них в линейном массиве тот же индекс.
PureBasic
1
DIM array(3,10)
C++
1
2
linear_index(2,10) = (2-1)*(10-1) + (10-1) = 18
linear_index(3,1) = (3-1)*(10-1) +(1-1) = 18
Но верная печать в первом массиве ставит в тупик.В чём дело-пока загадка.На всякий случай скомиттил 33 ревизию.Там индексация с единицы,добавлена опция командной строки для проверки неинициализированных переменных,называется --noinit-errors.Теперь формат запуска программы такой:
Bash
1
 ./basin [option] [filename]
Также в случае ошибки синтаксиса или выполнения память освобождается.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru