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

С++ VLA и прочее... - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проверка на введенное число http://www.cyberforum.ru/cpp-beginners/thread717276.html
Здравствуйте. Как проверить что было введено число а не что то другое. Например я написал подпрограмму, которая проверяет что было введено целое число. long Check(char *message){ bool stop; char str; int x; do{ system("cls"); stop = false; cout << message;
C++ Обработка символьной строки Не могу справиться с этими задачами :( 2)Задать символьную строку, состоящую из слов. Слова разделены группой пробелов. Исходную строку символов ввести с экрана. Выполнить обработку по варианту. Исходную строку и результат вывести на экран . Подпрограмму обработки строки следует оформить в виде функции. При необходимости отдельные действия для обработки строки также следует оформить как... http://www.cyberforum.ru/cpp-beginners/thread717248.html
Обработка двумерного массива C++
Не могу справиться с этими задачами :( 1)Создать программу, позволяющую задать двумерный массив, содержащий вещественные числа. Выполнить обработку по варианту. Исходный массив и результаты вывести на экран или во внешний файл. Двумерный массив выводить в виде таблицы. Сам исходный массив задать инициализацией или генератором случайных чисел, или читать из внешнего файла....
C++ Как написать тест-программу?
Помогите, пожалуйста. Мне необходимо написать тест-программу для класса Adminictrator. //This is the interface for the class SalariedEmployee. #ifndef SALARIEDEMPLOYEE_H #define SALARIEDEMPLOYEE_H #include <string> #include "employee.h"
C++ Подсчитывание начения арифметического выражения (Улучшить программу) http://www.cyberforum.ru/cpp-beginners/thread717229.html
Доброго времени суток. Нужно написать программу, подсчитывающую значение арифметического выражения( входят натуральные числа, +, *, круглые скобки). Вот код: //Грамматика: //<Выражение> ::= <слагаемое> {+ <слагаемое>} //<Слагаемое> ::= <множитель> {* <множитель>} //<Множитель> ::= <число> | (<выражение>) #include <iostream> using namespace std; typedef char TLexem; const char _Num = '1',
C++ Динамические одномерные масивы Не могу создать новый размер динамического массива. Статический работает как надо (мусор присутствует только в начале), а динамический нет (он такое впечатление вовсе не массив), в чем дело не пойму. Помогите, пожалуйста, а то уже по-всякому пробовал:help:. Фрагмент... int *A, B, k = 0; for(int i = 0; i < 15; i++) { k++; A = new int; B = A... подробнее

Показать сообщение отдельно
kravam
быдлокодер
 Аватар для kravam
1513 / 873 / 44
Регистрация: 04.06.2008
Сообщений: 5,266
01.12.2012, 03:34     С++ VLA и прочее...
Цитата Сообщение от alsav22 Посмотреть сообщение
Наверное, всё упирается в точное определение: что считать началом выполнения кода функци, вход в main() или что-то другое. Если бы это определение было, то и спорить было бы не о чем.
начало функции main это точка входа в main, это одно и то же, узнаётся так:

C++
1
2
3
4
5
6
7
#include <stdio.h>
int main()
{
    printf ("%x\n", main);
    getchar ();
    return 0;
}
А вообще смотри, ты говоришь о статических массивах а в пример приводишь локальные и мы все за тобой как попугаи повторяем, с самого начала темы и той и другой. Несём какую-то херь, а того не замечаем что
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
 
int main()
{
    int m;
    cin >> m;
    int arr[m];
    
    return 0;
}
Так-то разобраться, это не статический массив, а локальный. Ибо определён в функции. Ну и что, что она называется main, она ничем от других функций не отличается кроме того, что начинает выполняться первой. Всё предсказуемо, обыкновенное выделение памяти локального массива.

++++++++++++++++++++++++++++++++++++++++++++++++++++++

А статический-то массив вот он:
C++
1
2
3
4
5
6
7
#include <stdio.h>
int m;
int arr[m];
int main()
{
    return 0;
}
И m тут по-любому должна быть известна до выполнения main; на такой код как раз компилятор и ругнётся.
Такие дела.
Цитата Сообщение от alsav22 Посмотреть сообщение
Всё. Окончательно запутался.
теперь-то распутался?

Добавлено через 29 минут
Или. что то же самое:
C++
1
2
3
4
5
6
7
#include <stdio.h>
int main()
{
int m;
static int arr[m];
return 0;
}
или
C++
1
2
3
4
5
6
7
8
9
10
void foo () {
int m;
static int arr[m];
return 0;
}
 
int main()
{
 return 0;
}
На всё это компилятор ругается.
 
Текущее время: 02:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru