Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
Сиплюсплюс

Массивы,инициализация(qbasic'овские read,data)

12.10.2008, 10:28. Показов 2987. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Недавно начал изучать С++.
Маленький совет: книги не покупай, а скачивай через интернет.(если есть возможность конечно)
Некоторые книжки не сразу понятны, и ты бысторо сможешь её поменять.
Конечно в таком варианте есть много минусов, но главный плюс это: Экономичность.

Вообще на сайт зашел что бы задать очередной вопрос:
Напомню что перехожу на С++ с QBASICа. Скажите пожалуйста есть ли что нибудь подобное бейсиковским:
READ (Считать из DATA очередную переменную)
RESTORE (С какого места считывать из DATA)
DATA (собственно сами переменные)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.10.2008, 10:28
Ответы с готовыми решениями:

map assigment of read only data member или WTF?
задача:из acm.timus.ru 1100. Таблица результатов Ограничение времени: 1.0 секунды Ограничение памяти: 16 МБ Старое программное...

Массивы, инициализация размера не константой
Здравствуйте. Только начал вливаться в Ваши стройные ряды ;) Вопроса два глупых (догадываюсь про ответы, но хотел бы уточнить) ...

Массивы указателей (их инициализация и обращение к ним)
Здравствуйте. Есть не понимание одного момента из кода программы одного самоучителя (текст всей программы приложен). Массив указателей...

5
1 / 1 / 0
Регистрация: 04.10.2008
Сообщений: 9
12.10.2008, 14:59
Цитата Сообщение от Сиплюсплюс Посмотреть сообщение
Недавно начал изучать С++.
Напомню что перехожу на С++ с QBASICа. Скажите пожалуйста есть ли что нибудь подобное бейсиковским:
READ (Считать из DATA очередную переменную)
RESTORE (С какого места считывать из DATA)
DATA (собственно сами переменные)
Можно наверное так:

int READ=0;
int DATA[n]; // n заменяется на к-во данных в массиве
DATA []={n1,n2,n...};

// Далее по программе
int A=DATA[READ]; READ++;

// Если надо сбросить
READ=n; //n- нужная позиция

P.S. С++-программеры, не пинайте сильно за такую реализацию, я просто решил попробовать реализовать в стиле Бэээйсика. Вижу, что можно выйти за пределы массива. Но самое быстрое, что в голову пришло. Еще придумал как это функциями сделать, можно и объектами сделать, но думать дольше, и знаков больше. И не очень нужно.
0
Сиплюсплюс
13.10.2008, 07:32
Мне нужно что бы работала такая программа
Code
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
#include <stdio.h>
#include <iostream.h>
#include <stdlib.h>
int main()
{
 int pole[3][3];
 for (int cicl=1;cicl<3;cicl++)
 {
   cout << "\n";
   if (cicl == 1)
     {
     int pole[3][3] = {1,1,1,2,2,2,1,1,1};
     }
   if (cicl == 2)
    {
    int pole[3][3] = {1,2,1,1,2,1,1,2,1};
    }
   for (int x = 0; x < 3; x++)
   {
   cout << "\n";
   for (int y = 0; y < 3; y++)
   {
   cout << pole [x] [y] << "   ";
   }
   }
 }
system("pause");
return 0;
}
она работает, но немного не так. Почему массив не обновляется?
1 / 1 / 0
Регистрация: 04.10.2008
Сообщений: 9
13.10.2008, 10:39
Цитата Сообщение от Сиплюсплюс Посмотреть сообщение
она работает, но немного не так. Почему массив не обновляется?
Code
1
2
3
4
5
6
7
 int pole[3][3];
 for (int cicl=1;cicl<3;cicl++)
 {
   cout << "\n";
   if (cicl == 1)
     {
     int pole[3][3] = {1,1,1,2,2,2,1,1,1};
Насколько понял, так неправильно писать. Сначало определение массива, (int pole[3][3] потом его повторное определение с инициализацией (int pole[3][3] = {1,1,1,2,2,2,1,1,1}. Тип (в данном случае int) указывается только при определении, и потом не пишется. А инициализация (int pole[3][3] = {1,1,1,2,2,2,1,1,1} делается только раз, потом так массив не переделать, надо обращаться по номерам элементов. Хотя можно наверное и так, но переменные, существуют только внутри своих скобок {}, а снаружи ьни не работают. Т.е. заново определенные массивы существуют только до закрывающей скобки }.

Вот пример определения и инициализации массива, с заполнением тройками, как это надо делать. Тройки для примера, если данные должны быть разнородны, то и кода больше будет.
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream.h>
 
int main()
{
    int pole[3][3] = {1,1,1,2,2,2,1,1,1};
 
     for (int x = 0; x < 3; x++)
     {
 
            for (int y = 0; y < 3; y++)
            {
                pole[x][y]=3;
                cout << pole [x] [y] << " ";
            };
     };
 
 
 
return 0;
}
0
Сиплюсплюс
13.10.2008, 22:30
То что код будет намного больше чем если в с++ были бы (read и data) я уже понял.
Делаю логическую детскую игру типа лабиринтика с некими предметами.
Кстати на QBASICе я её забацал за два дня не напрягаясь(там exe'шник нельзя делать, а то бы и не заморачивался я).
В с++ проблема в том что каждый уровень мне придётся прописывать в отдельной подпрограмме. А каждый уровень это массив 20 на 15. А в игре три разных вида подигры. И хотелось бы по 20levl'ов в каждой. Вобщем гемморой.
Может кто нибудь знает аналоги (read и data).
Или что нибудь подобное с уровнями (напоминают loderunner) делал?
Эксперт С++
 Аватар для XuTPbIu_MuHTAu
2256 / 771 / 25
Регистрация: 27.05.2008
Сообщений: 1,496
13.10.2008, 22:56
Сиплюсплюс,
Для вопросов стоит создавать новые темы,чтобы не вызывать неразбериху.

По поводу массивов. "уровни" объявлять внутри программы - странное явление. Создайте входной файл, и оттуда считывайте их. // fopen.fscanf,fprintf //

Вообще,я понимаю,что вы не профессионально нацелены на язык. Но все же учтите такой момент :не стоит называть переменные транслитом("cicl"). Смотрится ужасно,можно ошибиться. для цикловых переменных часто используют i,j,k,l.

по поводу кубейсиковской даты...ну,смахивает на обычный массив,без муторных слов restore read и data. Так что насчет того,что будет без этой даты длиннее - сомневаюсь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.10.2008, 22:56
Помогаю со студенческими работами здесь

DATA 1,2,3 READ x,y,z в VBA
В QuickBasic'е были замечательные объявления: DATA 3,'строка',3.14 READ x,str,yА как это сделать в VBA? И можно ли вообще?

Аналог READ и DATA в VB 2008
Всем доброго времени суток! В Basic оператор READ читает данные из оператора DATA. В VB 2008 такое чтение не проходит. Вопрос, -...

read data from db into JCombobox java
Подскажите, как можно прочитать данные из БД(SQL) в JCombobox? підкажіть як можна прочитати дані з бази даних(SQL) в JCombobox?

Google chrome cannot read and write to its data directory [Error]
Достался мне компьютер от пользователя который не знает что сделал и как так получилось. При попытке запустить google chrome получаю...

Инициализация объекта в JPQL запросе [Spring Data]
Есть класс StateArchiveDTO с полем Collection&lt;StatePropertyEntity&gt; stateProperties. Моя цель сделать пагинацию. Взять из БД сразу DTO...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru