Автор Тема: помогите в решение задачи по С++  (Прочитано 8309 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн wyrik

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
помогите в решение задачи по С++
« : 03 Декабря 2009, 00:39:23 »
не выводит пары взаимнопростых чисел, а вывод все подряд. где может быть ошибка? помогите пжлст
задача: вводится массив, вывести все пары чисел которые являются взаимнопростыми
код следующий :

#include <iostream>
using namespace std;
int savstpirm (int a,int b);

int main()
{
   
  const int MAKSK=100;
  int n;
  int a[MAKSK];
  char atb;
 do{
       
  do {
    cout<<"вести количество чисел:  ";
    cin>>n;
  }while((n<0)||(n>MAKSK));
 
   for (int i=0;i<n;i++){
   cout<<"введите"<<i+1<<"число  ";
   cin>>a;
   }

  for(int i=0;i<n;i++){
   for(int j=i+1;j<n;j++){
       if(savstpirm(a,a[j]))
      cout<<"["<<a<<" "<<a[j]<<"]"<<endl;
       else cout<<"нет"<<endl;
  }
    }
 

   cout<<"если хотите повторить введите - J";
   cin>>atb;
 }while (atb=='J'||atb=='j');
   system("Pause");
   return 0;
}

int savstpirm (int a,int b ){
  const int MAKSK=100;
  int m[MAKSK];
  int z[MAKSK];
  int n;
  m[0]=0; z[0]=0;

 for(int i=0;i<n;i++){
  if(a%i==0){
        m[0]++;
        m[m[0]]=i;
 }
   }
   
 for(int i=0;i<n;i++){
    if(b%i==0){
       z[0]++;
       z[z[0]]=i;
 }
   }   
 
 for(int i=0;i<n;i++){
      for(int j=i+1;j<n;j++){
      if(i==j){
        return 0;
  }
  }
}
       return 1;
}

Оффлайн InfStudent

  • Модератор
  • *****
  • Сообщений: 1356
  • Куба любовь моя))
    • Просмотр профиля
Re: помогите в решение задачи по С++
« Ответ #1 : 04 Декабря 2009, 00:01:13 »
У вас очень странные конструкции с двойными индексами масивов
Прежде чем задавать вопрос в раздел по программированию повтори теорию и посмотри FAQ! Просьба не кидайте задания в ЛС и не надо мне писать: "посмотри мою задачу!!!" Я смотрю все задачи в разделе когда на форуме
Учтите что подобные ЛС будут оставлены без внимания!
УКАЗЫВАЙТЕ ЯЗЫК ПРОГРАММИРОВАНИЯ НА КОТОРОМ ДОЛЖНА БЫТЬ РЕШЕНА ЗАДАЧА
Вам в помощь:
∫ ¼ ½ ¾ ⅓ ⅔ ⅛ ⅜ ⅝ ⅞ ² ³ ± ~ ‰ ∞ √ ∑ ∆ ℮ ∩ ≡ ≤ ≥ ≈ ∩

Оффлайн InfStudent

  • Модератор
  • *****
  • Сообщений: 1356
  • Куба любовь моя))
    • Просмотр профиля
Re: помогите в решение задачи по С++
« Ответ #2 : 04 Декабря 2009, 00:56:35 »
Давайте напишем двефункции одну void, которая будет заполнять массив, вторая будет использоваться для вычисления НОД по Евклиду.А далее проверяем возврашаемый НОД на = 1 и в случае true выводим пару на экран. Сам массив конечно глобальный, а обращение к нему из функций через параметры 
Прежде чем задавать вопрос в раздел по программированию повтори теорию и посмотри FAQ! Просьба не кидайте задания в ЛС и не надо мне писать: "посмотри мою задачу!!!" Я смотрю все задачи в разделе когда на форуме
Учтите что подобные ЛС будут оставлены без внимания!
УКАЗЫВАЙТЕ ЯЗЫК ПРОГРАММИРОВАНИЯ НА КОТОРОМ ДОЛЖНА БЫТЬ РЕШЕНА ЗАДАЧА
Вам в помощь:
∫ ¼ ½ ¾ ⅓ ⅔ ⅛ ⅜ ⅝ ⅞ ² ³ ± ~ ‰ ∞ √ ∑ ∆ ℮ ∩ ≡ ≤ ≥ ≈ ∩

Оффлайн no_pachifisto

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: помогите в решение задачи по С++
« Ответ #3 : 07 Июня 2011, 10:38:17 »
Дана последовательность из n целых чисел. Найти сумму элементов с четными номерами из этой последовательности. помогите решить задачу в с++ пожалуйста

Оффлайн Данила

  • Глобальный модератор
  • *****
  • Сообщений: 1657
  • Математик-экстрасенс
    • Просмотр профиля
Re: помогите в решение задачи по С++
« Ответ #4 : 08 Июня 2011, 11:53:44 »
ну а в чем проблема? если остаток от деления индекса на 2 = 0, то прибавляем элемент к сумме, если остаток = 1, то ничего не делаем.
Просьба не кидать мне в ЛС Ваши задания...создаем тему,пишем свое задание,наработки\идеи...полностью и нахаляву ничего не решаю

Вам в помощь:
∫ ¼ ½ ¾ ⅓ ⅔ ⅛ ⅜ ⅝ ⅞ ² ³ ± ~ ‰ ∞ √ ∑ ∆ ℮ ∩ ≡ ≤ ≥ ≈ ∩

Оффлайн join two

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: помогите в решение задачи по С++
« Ответ #5 : 08 Июня 2011, 21:28:15 »
Лабораторная работа №1
Найти и сохранить в строке те слова последовательности , которые отличны от первого предварительно преобразовав каждое из них по следующему правилу : удалить из слов все последующие вхождения первой буквы. Все остальные слова удалить .
Т.е в тексте поменять А на Б и во всех словах где не поменяно их нуно удалить 

Лабораторная работа №2
Считая что год не высокосный и его 1 января приходится на день недели wd1 ,определить  -wd- день недели на которой  приходится день с датой D (day) , m (month) .
Т.е есть текст в нем содержится числа месяцев и сами месяцы  .  вводим с клавы 05 12 т.е декабрь вторник . типо того !!!

Помогите решить задачи заранее спасибо!