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

почему то первый в этом коде у меня не нулевой элемент а идет по порядку все - C++

Восстановить пароль Регистрация
 
flatra
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 343
04.11.2012, 16:21     почему то первый в этом коде у меня не нулевой элемент а идет по порядку все #1
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
#include "stdafx.h"
#include <iostream>
#include "conio.h"
#include "locale.h"
#define countof(array) (sizeof(array) / sizeof((array)[0]))
using namespace std;
 
 
 
int main(void)
{
    setlocale(LC_ALL, "Russian");
    cout<<"Введите размер массива -> ";
    
    int min, i, n, sum=0, arr[100]; // arr - массив целых чисел, максимальный размер 100 элементов
     cin >> n;
    
         
 
    for (int i = 0; i < n; i++) // ввод массива
      {
          cout<<"Введите элемент # "<<i+1<<endl;
 
      cin >> arr[i];
    }
     min = arr[0];
 
    for (int i = 0; i < n; i++)
        if (arr[i] < min)
            min = arr[i];
            
    for (int i = 1; i < (countof(arr) - 2); ++i)
        sum += i;
 
    cout << "минимальный элемент массива:" << min << endl; // вывод минимального значения
    cout << "Сумма элементов массива, расположенных между первым и последним элементом(не включая их)" << sum << endl;
    cout << "\nсначала нулевые элементы:";
    for (i = 0; i < n; i++)
        cout << "\nэлемент #"<<i<<": "<<arr[i];
    _getch();
    return 0;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2012, 16:21     почему то первый в этом коде у меня не нулевой элемент а идет по порядку все
Посмотрите здесь:

C++ Найти ошибку в коде, он у меня матрицу должен вывести и колличество положительных элементов но рандомом он только 0 выходит почему?
3. Вставить нулевую строку и нулевой столбец перед строкой и столбцом, где находится первый минимальный элемент. C++
Почему выводит не первый повторяющияся элемент? C++
Удалить из последовательности первый по порядку элемент, наиболее близкий по значению к среднему арифметическому C++
Почему в приведенном коде всегда первым отрицательным элементом является нулевой элемент C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Евгений89
 Аватар для Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
04.11.2012, 17:11     почему то первый в этом коде у меня не нулевой элемент а идет по порядку все #2
C++
1
2
3
cout<<"Введите элемент # "<<i+1<<endl;
вы тут вводите число и сразу его увеличиваете на 1 проще сделать через цикл while
если хотите зациклить ввод чисел
Добавлено через 6 минут
по этому и не начинается на нулевой 0+1 получается 1 и тд
flatra
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 343
04.11.2012, 17:13  [ТС]     почему то первый в этом коде у меня не нулевой элемент а идет по порядку все #3
как мне этим циклом зациклить
Евгений89
 Аватар для Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
04.11.2012, 17:25     почему то первый в этом коде у меня не нулевой элемент а идет по порядку все #4
C++
1
2
3
4
while(a[i]!=n){
cout<<"Введите элемент#"<<i;
cin>>a[i]
}
как то так примерно
flatra
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 343
04.11.2012, 17:36  [ТС]     почему то первый в этом коде у меня не нулевой элемент а идет по порядку все #5
а другим циклом можно как нить сделать
Евгений89
 Аватар для Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
04.11.2012, 17:43     почему то первый в этом коде у меня не нулевой элемент а идет по порядку все #6
do{
}while а етим что не нравится

Добавлено через 3 минуты
существует всего з цикла
C++
1
while(){} do{}while(); и for(;;)
flatra
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 343
04.11.2012, 17:44  [ТС]     почему то первый в этом коде у меня не нулевой элемент а идет по порядку все #7
у меня получаются что если я ввожу размер массива 3 то у меня водятся элементов больше
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 538
04.11.2012, 17:47     почему то первый в этом коде у меня не нулевой элемент а идет по порядку все #8
Вы хотя бы понимаете суть? Или владеете лишь только арифметическими знаниями(сложить, вычесть и т.д.)?

C++
1
2
3
4
5
for (int i = 0; i < n; i++) // ввод массива
{
    cout<<"Введите элемент # "<<i+1<<endl;
    cin >> arr[i];
}
Вводиться будет каждый символ, только сообщение будет выводиться неправильно. По программе нужно ввести 1-ый символ, а в сообщении будет написано, что 2-ой.

sum += i; - прибавлять к переменной по единице? Может складывать элементы массива нужно?

C++
1
2
    for (int i = 1; i < (countof(arr) - 2); ++i)
        sum += arr[i];
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,057
04.11.2012, 18:16     почему то первый в этом коде у меня не нулевой элемент а идет по порядку все #9
Цитата Сообщение от Afflicted Посмотреть сообщение
Вводиться будет каждый символ, только сообщение будет выводиться неправильно. По программе нужно ввести 1-ый символ, а в сообщении будет написано, что 2-ой.
Это почему еще?
первый элемент в С имеет индекс 0, а у людей один
так что все правильно
Цитата Сообщение от flatra Посмотреть сообщение
C++
1
2
3
4
5
for (int i = 0; i < n; i++) // ввод массива
 {
 cout<<"Введите элемент # "<<i+1<<endl;
cin >> arr[i];
 }
а вот здесь интересно
Цитата Сообщение от flatra Посмотреть сообщение
C++
1
2
for (int i = 1; i < (countof(arr) - 2); ++i)
 sum += i;
что ты хотел своим циклом ??? сумма без трех элементов??
(начинаем со второго элемента и заканчиваем когда до конца еще 2 осталось)
я тебе сразу скажу 97 элементов
а (countof(arr) - 2) даст 98 ибо
Цитата Сообщение от flatra Посмотреть сообщение
arr[100]
вот так нужно
C++
1
for (int i = 1; i <n-1; ++i)
Добавлено через 1 минуту
ну а насчет суммы
Цитата Сообщение от Afflicted Посмотреть сообщение
sum += arr[i];
Afflicted, уже сказал

Добавлено через 5 минут
Цитата Сообщение от Евгений89 Посмотреть сообщение
cout<<"Введите элемент # "<<i+1<<endl;
вы тут вводите число и сразу его увеличиваете на 1
а что i+1
эквивалентно i=i+1 ????

Добавлено через 4 минуты
Цитата Сообщение от flatra Посмотреть сообщение
почему то первый в этом коде у меня не нулевой элемент а идет по порядку все
вот по этому
Цитата Сообщение от flatra Посмотреть сообщение
for (int i = 0; i < n; i++) // ввод массива
{
cout<<"Введите элемент # "<<i+1<<endl;
при вводе ты печатаешь(не вводишь а печатаешь) номер элемента увеличеный на 1)

Цитата Сообщение от flatra Посмотреть сообщение
for (i = 0; i < n; i++)
cout << "\nэлемент #"<<i<<": "<<arr[i];
а при выводе просто номер элемента
т.е программа работает правильно ошибка на экране
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2012, 20:20     почему то первый в этом коде у меня не нулевой элемент а идет по порядку все
Еще ссылки по теме:

C++ В матрицах Р (7х8) и Q (8х6) поменять местами первую строку и строчку, в которой находится первый нулевой элемент
C++ Почему у меня ошибка в коде?
C++ Проверить, упорядочены ли элементы, заменить первый нулевой элемент и удалить указанный элемент из массива

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

Или воспользуйтесь поиском по форуму:
Евгений89
 Аватар для Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
04.11.2012, 20:20     почему то первый в этом коде у меня не нулевой элемент а идет по порядку все #10
Цитата Сообщение от Afflicted Посмотреть сообщение
cout<<"Введите элемент # "<<i+1<<endl;
cin >> arr[i];
}
да что то дествительно я вас дезинформировал , прошу прощения за мою невнимательность
Yandex
Объявления
04.11.2012, 20:20     почему то первый в этом коде у меня не нулевой элемент а идет по порядку все
Ответ Создать тему
Опции темы

Текущее время: 21:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru