Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
tAruuuch
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 144
1

Напишите программу, проверяя корректность ввода размера массива

13.03.2013, 14:21. Просмотров 508. Ответов 8
Метки нет (Все метки)

Напишите программу, проверяя корректность ввода размера массива. Проверьте работу программы на контрольном примере. Массив содержит н чисел. Определить количество отрицательных чисел массива.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2013, 14:21
Ответы с готовыми решениями:

Корректность ввода размера массива
Помогите написать код на c++ Условие: Напишите программу проверяя корректность ввода размера...

Контроль ввода размера массива
Здравствуйте. Пишу программу которая получает на вход число - размер массива и выводит рандомный...

Напишите программу,которая требует ввода пароля
Программа требует ввести пароль, например 111, и если пароль правильный, то заполняет всё...

Составьте программу, проверяя, верно ли утверждение
Составьте программу, проверяя, верно ли утверждение, что введенное вами целое число делится без...

Напишите программу, читающую строки со стандартного устройства ввода и суммирующую их в одну большую строку
1. Напишите программу, читающую строки со стандартного устройства ввода и суммирующую их в одну...

8
Ev[G]eN
iOS/Android Developer
Эксперт С++
5119 / 1557 / 950
Регистрация: 23.01.2011
Сообщений: 3,187
Завершенные тесты: 1
13.03.2013, 14:32 2
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
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <ctime>
 
bool inputCheck (std::string );
 
int main ()
{
    std::string strArraySize;
    do {
        std::cout << "Enter the size of array: ";
        std::cin >> strArraySize;
    } while (inputCheck(strArraySize));
    int arraySize = atoi(strArraySize.c_str());
    system("cls");
 
    int negativeCount = 0;
    int *array = new int [arraySize];
    std::cout << "Array of " << arraySize << " elements: " << std::endl;
    for (int i = 0; i < arraySize; i++) {
        std::cout << (*(array + i) = rand () % 25 - 5) << " ";
        negativeCount += (*(array + i) < 0) ? 1 : 0;
    }
    std::cout << std::endl << "Negative elements: " << negativeCount << std::endl;
 
    delete [] array;
    return 0;
}
 
bool inputCheck(std::string strArraySize)
{
    for (unsigned i = 0; i < strArraySize.length(); i++)
        if (isdigit(strArraySize.at(i)))
            return false;
    return true;
}
0
tAruuuch
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 144
13.03.2013, 14:45  [ТС] 3
Ошибка 1 error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream" (или приемлемое преобразование отсутствует) c:\users\діма\documents\visual studio 2010\projects\12334\12334\taruuuch.cpp 15 1 12334

как исправить?

Добавлено через 1 минуту
Ev[G]eN, а ты легче написать можешь а то мы кое что не учили еще
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5119 / 1557 / 950
Регистрация: 23.01.2011
Сообщений: 3,187
Завершенные тесты: 1
13.03.2013, 14:46 4
с проверкой ступил в первый раз
так правильно проверяет:
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
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <ctime>
 
bool inputCheck (std::string );
 
int main ()
{
    std::string strArraySize;
    do {
        std::cout << "Enter the size of array: ";
        std::cin >> strArraySize;
    } while (!inputCheck(strArraySize));
    int arraySize = atoi(strArraySize.c_str());
    system("cls");
 
    int negativeCount = 0;
    int *array = new int [arraySize];
    std::cout << "Array of " << arraySize << " elements: " << std::endl;
    for (int i = 0; i < arraySize; i++) {
        std::cout << (*(array + i) = rand () % 25 - 5) << " ";
        negativeCount += (*(array + i) < 0) ? 1 : 0;
    }
    std::cout << std::endl << "Negative elements: " << negativeCount << std::endl;
 
    delete [] array;
    return 0;
}
 
bool inputCheck(std::string strArraySize)
{
    int count = 0;
    for (int i = 0; i < strArraySize.length(); i++)
        count += (isdigit(strArraySize.at(i))) ? 1 : 0;
    return (count == strArraySize.length());
}
0
tAruuuch
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 144
13.03.2013, 14:48  [ТС] 5
Ev[G]eN, оно все ровно ту же ошибку выдает
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5119 / 1557 / 950
Регистрация: 23.01.2011
Сообщений: 3,187
Завершенные тесты: 1
13.03.2013, 14:54 6
C++
1
std::cin >> strArraySize;
попробуй сменить на
C++
1
std::getline(std::cin, strArraySize);
0
tAruuuch
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 144
13.03.2013, 15:01  [ТС] 7
Ev[G]eN, препод говорит не через bool делать а через using namespace std;
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5119 / 1557 / 950
Регистрация: 23.01.2011
Сообщений: 3,187
Завершенные тесты: 1
13.03.2013, 15:04 8

какая вообще взаимосвязь??

Не по теме:

повезло с преподавателем

0
tAruuuch
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 144
13.03.2013, 15:09  [ТС] 9
Ev[G]eN, та это бабка 70 летняя уже надоела(
0
13.03.2013, 15:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2013, 15:09

Корректность ввода
#include&lt;iostream&gt; #include&lt;conio.h&gt; #include&lt;string&gt; #include&lt;locale.h&gt; using namespace std; ...

Корректность ввода
Нужно ввести с клавиатуры uint64_t. И проверить, чтобы вводимое число не было больше допустимого...

Проверить корректность ввода
Постройте функции для запроса и чтения ФИО, почтового адреса и даты, и проверьте корректность ввода.


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

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

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