Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2011, 22:09   #1
VIPchk
 
Регистрация: 15.03.2011
Сообщений: 8
Вопрос Массивы.

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

Вот что я написал:
#include <conio.h>
#include <stdio.h>
#include <math.h>

main() { clrscr();
int n,k,i;
int a[64],b[64];
int diln,dilk;
puts("Vvedit 2 int chusla");
scanf("%i%i",&n,&k);
printf("n=%i k=%i\n",n,k);

diln=1;
for (i=0; i<n; i++) {
if (fmod(n,diln)==0) { printf("%i \n",diln); a[i]=diln;}
diln++; }

dilk=1;
for (i=0; i<k; i++) {
if (fmod(k,dilk)==0) { printf(" %i \n",dilk); b[i]=dilk;}
dilk++; }

//вывод масива а
for (i=0; i<n;i++)
printf("%d ",a[i]);

printf("\n");
// вывод масива b
for (i=0; i<k;i++)
printf("%d ",b[i]);
getch();
return 0; }
Мои масивы заполняет чем то левим.Помогите,очень нужно!

Последний раз редактировалось VIPchk; 15.03.2011 в 23:12.
VIPchk вне форума Ответить с цитированием
Старый 16.03.2011, 09:41   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

1. Используйте для оформления кода на форуме тег CODE
2. Определить, делится ли целое число a на целое число b можно так:
Код:
if (a % b == 0)
  std::cout << "Делится";
else
  std::cout << "Не делится";
Это для начала. Оформите код как надо - посмотрим дальше.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 16.03.2011, 17:20   #3
VIPchk
 
Регистрация: 15.03.2011
Сообщений: 8
Злость

Сделал 2 массива, делители 2 введенных чисел, но никак не могу общие элементы из этих 2 массивов записать в 3 массив, вот код:

Код:
#include <conio.h>
#include <stdio.h>
#include <math.h>

main() { clrscr();
int n,i,k;
int a[64],b[64];
int diln,dilk;
puts("Vvedit 2 int chusla");
scanf("%i%i",&n,&k);
printf("n=%i\n k=%d\n",n,k);
a[0]=0;
for (i=1; i<(n+1); i++)
if (fmod(n,i)==0)  a[i]=i;
else a[i]=0;
puts("Masuv z 0 diln chusla n mae vuhliad");
for (i=0; i<(n+1);i++)
printf("%d ",a[i]);

b[0]=0;
for (i=1;i<(k+1);i++)
if(fmod(k,i)==0) b[i]=i;
else b[i]=0;
printf("\nMasuv z 0 chusla k mae vuhliad\n");
for(i=0;i<(k+1);i++)
printf("%d ",b[i]);

	int r=0,t=0;

  printf("\n\n");

for(int j=0;j<n;j++)
for(i=0;i<n;i++)
if(a[i]==0){a[i]=a[i+1];a[i+1]=0;}
printf("\n\n");

for(i=0;i<n;i++)
if(a[i]!=0)t++;
printf("\nMasuv dilnukiv chusla %i mae vuhliad\n",n);
for (i=0;i<t;i++)
printf("%d ",a[i]);

for (j=0;j<k;j++)
for (i=0;i<k;i++)
if(b[i]==0) {b[i]=b[i+1]; b[i+1]=0;}

for(i=0;i<k;i++)
if (b[i]!=0)r++;

printf("\n\nMasuv dilnukiv chusla %i mae vuhliad\n",k) ;
for(i=0;i<r;i++)
printf("%d ",b[i]);

int  max,min;
(t>r)?(max=t):(max=r);
(t>r)?(min=r):(min=t);
printf("\nmax=%d\n min=%d\n",max,min);

int c[64];        //вот тут и проблемка большая//
printf("\n");
c[0]=1;
for (i=1;i<max;i++){
for (j=0; j<=r;j++)
if (a[i]==b[j])  c[i]=a[i];
}

for (i=0;i<=max;i++)
printf("%i ",c[i]);

getch();
return 0; }
Помогите зделать до конца!!!

Последний раз редактировалось VIPchk; 16.03.2011 в 17:25.
VIPchk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы vbchristy46 Помощь студентам 4 15.06.2010 16:28
Динамические массивы и массивы варианты N@stya Помощь студентам 0 11.06.2010 21:09
С++, Массивы, динамические массивы. -Sunshine- Помощь студентам 1 19.04.2010 02:17
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
массивы -ushёl- Помощь студентам 6 01.03.2009 17:49