Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Кусов Сергей
0 / 0 / 0
Регистрация: 20.05.2009
Сообщений: 3
1

Не компилится код программы! ругается на объявление переменной - не могу разобраться что все таки нужно - чтоб работать стала

21.05.2009, 01:19. Просмотров 706. Ответов 5
Метки нет (Все метки)

Программа делается в 6 Builder в консоли

Задание в прикрепренном файле!!! и коды прогрмм во вложениях!!!

Одно из них:

Задание 1 . В одномерном массиве состоящих из n целых элементов, вычислить - номер максимального элемента массива

вот код:
C++
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
33
34
35
36
37
38
39
40
41
42
43
44
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    unsigned int n;
    printf("n=");
    scanf("%d", &n);
    int i;
    int arr[n];
    int max = 0;
    unsigned int num;
    for (i = 0; i < n; i++) {
        printf("a[%d]=", i);
        scanf("%d", &arr[i]);
        if (arr[i] > max) {
            max = arr[i];
            num = i;
        }
    }
 
    printf("max element is %d\n", num);
 
    int tarr[n];
    num = 0;
    i = 1;
    while (i < n) {
        tarr[num] = arr[i];
        i += 2;
        num++;
    }
    i = 0;
    while (i < n) {
        tarr[num] = arr[i];
        i += 2;
        num++;
    }
 
    for (i = 0; i < n; i++) {
        printf("a[i]=%d\n", tarr[i]);
    }
 
    return 0;
}
что не так не поиму? - и еще хотелось бы узнать как лучше организовать задержку на экране - чтоб просматривать результат работы программы!
0
Миниатюры
Не компилится код программы! ругается на объявление переменной - не могу разобраться что все таки нужно - чтоб работать стала  
Вложения
Тип файла: txt 1.1.txt (758 байт, 12 просмотров)
Тип файла: txt 1.2.txt (809 байт, 19 просмотров)
Тип файла: txt 2.1.txt (688 байт, 12 просмотров)
Тип файла: txt 2.2.txt (736 байт, 14 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2009, 01:19
Ответы с готовыми решениями:

Ругается на объявление переменной ProgressBar
При запуске ругается на объявление Public prgrsBar As MSComctlLib.ProgressBar...

Что нужно для того чтоб начать работать с Hibernate?
1.Вот мне нада будет работать с Hibernate/Torque Поюзав нэт я так понял что...

Нужно отладить, не могу понять, на что он ругается!
Вот собственно задание, и решение к нему, не могу понять почему он ругается, и...

Нужно сделать так чтоб с одной программы работать одновременно с двух компьютеров
всем привет помогите! мне нужно сделать так чтоб с одной программы работать...

да я не знаток но все таки: не понимаю почему ругается на cout
я думаю вам не составит труда ответить

5
kazak
3058 / 2379 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
21.05.2009, 01:33 2
Если прога на С, то объявления нужно делать в начале функци.
0
DEM90
17 / 17 / 7
Регистрация: 06.05.2009
Сообщений: 115
21.05.2009, 01:33 3
При создании массива нельзя указывать количество эллементов переменной.

int arr = new int[n];

Так создаётся массив arr типа int с количеством элементов n
0
kazak
3058 / 2379 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
21.05.2009, 01:42 4
Плюс если размер массива определяется во время выполнения программы, то нужно использовать динамические массивы.

Добавлено через 5 минут 43 секунды
DEM90, int *arr = new int [n], если быть точным. А в С используется calloc.
0
Кусов Сергей
0 / 0 / 0
Регистрация: 20.05.2009
Сообщений: 3
21.05.2009, 10:02  [ТС] 5
там в 1 заданий - надо статический массив использовать! я так понял у меня переменные не так заданы?????????
0
kazak
3058 / 2379 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
21.05.2009, 11:39 6
Еще раз повторюсь, если ты пишешь на С, а не на С++(в Console Wizard выбран Source Type - C), то все переменные нужно объявлять в начале функции до использования каких-либо операторов.
Дальше, если тебе надо использовать статический массив и при этом задавать размер массива с клавиатуры, то объяви очень большой массив(допустим arr[1000] элементов), вводи размер массива с клавиатуры n, и далее работай с n элементами массива arr.
Динамический массив объявляется так
C
1
2
3
4
5
6
7
#include <alloc.h>
 
int *arr;
arr = (int*) calloc(n, sizeof(int));
...
...
free(arr); // освобождение памяти
C++
1
2
3
4
5
int arr*;
arr = new int[n];
...
...
delete [] arr; // освобождение памяти
1
21.05.2009, 11:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2009, 11:39

Массив все-таки заполняется случайными значениями, но компилятор ругается
Добрый день. Программировать начал 5 дней назад. Вообще в принципе. Как...

Что нужно добавить чтоб работал код вызова картинок в превью
Я вставляю прямо в тело статьи и всё работает, но перестаёт работать когда...

Что нужно сделать, чтоб данный код работал с поздним связыванием Excel?
Мне нужно перевести приложение на позднее связывание с EXCEL'ем, так как...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru