Модераторы: Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++]Создать массив 
:(
    Опции темы
Be_Happy
Дата 28.10.2007, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 19.10.2007

Репутация: нет
Всего: нет



Код

#include<iostream.h>
#include<math.h>
void main(void)
{
    int A[100];
    int a;
    double c;
    double d;
    cout<<"Enter a:"<<endl;
    cin>>a;
    int n=0;
M1:
    if(n<a)
    {
        cout<<"Input A["<<n<<"]"<<endl;
        cin>>A[n];
    for(int b=2;b<A[n];b++)
    {
        if(A[n]%b==0)
        {
            d=n;
            break;
        }
        else
        c=n;
        }
        n++;
        goto M1;

        }
    cout<<"Nomer:"<<c<<endl;
}


Эта прога выводит последнее число n=c полученное в процессе вычисления, а нужно чтобы она выводила массив c из всех n,высчитываемых в программе, как дополнить код?
PM MAIL   Вверх
Sergio02
Дата 28.10.2007, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


СИпециалист
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 24.5.2006

Репутация: 3
Всего: 5



А что программа должна делать?
PM MAIL   Вверх
Be_Happy
Дата 28.10.2007, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 19.10.2007

Репутация: нет
Всего: нет



выводить номера простых чисел в вводимом массиве
PM MAIL   Вверх
Sergio02
Дата 28.10.2007, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


СИпециалист
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 24.5.2006

Репутация: 3
Всего: 5



Код

#include<iostream.h>
#include<math.h>
void main(void)
{
    int A[100];
    int a;
    int j=0;
    bool fl=false;
    int c[100];
    double d;
    cout<<"Enter a:"<<endl;
    cin>>a;
    int n=0;
M1:
    if(n<a)
    {
        cout<<"Input A["<<n<<"]"<<endl;
        cin>>A[n];
        for(int b=2;b<A[n];b++)
        {
            if(A[n]%b==0)
            {
                 d=n;
                 fl=true;
                 break;
            }
            else
            {
                 c[j]=n;
            }
        }
        if(fl==false)
        {
              j++;
        }
        n++;
        fl=false;
        goto M1;

    }
    for(int b=0;b==j;b++)
    {
    cout<<"Nomer:"<<c[j]<<endl;
    }
}


Тебя не учили код форматировать?

Это сообщение отредактировал(а) Sergio02 - 28.10.2007, 23:21
PM MAIL   Вверх
Optimus
Дата 28.10.2007, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 1.9.2007

Репутация: 9
Всего: 14



Цитата(Be_Happy @  28.10.2007,  22:31 Найти цитируемый пост)
выводить номера простых чисел в вводимом массиве 

Be_Happy, а что не устраивает в этой теме[C++]поиск номера простого числа в массиве  
--------------------
"постановка задачи наполовину решает саму задачу"
PM MAIL   Вверх
Be_Happy
Дата 29.10.2007, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 19.10.2007

Репутация: нет
Всего: нет



Optimus, 
Цитата(Optimus @  28.10.2007,  23:24 Найти цитируемый пост)
Be_Happy, а что не устраивает в этой теме[C++]поиск номера простого числа в массиве  

Там алгоритм сложный для меня, и выводит не номера чисел а сами числа=)

Sergio02, 
А эта прога вобще ничего не выводит у меня,нет никакого значения,только вводится массив и всё=)
PM MAIL   Вверх
Optimus
Дата 29.10.2007, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 1.9.2007

Репутация: 9
Всего: 14



Код

#include<iostream.h>
#include <conio.h>

void main(void)
{
  clrscr();

  const int SIZE = 10;
  int A[SIZE];
  int i;
  int j;
  int temp;
  int isPrime;

  i = 0;
  while (i < SIZE)
  {
    cout << "Enter A[" << i << "] -> ";
    cin >> temp;

    if(temp > 0)
    {
      A[i++] = temp;
    }
  }

  for (i = 0; i < SIZE; ++i)
  {
    isPrime = 1;

    for (j = 2; j < A[i]; ++j)
    {
      if (A[i] % j == 0)
      {
        isPrime = 0;
        break;
      }
    }

    if (isPrime == 1 )
    {
      cout << "index = " << i << " number = " << A[i] << endl;
    }
  }

  getch();
}

по суть это тот же самый алгоритм, но этот работает медленнее

если в массиве есть простые числа, то выводится индекс и само число

Это сообщение отредактировал(а) Optimus - 29.10.2007, 19:35
--------------------
"постановка задачи наполовину решает саму задачу"
PM MAIL   Вверх
Be_Happy
Дата 29.10.2007, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 19.10.2007

Репутация: нет
Всего: нет



Цитата(Optimus @  29.10.2007,  18:37 Найти цитируемый пост)
clrscr();

Что это такое?
PM MAIL   Вверх
Optimus
Дата 29.10.2007, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 1.9.2007

Репутация: 9
Всего: 14



clrscr() - очищает экран, можно не писать
--------------------
"постановка задачи наполовину решает саму задачу"
PM MAIL   Вверх
Be_Happy
Дата 29.10.2007, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 19.10.2007

Репутация: нет
Всего: нет



Цитата(Optimus @  29.10.2007,  18:37 Найти цитируемый пост)
if(temp > 0)    {      A[i++] = temp;    }

А это для чего писать и temp тоже самое что у меня A[n]?
PM MAIL   Вверх
Optimus
Дата 29.10.2007, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 1.9.2007

Репутация: 9
Всего: 14



temp это переменная которая содержит временное значение
если temp больше нуля то  i-тому элементу массива A присваивается значение переменной temp

Это сообщение отредактировал(а) Optimus - 29.10.2007, 19:58
--------------------
"постановка задачи наполовину решает саму задачу"
PM MAIL   Вверх
Be_Happy
Дата 29.10.2007, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 19.10.2007

Репутация: нет
Всего: нет



Optimus, а что происходит начиная с 29 строчки и что делает isPrime?
PM MAIL   Вверх
Optimus
Дата 29.10.2007, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 1.9.2007

Репутация: 9
Всего: 14



isPrime это флаг, если в ней хранится  1значит оно простое

Цитата(Optimus @  29.10.2007,  18:37 Найти цитируемый пост)
 if (A[i] % j == 0)
      {
        isPrime = 0;
        break;
      }

если A[i] делится без остатка на j значит оно не простое
--------------------
"постановка задачи наполовину решает саму задачу"
PM MAIL   Вверх
Be_Happy
Дата 29.10.2007, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 19.10.2007

Репутация: нет
Всего: нет



Цитата(Optimus @  29.10.2007,  18:37 Найти цитируемый пост)
getch();

Последние 2 вопроса и я всё понял:
1)что это такое?
2)зачем вначале писать isPrime = 1;?


Это сообщение отредактировал(а) Be_Happy - 29.10.2007, 21:53
PM MAIL   Вверх
Be_Happy
Дата 29.10.2007, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 19.10.2007

Репутация: нет
Всего: нет



Optimus
Ман, всё разобрал, реально огромнейшее тебе спасибо!!!=)

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.1056 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.