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

Выход за границы. как исправить??? - C++

Восстановить пароль Регистрация
 
enotik
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 147
06.12.2010, 00:09     Выход за границы. как исправить??? #1
Суто проги в том, чтобы из 2х массивов создать третий элементами которого я вляются совпавшие элементы первых 2х
Например:
1 2 3 4 5
7 5 2 9 8
третий массив: 2 5

Прога работает, НО при выводе результатов появляются огромные числа вместе с результатом, как мне сказали, здесь проблема с границами. как исправить??? Подскажите пожалуйста!!!?


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
# include "stdio.h"
void main ()
{ int x[100],y[100],z[100],n,i,g,f,j,e=0,k;
printf ("enter kolichestvo elementov massiva1:\n");
scanf ("%d",&n);
for (i=0;i<n;i++)
{printf ("elementi massiva1: ");
scanf ("%d",&x[i]);};
printf("Vvedite kolichestvo elementov massiva2:\n");
scanf ("%d",&k);
for (j=0;j<k;j++)
{printf ("VVedite elementi massiva2:");
scanf ("%d",&y[j]);
};
for (i=0;i<n;i++)
for (j=0;j<k;j++)
{
if (x[i]==y[j]) {e++,z[i]=x[i];};
};
if (!e) {printf("V massivax net povtorov\n");};
for (i=0;i<e;i++)
printf("%   d",z[i]);
printf("\n");
for (i=0;i<e;i++)
printf("%   d",z[i]);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Crudelis
Шаровик затейник
 Аватар для Crudelis
667 / 409 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
06.12.2010, 00:15     Выход за границы. как исправить??? #2
C++
1
if (x[i]==y[j]) {z[e]=x[i];e++;};
попробуй так
enotik
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 147
06.12.2010, 00:59  [ТС]     Выход за границы. как исправить??? #3
даддада!))))
СПАСИБО БОЛЬШОЕ!!!))

Добавлено через 13 минут
а хотя нет, оно работает, но неправильно, потому что получается массив от количества повторов а не от них самих((
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
06.12.2010, 01:08     Выход за границы. как исправить??? #4
?
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
# include "stdio.h"
void main ()
{ int x[100],y[100],z[100],n,i,g,f,j,e=0,k;
printf ("enter kolichestvo elementov massiva1:\n");
scanf ("%d",&n);
for (i=0;i<n;i++)
{printf ("elementi massiva1: ");
scanf ("%d",&x[i]);};
printf("Vvedite kolichestvo elementov massiva2:\n");
scanf ("%d",&k);
for (j=0;j<k;j++)
{printf ("VVedite elementi massiva2:");
scanf ("%d",&y[j]);
};
int t=0;
for (i=0;i<n;i++)
for (j=0;j<k;j++)
{
if (x[i]==y[j]) 
{   e++; 
    z[t]=x[i];
    ++t;
}
}
if (!e) {printf("V massivax net povtorov\n");};
for (i=0;i<e;i++)
printf("%   d",z[i]);
printf("\n");
}
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
06.12.2010, 01:09     Выход за границы. как исправить??? #5
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 "stdio.h"
#include <conio.h> 
int main ()
{ int x[100],y[100],z[100],n,i,g,f,j,e=0,k1=0,k;
printf ("enter kolichestvo elementov massiva1:\n");
scanf ("%d",&n);
for (i=0;i<n;i++)
{printf ("elementi massiva1: ");
scanf ("%d",&x[i]);}
printf("Vvedite kolichestvo elementov massiva2:\n");
scanf ("%d",&k);
for (j=0;j<k;j++)
{printf ("VVedite elementi massiva2:");
scanf ("%d",&y[j]);
}
for (i=0;i<n;i++)
for (j=0;j<k;j++)
{
if (x[i]==y[j]) {e++,z[k1]=x[i];k1++;}
}
if (!e) {printf("V massivax net povtorov\n");}
for (i=0;i<e;i++)
printf("%   d",z[i]);
printf("\n");
getch();
return 0;
}
Yandex
Объявления
06.12.2010, 01:09     Выход за границы. как исправить???
Ответ Создать тему
Опции темы

Текущее время: 01:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru