Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

04.11.2012, 16:21. Просмотров 376. Ответов 9
Метки нет (Все метки)

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;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2012, 16:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос почему то первый в этом коде у меня не нулевой элемент а идет по порядку все (C++):

Почему в приведенном коде всегда первым отрицательным элементом является нулевой элемент - C++
Я туплю и не понимаю почему он всегда первым отрицательным элементом берёт нулевой элемент. Исправьте, пожалуйста, чтобы работала...

Проверить, упорядочены ли элементы, заменить первый нулевой элемент и удалить указанный элемент из массива - C++
Найти произведение отрицательных элементов массива, следующих после первого положительного элемента. Если по какой-либо причине вычислить...

Удалить первый нулевой элемент массива и добавить после каждого чётного элемента особый элемент - C++
Здравствуйте! Имеется такая задача: 1) Сформировать одномерный массив целых чисел, используя датчик случайных чисел. 2) Распечатать...

Удалить первый нулевой элемент массива - C++
Здравствуйте.Объясните пожалуйста,как удалять элемент в массиве,если он к примеру, равен 0.То есть у меня есть одномерный массив: 1 2 3 0 4...

Поменять местами последний нулевой элемент и первый минимальный - C++
Всем доброго времени суток. Помогите пожалуйста с решением задачки. Ну ооочень надо. Заранее спасибо

Сколько раз меняет свое место первый по порядку элемент - C++
Массив сортируется методом выбора по возрастанию Кто-нибудь помогите с реализацией кода, а то совсем не понимаю , как это сделать((

9
Евгений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 и тд
0
flatra
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 358
04.11.2012, 17:13  [ТС] #3
как мне этим циклом зациклить
0
Евгений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]
}
как то так примерно
0
flatra
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 358
04.11.2012, 17:36  [ТС] #5
а другим циклом можно как нить сделать
0
Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
04.11.2012, 17:43 #6
do{
}while а етим что не нравится

Добавлено через 3 минуты
существует всего з цикла
C++
1
while(){} do{}while(); и for(;;)
0
flatra
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 358
04.11.2012, 17:44  [ТС] #7
у меня получаются что если я ввожу размер массива 3 то у меня водятся элементов больше
0
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 543
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];
1
ValeryS
Модератор
6729 / 5138 / 484
Регистрация: 14.02.2011
Сообщений: 17,245
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];
а при выводе просто номер элемента
т.е программа работает правильно ошибка на экране
1
Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
04.11.2012, 20:20 #10
Цитата Сообщение от Afflicted Посмотреть сообщение
cout<<"Введите элемент # "<<i+1<<endl;
cin >> arr[i];
}
да что то дествительно я вас дезинформировал , прошу прощения за мою невнимательность
0
04.11.2012, 20:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2012, 20:20
Привет! Вот еще темы с ответами:

Почему у меня ошибка в коде? - C++
Вот код: #include &lt;iostream&gt; using namespace std; int main() { int n; cout&lt;&lt;&quot;Vvedi nomer misyaca.\n&quot;; cin&gt;&gt;n; ...

Найти первый по порядку наибольший элемент и эту строку взять за вектор X - C++
Помогите реализовать, дополнить код В первой по порядку строке матрицы, который содержит не более двух положительных элементов, найти ...

Поменять местами во всех строках последний нулевой элемент и первый минимальный - C++
Ввести в память машины двумерный целочисленный массив, размером M*N. 3&lt;=M&lt;=10; 3&lt;=N&lt;=10. Вывести на экран исходный массив и данные,...

Удалить из последовательности первый по порядку элемент, наиболее близкий по значению к среднему арифметическому - C++
Помогите пожалуйста составить программу: Даны целые числа a1, ..., an. Удалить из последовательности первый по порядку элемент, наиболее...


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

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

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