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

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

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

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

04.11.2012, 16:21. Просмотров 360. Ответов 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;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2012, 16:21     почему то первый в этом коде у меня не нулевой элемент а идет по порядку все
Посмотрите здесь:

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

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

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

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

Почему у меня ошибка в коде? - 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. Вывести на экран исходный массив и данные,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Евгений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
Сообщений: 356
04.11.2012, 17:13  [ТС]     почему то первый в этом коде у меня не нулевой элемент а идет по порядку все #3
как мне этим циклом зациклить
Евгений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
Сообщений: 356
04.11.2012, 17:36  [ТС]     почему то первый в этом коде у меня не нулевой элемент а идет по порядку все #5
а другим циклом можно как нить сделать
Евгений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
Сообщений: 356
04.11.2012, 17:44  [ТС]     почему то первый в этом коде у меня не нулевой элемент а идет по порядку все #7
у меня получаются что если я ввожу размер массива 3 то у меня водятся элементов больше
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];
ValeryS
Модератор
6551 / 5017 / 463
Регистрация: 14.02.2011
Сообщений: 16,731
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++
Помогите пожалуйста составить программу: Даны целые числа a1, ..., an. Удалить из последовательности первый по порядку элемент, наиболее...

Найти первый нулевой элемент в одномерном массиве и заменить его суммой элементов, лежащих за ним - C++
Дан одномерный массив. Найти первый нулевой элемент в этом массиве и заменить его суммой элементов, лежащих за ним. например, есть...

В матрицах Р (7х8) и Q (8х6) поменять местами первую строку и строчку, в которой находится первый нулевой элемент - C++
Как сделать такую программу: В матрицах Р (7х8) и Q (8х6) поменять местами первую строку и строчку, в которой находится первый нулевой...

Вставить нулевую строку и нулевой столбец перед строкой и столбцом, где находится первый минимальный элемент. - C++
3. Вставить нулевую строку и нулевой столбец перед строкой и столбцом, где находится первый минимальный элемент. Люди,помогите написать...

Все ли хорошо в этом коде - C++
Предложите ваши варианты решения заданий 3. Все ли хорошо в этом коде? Файл legacy.c int values; Файл modern.cpp #define...


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

Или воспользуйтесь поиском по форуму:
Евгений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     почему то первый в этом коде у меня не нулевой элемент а идет по порядку все
Ответ Создать тему
Опции темы

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