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

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

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

Лабораторка - C++

05.11.2009, 13:32. Просмотров 514. Ответов 3
Метки нет (Все метки)

Дано натуральное число n и целые числа a(1), a(2), ... a(n)
(n<100) . Определить, есть ли среди этих чисел такие, которые равны делению двух других. Напечатать эти слова в виде a(k) = a(i) / a(j).(C++) Помогите плиз
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2009, 13:32     Лабораторка
Посмотрите здесь:

C++ Лабораторка с матрицами
C# Лабораторка по с#
лабораторка Oracle
C++ Си++ Лабораторка
Лабораторка по С++ на одномерный массив C++
Лабораторка C++
C++ Лабораторка Мозгаломка
C++ С++ лабораторка задача

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4663 / 2489 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
05.11.2009, 19:30     Лабораторка #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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include<iostream.h>
#include<conio.h>
#include <stdlib.h> 
#include <time.h> 
#include <windows.h> 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int i, j, temp, n, *mas;
    srand(time(NULL));
vvod:
    cout<<"Ââåäèòå Г*Г*ГІГіГ°Г*ëüГ*îå ÷èñëî n<100:"<<endl;
    cin>>n;
    if(n>=100 || n<1)
        goto vvod;
    mas=new int[n];
    for(i=0; i<n; i++)
        mas[i]=2+rand()%(100-1);
    // ñîðòèðîâêГ* ГЇГ® âîçðГ*Г±ГІГ*Г*ГЁГѕ
    for(i=0; i<n; i++)
        for(j=0; j<n-i-1; j++)
            if(mas[j]>mas[j+1])
            {
                temp=mas[j];
                mas[j]=mas[j+1];
                mas[j+1]=temp;
            }
    cout<<"ÈñõîäГ*ûå Г·ГЁГ±Г«Г*: "<<endl;
    for(i=0; i<n; i++)
        cout<<mas[i]<<" ";
    cout<<endl;
    i=0;
    while(mas[i+1]==mas[i])
        i++;
    j=i+1;
    while(mas[j+1]==mas[j])
        j++;
    temp=j+1;
    while(i<n-1)
    {
    if(mas[i]*mas[j]==mas[temp] && i<n-1 && j<n-1 && temp<n-1)
        cout<<mas[i]<<"="<<mas[temp]<<"/"<<mas[j]<<endl;
    while(mas[temp+1]==mas[temp])
            temp++;
    temp++;
    if(temp>=n || mas[i]*mas[j]<mas[temp] )
    {
        j++;
        while(mas[j+1]==mas[j])
            j++;
        temp=j+1;
    }
    if(j>=n-1)
    {
        i++;
        while(mas[i+1]==mas[i])
            i++;
        j=i+1;
        while(mas[j+1]==mas[j])
            j++;
        temp=j+1;
    }
    }
getch();
return 0;
}
melkaya19
0 / 0 / 0
Регистрация: 03.10.2009
Сообщений: 19
08.11.2009, 19:00  [ТС]     Лабораторка #3
Ой, ошиблась - не слова а цифры а больше нет ни каких вариантов как решить? я даже смысл задачи понять не могу
valeriikozlov
Эксперт C++
4663 / 2489 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
08.11.2009, 19:34     Лабораторка #4
Цитата Сообщение от melkaya19 Посмотреть сообщение
Ой, ошиблась - не слова а цифры а больше нет ни каких вариантов как решить? я даже смысл задачи понять не могу
Советую загрузить код и запустить его с десяток раз (только n вводите от 30 и выше, но не более 100). Может тогда прозрение и прийдет.
Yandex
Объявления
08.11.2009, 19:34     Лабораторка
Ответ Создать тему
Опции темы

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