Массив с подсчётом данных

Массив с подсчётом данных

Добрый день. Помогите пожалуйста понять как решить задачу. Условие:
Произведено измерение роста 15 студентов. Данные записаны в массиве ROST. Разместить в массиве NR номера тех студентов, чей рост меньше 180 см. и подсчитать число таких студентов.
Т.е. получается нужно делать два массива, один только с данными, а второй с подсчётом данных первого?

Можете пожалуйста ответить на один воопрос я не какой язык не когда не изучал я смогу ли с этими уроками изучить этот язык????

#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <iomanip>
using namespace std;

int main()
{
int ROST[14];
      for(int i = 0;i < 15 ;i++)
        {
        cin >> ROST[i];
        system("cls");
        }
     for(int i = 0;i < 15 ;i++)
     {
     if(ROST[i] < 180 )
     cout<< "  " << ROST[i] << setw(3) << i << setw(2) <<endl;
     }
getch();
}

както так

тьфу,недочитал условие,с одним массивом сделал)))ёлки палки

второй вариант

#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <iomanip>
using namespace std;

int main()
{
int ROST[14];
int NR[14];
      for(int i = 0;i < 15 ;i++)
        {
        NR[i] = i;
        cin >> ROST[i];
        system("cls");
        }
     for(int i = 0;i < 15 ;i++)
     {
     if(ROST[i] < 180 )
     cout<< "  " << ROST[i] << setw(3) << NR[i] << setw(2) <<endl;
     }
getch();
}

Vanko_777 всё получится,только терпение

Спасибо за помощь.Обязательно ли нужна библиотека #include «stdafx.h»? С ней ошибку выдаёт, читал что вроде она устарела. В компиляторе всего 13 замеров вышло, попробую поменять цифры. Тут ещё компилятор просто выдаёт номера студентов, а как сделать их подсчёт? Ну допустим вышло у меня 5 студентов у которых рост <180. Что бы он посчитал и выдал число 5?

Ну допустим вышло у меня 5 студентов у которых рост <180. Что бы он посчитал и выдал число 5?

int count = 0; // Количество студентов с ростом < 180.

for(int i = 0;i < 15 ;i++) {
    if(ROST[i] < 180 ) { // Если найден студент, рост которого меньше 180
        count++; // Увеличиваем общее количество.
        cout<< "  " << ROST[i] << setw(3) << NR[i] << setw(2) << endl;
    }
}
cout << count << endl;

Спасибо. Там при компиляции только ошибку выдаёт, вроде за пределы массива где-то выходит. Может в этой строчке int count = 0 ?

У вас в массиве 14 элементов, а в цикле 15 итераций.

for(int i = 0;i < 15 ;i++) {
    // ...
}

Замените в двух циклах на

for(int i = 0;i < 14; i++) {
    // ...
}

у меня без разници 14 или 15 всеровно работает,VS 2010

и чото не до пойму нужно что 15 учеников подсчитывало ,а не 14, 14 в массиве это тож самое что и 15 там ноль тоже ячёйка

В массиве из 14 элементов последний индекс — 13. При обращении к arr[14], произойдет ошибка программы. Нумерация индексов с начинается с нуля.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.