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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AndrewJon
0 / 0 / 0
Регистрация: 30.10.2012
Сообщений: 67
#1

Подскажите что я делаю не так? - C++

26.11.2012, 22:45. Просмотров 1107. Ответов 10
Метки нет (Все метки)

Дан массив целых чисел. Все его элементы уменьшить на 20

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
int f(const int*mas, const int i);
int const i=10;
int main(){
    int marks[i];
for (int i=0; i<10; i++) {
    cout <<"["<< i + 1 <<"]" << ":";
    cin >> marks[i];
    marks[i]=marks[i]-20;
    return 0;
}
int f(const int*mas, const int i)
{ for (i=0; i<10; i++) cout << mas[i];
cout<< " "<< endl;
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
26.11.2012, 22:50     Подскажите что я делаю не так? #2
i это не переменная, к ней вообще нельзя как к переменной обращаться

Верно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
int f(const int*mas);
int const i=10;
int main(){
    int marks[i];
    for (int j=0; j<i; j++) {
        cout <<"["<< j + 1 <<"]" << ":";
        cin >> marks[j];
        marks[j]=marks[j]-20;
    }
    f(marks);
    return 0;
}
void f(const int* mas)
{ 
   int j;
   for (j=0; j<i; j++) cout << mas[i]<< " ";
}
AndrewJon
0 / 0 / 0
Регистрация: 30.10.2012
Сообщений: 67
26.11.2012, 22:53  [ТС]     Подскажите что я делаю не так? #3
Kuzia domovenok, исправь мне что у меня тут не правильно чтоб программа работала)
у меня задание сделать с помощью пользовательских функций....я не могу разобраться...
я это задание уже делал. но вот с польз. функциями не пойму как
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
26.11.2012, 22:54     Подскажите что я делаю не так? #4
Разницу видишь?
AndrewJon
0 / 0 / 0
Регистрация: 30.10.2012
Сообщений: 67
26.11.2012, 23:33  [ТС]     Подскажите что я делаю не так? #5
Kuzia domovenok, спасибо)))) выручил

Добавлено через 34 минуты
Kuzia domovenok, пишет ошибку...подчеркивает f и пишет невозможно перегрузить функции, различаемые только по типу возвращаемого значения
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
26.11.2012, 23:39     Подскажите что я делаю не так? #6
void f
NeonLost
Пес войны
74 / 85 / 3
Регистрация: 23.02.2012
Сообщений: 653
26.11.2012, 23:43     Подскажите что я делаю не так? #7
C++
1
void f(const int*mas);
MaRKerNSK
24 / 11 / 1
Регистрация: 26.11.2012
Сообщений: 110
Записей в блоге: 2
26.11.2012, 23:45     Подскажите что я делаю не так? #8
Получается что ты дважды объявил i один раз как размерность массива второй в цикле фор. в этом и ошибка.
и совет, старайся объявлять переменный так чтобы было понятно зачем она нужна например если это размер массива то назови int size;

Добавлено через 1 минуту
C++
1
void f(const int*mas);//портатип функции
перед main поставь
AndrewJon
0 / 0 / 0
Регистрация: 30.10.2012
Сообщений: 67
26.11.2012, 23:50  [ТС]     Подскажите что я делаю не так? #9
Kuzia domovenok, выдает один и тот же ответ неправильный
Миниатюры
Подскажите что я делаю не так?  
Venzo
125 / 123 / 4
Регистрация: 03.07.2011
Сообщений: 354
26.11.2012, 23:58     Подскажите что я делаю не так? #10
Цитата Сообщение от MaRKerNSK Посмотреть сообщение
дважды объявил i один раз как размерность массива второй в цикле фор. в этом и ошибка.
не совсем: переменная с локальной областью видимости перекроет переменную с глобальной областью видимости, и переменная i в цикле (в main) и константа i (глобальная) - разные переменные.
ошибка будет здесь:
C++
1
2
int f(const int*mas, const int i)
{ for (i=0; i<10; i++)
попытка изменить константу

Добавлено через 2 минуты
Цитата Сообщение от AndrewJon Посмотреть сообщение
выдает один и тот же ответ неправильный
C++
1
2
3
4
5
void f(const int* mas)
{ 
   int j;
   for (j=0; j<i; j++) cout << mas[j]<< " ";
}
опечатка видимо)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2012, 00:01     Подскажите что я делаю не так?
Еще ссылки по теме:
Что я делаю не так? C++
C++ Что я делаю не так?
C++ что не так делаю?!
Что я делаю не так? C++
C++ PlaySound: что я делаю не так?

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

Или воспользуйтесь поиском по форуму:
MaRKerNSK
24 / 11 / 1
Регистрация: 26.11.2012
Сообщений: 110
Записей в блоге: 2
27.11.2012, 00:01     Подскажите что я делаю не так? #11
А ну да) точно забыл про видимые области и приоритеты, но всё ровно я за то чтобы переменные называть нормальными именами а не i, g, j, r, e, путь они будут где им положено в циклах))

Добавлено через 1 минуту
Если судить по скрину то цикл выходит за пределы выделенной ему памяти=)
Yandex
Объявления
27.11.2012, 00:01     Подскажите что я делаю не так?
Ответ Создать тему
Опции темы

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