М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
alkofner
alkofner
22.02.2021 15:02 •  Информатика

Дается последовательность из чисел. найдите количество различных чисел.

👇
Ответ:
ilyasovazalina
ilyasovazalina
22.02.2021
Предполагается, что первым числом подается количество N чисел на ввод, а затем эти же N чисел.
Тогда код выглядит вот так.
#include <iostream>
#include <vector>
#include <functional>
#include <algorithm>
using namespace std;

int main() {
    int n;
    vector<int> x;
    cin>>n;
    x.resize(n);
    while(n--) cin>>x[n];
    std::unique(x.begin(),x.end());
    cout<<x.size();
    return 0;
}
4,8(28 оценок)
Открыть все ответы
Ответ:
alexksyx
alexksyx
22.02.2021

#include <iostream>

#include<stdlib.h>

/*

В прямоугольной целочисельной матрице упорядочить элементы, которые размещены на главной диагонале по убыванию

*/

using namespace std;

int main() {

setlocale(LC_ALL,"rus");

cout << "Masiv do sortirovki "<< endl << endl;

int mas[5][5];

for(int i=0; i<5; i++){

for(int j=0; j<5; j++){

mas[i][j]=-10+rand()%90;

cout<<mas[i][j]<<" ";

}

cout << endl;

}

cout << endl << endl;

cout << "Masiv posle sortirovki "<< endl << endl;

/* сортировку тут нужно провести */

for(int i=0; i<5; i++){

for(int j=0; j<5; j++){

cout<<mas[i][j]<<" ";

}

cout << endl;

}

cout << endl << endl;

return 0;

сорри если не правильно.(

4,4(86 оценок)
Ответ:
polina12318
polina12318
22.02.2021

Первое решение понятно, но это только общие мысли, в целом оно ошибочно по двум пунктам

1. В задании идёт речь о 20 веке, а это года 1901,19022000. Поэтому в объявлении массива нужно указать именно эти интервалы. Или просто 1 - 100, понятно же, что это один век, а при отображении года следует отображать (1900+i). 

2. В задании не определено, с какой точностью это самое население считается, если с точностью до человека, то INTEGER не хватит, поэтому этот вопрос нужно уточнить и в зависимости от точности (до тысяч, до десятков или сотен тысяч человек) выбрать соответствующий формат представления данных.

3. Странно писать 100 одинаковых операторов присваивания(кстати в тексте ещё ошибка - присваивается ОДНО И ТО ЖЕ значение, ведь оператора ввода данных НЕТ!).

Такие вещи делаются в цикле по индексам. Внутри цикла 2 оператора 

Ввод()

Присваивание

Опять же в задании не сказано, откуда берутся данные, ведь они могут браться с клавиатуры, с внешнего устройства(диска) или с какого-нибудь другого устройства ввода, например, сканера. Эти вводы реализуются похожими, но РАЗНЫМИ операторами.

 

Вот мои замечания, хотя, если формально точно реализовывать предложенное задание, нужно всего лишь описать массив, в котором будут храниться некоторые данные. В этом случае действительны лишь замечания 1 и 2. 

 

И ещё. Я не помню, что такое INTEGER. INTEGER 2-байтный точно не хватит, INTEGER 4-байтный должно хватить.

Успехов!

4,6(90 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ