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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 253, средняя оценка - 4.74
Raynk
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 6
#1

Найти 100 первых простых чисел - C++

17.08.2009, 09:04. Просмотров 31348. Ответов 70
Метки нет (Все метки)

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

1. Найти 100 первых простых чисел.
2. Дано число n. Напечатать те натуральные числа, квадрат которых не превышает n.
3. Дан массив x [1]..x[n] целых чисел. Не используя других массивов, переставить элементы массива в обратном порядке.
4. Дано слово. Определить, одинаковы ли второй и четвертый символы в нем.
5. Дано слово. Получить его часть, образованную идущими подряд буквами, начиная с k-й и кончая m-й, (k и m вводятся с клавиатуры).
6. Дана прямоугольная таблица a[1:n,1:m]. Найти минимальный из максимумов строк, т.е. min (max aij ), 1 <= i <= n, 1 <= j <= m
7. Все элементы матрицы, кроме диагональных, заменить единицами.
8. Дана квадратная таблица a[1:n,1:n]. Найти номер строки, содержащей наибольшее число нулей.
9. В соревнованиях по прыжкам в длину участвовали N-спортсменов. Каждый спортсмен мог сделать М-попыток. Результаты (длины прыжков) занесены в таблицу A[1:M,1:N]. Если результат не засчитывали, то вместо длины прыжков заносили ноль. Составить алгоритм, который дает возможность определить лучший результат К-ого спортсмена.
10. Дан массив данных о работающих на фабрике: фамилия, имя, отчество, адрес (улица, дом, квартира) и дата поступления на работу (месяц, год). Определить, есть ли в списке Ивановы (Иванов, Иванова), если есть, то вывести их адрес (адреса) и посчитать из них количество, проработавших не менее двух лет на сегодняшний день.
11. Даны два одномерных массива A[n] и B[n]. Получить массив С[2,n], первая строка которого – упорядоченные по возрастанию элементы B[n], вторая строка – упорядоченные по убыванию элементы A[n]. Использовать алгоритм вставки.

Пожалуйста решите эти задания кто сможет зарание благодарен!!!!!!!!!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2009, 09:04     Найти 100 первых простых чисел
Посмотрите здесь:
Найти первых 100 простых чисел C++
C++ Найти 100 первых простых чисел.
C++ Найти 100 первых простых чисел
C++ Четверки простых чисел из первых 100 натуральных
Найти сто первых простых чисел C++
Найти N первых пар простых чисел, которые отличались бы друг от друга на 2 C++
Найти n первых простых чисел, сумма цифр у которых меньше заданного числа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
18.08.2009, 08:36     Найти 100 первых простых чисел #16
2M128K145: А я так понял что просто нужно вырезать часть строки от k-той позиции до m-той позиции. То есть задание тривиально

я думаю что эти задания правильно решены
Там где я ошибки указывал и они были исправлены - там правильно.
А вот в остальных не уверен.
Точнее уверен что там есть ошибки, но пожалел M128K145
Помогите ещё задачи решить.
И так у нас есть еще задачи T1-T14

Добавлено через 1 минуту 5 секунд
Кстати insolent в посте #14 решил именно так, как я понимаю задание
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
18.08.2009, 20:47     Найти 100 первых простых чисел #17
Сообщение было отмечено автором темы, экспертом или модератором как ответ
мое понимание №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
#include <boost/iterator/counting_iterator.hpp>
#include <boost/lambda/lambda.hpp>
#include <algorithm>
#include <iterator>
#include <iostream>
 
namespace lm = boost::lambda;
 
// 2. Дано число n. Напечатать те натуральные числа, квадрат которых не превышает n.
 
void product(size_t N)
{
    std::remove_copy_if(
        boost::counting_iterator<size_t>(1),
        boost::counting_iterator<size_t>(N+1),
        std::ostream_iterator<size_t>(std::cout, " "),      
        lm::_1 * lm::_1 > N
        );
}
 
int main()
{
    const size_t N = 81;
    product(N);
 
    return 0;
}
Вывод:
1 2 3 4 5 6 7 8 9
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
18.08.2009, 21:03     Найти 100 первых простых чисел #18
2Rififi: Ты решил задачу N2 из заголовка темы, а автор запостил еще несколько задач.
И потом boost для начинающих - это как-то сильно круто
M128K145 решил задачу N2 из второго набора задач.
Чтобы не было путаницы второй набор задач выложил в отдельную тему:
C++ не могу в нём разобраться (заход 2)
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
18.08.2009, 21:10     Найти 100 первых простых чисел #19
odip,
2Rififi: Ты решил задачу N2 из заголовка темы, а автор запостил еще несколько задач.
я решил альтернативным способом последний выложенный вариант
остальные решать не хочется (:
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
18.08.2009, 21:14     Найти 100 первых простых чисел #20
Дано число n. Напечатать те натуральные числа, квадрат которых не превышает n
Эта задача ?

Добавлено через 38 секунд
В C++ не могу в нём разобраться (заход 2) решается совсем другая задача.
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
18.08.2009, 21:20     Найти 100 первых простых чисел #21
odip,
Дано число n. Напечатать те натуральные числа, квадрат которых не превышает n
Эта задача ?


аха.
хотя я щас посмотрел в тот код, что-то я там не вижу квадратов никаких.
чё он там решал, про то мне неведомо (((: я решил пункт 2

Добавлено через 2 минуты 40 секунд
решается совсем другая задача.
понятно. аффтар бдительно следит, чтобы участники форума не маялись от безделья и героически спасает их от онного.
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
18.08.2009, 21:20     Найти 100 первых простых чисел #22
второй набор задач выложил в отдельную тему:
C++ не могу в нём разобраться (заход 2)

Там есть прикольные задачки, например N10
Raynk
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 6
19.08.2009, 16:07  [ТС]     Найти 100 первых простых чисел #23
Цитата Сообщение от insolent Посмотреть сообщение
N1
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 <iostream>
using namespace std;
//////////////////////////////////////////////////////////////////////////
bool prov(int a)
{
    int i,k,
        flag;
    for(i = 2; i <= a;i++)
    {
        flag = 1;
        for(k = 2; k*k <= i;k++)
        {
            if(i % k == 0)
            {
                flag = 0;
                break;
            }
        }
    }
    if(flag == 1)
        return 1;
    return 0;
}
 
int main(int argc, char* argv[])
{
    setlocale(0,"");
    int k = 0;
    cout << "Сто первых простых чисел:" << endl;
    for(int i = 2; i < RAND_MAX;i++)
    {
        if(prov(i))
        {
            cout << ++k << ") " << i << endl;
        }
        if(k == 100)
            break;
    }
    getchar();
    return 0;
}



N3
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <iostream>
#include <ctime>
using namespace std;
//////////////////////////////////////////////////////////////////////////
void out(int* a,int n);
void vin(int* a,int n);
void perestan(int *a,int n);
//////////////////////////////////////////////////////////////////////////
int main(int argc, char* argv[])
{
    setlocale(0,"");
    int *a,
        n;
    cout << "Введите количество элементов в массиве: ";
    wcin >> n;
    _flushall();
    a = new int[n];
    vin(a,n);
    cout << "Массив:" << endl;
    out(a,n);
    cout << "Массив(элементы в обратном порядке):" << endl;
    perestan(a,n-1);
    out(a,n);
    getchar();
    return 0;
}
//////////////////////////////////////////////////////////////////////////
void out(int* a,int n)
{
    for(int i = 0; i < n; i++)
    {
        cout.width(5);
        cout << a[i];
    }
    cout << "\n\n";
}
//////////////////////////////////////////////////////////////////////////
void vin(int* a,int n)
{
    srand((unsigned)time(NULL));
    for (int i = 0; i < n;i++)
    {
        a[i] = rand()%401-200;
    }
}
//////////////////////////////////////////////////////////////////////////
void perestan(int *a,int n)
{
    for (int i = 0 ; i < n/2;i++)
    {
        a[i] ^= a[n-i] ^= a[i] ^= a[n-i]; 
        /*a[n-i] = a[i] + a[n-i];
        a[i] = a[n-i] - a[i];
        a[n-i] = a[n-i] - a[i];*/
    }
}
В 3 задании существуют ошибки т.е при проверки цикл зацикливается
insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
19.08.2009, 16:18     Найти 100 первых простых чисел #24
Цитата Сообщение от Raynk Посмотреть сообщение
зацикливается
Где?
Raynk
0 / 0 / 0
Регистрация: 17.08.2009
Сообщений: 6
19.08.2009, 16:25  [ТС]     Найти 100 первых простых чисел #25
У тебя не каких ошибок не происходило? и Какой у тебя C++
Количество массивов вводишь и он зацикливается
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
19.08.2009, 17:16     Найти 100 первых простых чисел #26
Raynk, нету там ошибок. Я проверял на VS2005/2008, Dev-C++ и Borland C++ 3.1, и везде все отрабатывало нормально без зацикливаний
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
19.08.2009, 17:29     Найти 100 первых простых чисел #27
У меня gcc 3.4.5 из mingw ругается на задачу N3.
Но после замены строки 15 на "cin >>n" все заработало.
Не знаю откуда там взялся wcin
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
19.08.2009, 17:40     Найти 100 первых простых чисел #28
odip, я кажется понял где он зациклился, введи значение больше 10000 и оно будет около 30 сек выводить ответ.
Raynk, так вот, для проверки того как работает программа не нужно вводить очень большие размерности, досаточно массива в 10-20 элементов
chert
0 / 0 / 0
Регистрация: 10.10.2009
Сообщений: 26
10.10.2009, 12:13     Найти 100 первых простых чисел #29
Найти сумму цифр.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2009, 19:05     Найти 100 первых простых чисел
Еще ссылки по теме:
Найти 10 первых натуральных чисел, оканчивающихся на цифру 7 кратных числу 9, не меньших 100 (Pascal -> C++) C++
Найти 15 первых натуральных чисел, делящихся нацело 19 и находящихся в интервале , левая граница которого равна 100. C++
6.34. Найти 15 первых натуральных чисел, делящихся нацело на 19 и нахо-дящихся в интервале, левая граница которого равна 100 C++
Вывести на экран 10 первых простых чисел C++
Вложенные циклы: вывести n первых простых чисел C++

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

Или воспользуйтесь поиском по форуму:
Andrei
0 / 0 / 0
Регистрация: 20.10.2009
Сообщений: 8
20.10.2009, 19:05     Найти 100 первых простых чисел #30
Привет всем помогите пожалуйста кто может : не могу решить задачи по C++ ,только начинаю изучать C++:
Задача 1. Линейные программы:
От станции до озера S км. Туристы, направляясь от станции к озеру, полтора часа шли пешком со скоростью А км/ч, а затем сели на попутную машину, которая еха-ла со скоростью В км/ч. За какое время туристы добрались до озера?
Задача 2. Ветвления:
Гнездо для ножки деревянной кровати имеет форму прямоугольной вырезки. Опреде-лить, подойдет ли данный четырехугольный брусок для этого гнезда.
Задача 3. Циклы:
Ввести с клавиатуры 10 чисел – положительных и отрицательных. Заменить все отрица-тельные числа их модулями и напечатать все полученные 10 чисел.
Задача 4. Массивы линейные:
Данные о температуре воздуха за декаду декабря хранятся в массиве. Определить, сколько раз температура была выше средней за эту декаду.
Задача 5. Прямоугольные таблицы:
Дан целочисленный массив В[1..5, 1..5]. Найти количество отрицательных элементов этого массива, расположенных ниже главной диагонали.
Задача 6. Данные символьного типа:
Напишите программу, удаляющую из текста все буквы, совпадающие с его последней буквой

Пожалуйста решите эти задания кто сможет. Буду благодарен!
Yandex
Объявления
20.10.2009, 19:05     Найти 100 первых простых чисел
Закрытая тема Создать тему
Опции темы

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