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

Не могу разобраться с указателями - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
FRATER1234
3 / 3 / 2
Регистрация: 01.10.2011
Сообщений: 224
12.10.2011, 17:57     Не могу разобраться с указателями #1
Здраствуйте все вот короче мне задали задачки на Си написать вот они собствено :
1.Даны два массива, упорядоченных по возрастанию: А[n] и B[m]. Сформируйте массив C[n+m], состоящий из элементов массивов А и В, упорядоченный по возрастанию.
2.Даны два массива : А[n] и B[m]. Необходимо создать третий массив, в котором нужно собрать:
- Элементы обоих массивов;
- Общие элементы двух массивов;
- Элементы массива A, которые не включаются в B;
- Элементы массива B, которые не включаются в A;
- Элементы массивов A и B, коотрые не являются общими дял них (то есть объединение результатов двух - предыдущих вариантов).
Помогите как и счего начать программу ?

 Комментарий модератора 
Не выделяем так больше, глаза болят.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.10.2011, 21:09     Не могу разобраться с указателями #21
Цитата Сообщение от FRATER1234 Посмотреть сообщение
Thinker,
cout это С++?? круто однако а он говорит что это норм )) якобы относиться к Си
Это из С++. В языке Си этого НЕТ, странный у вас преподаватель. Поэтому зря переделываете
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
aeshes
 Аватар для aeshes
437 / 200 / 13
Регистрация: 07.10.2011
Сообщений: 462
15.10.2011, 21:11     Не могу разобраться с указателями #22
Thinker, просто многие преподаватели реально не отличают С и С++

FRATER1234, так вам нужен cout в программе или нет? не могли бы вы поточнее определится с языком и средствами, которые из него можно использовать?
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.10.2011, 21:16     Не могу разобраться с указателями #23
Цитата Сообщение от aeshes Посмотреть сообщение
Thinker, просто многие преподаватели реально не отличают С и С++
Сам знаю такого
FRATER1234
3 / 3 / 2
Регистрация: 01.10.2011
Сообщений: 224
15.10.2011, 21:19  [ТС]     Не могу разобраться с указателями #24
aeshes,
Ну я так понимаю мне нужен cout просто я не знаю как сделать чтоб он переносил три масива на 3 строчки первый я понял примерно как но через endl он просто будет делать новые рядки чисел а как сделать чтоб как у Thinker, чтоб он выводил один массив и переносил другой массив ?
А нащёт этой путаницы в языках я просто не знал чесно что cout относиться к C++ ибо нас так уже приучили писать и подругому покачто ищо не могу )
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.10.2011, 21:21     Не могу разобраться с указателями #25
FRATER1234, сейчас помогу. А вы из какого города?
FRATER1234
3 / 3 / 2
Регистрация: 01.10.2011
Сообщений: 224
15.10.2011, 21:23  [ТС]     Не могу разобраться с указателями #26
С Украины города Луганска
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.10.2011, 21:26     Не могу разобраться с указателями #27
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
#include<iostream>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
using namespace std;
 
const int NA = 5;
const int NB = 7;
const int NC = 12;
 
void Init(int *a, int n)
{
   int i;
   a[0] = rand()%10;
   for(i = 1; i < n; i++)
      a[i] = a[i-1] + rand()%10;
}
 
void Print(int *a, int n)
{
   int i;
   for(i = 0; i < n; i++)
      cout << a[i] << " ";
   cout << "\n";
}
 
void Sort(int *a, int na, int *b, int nb, int *c, int *nc)
{
   int i, j, k;
   i = j = k = 0;
   while (i < na && j < nb)
      if (a[i] < b[j])
         c[k++] = a[i++];
      else
         c[k++] = b[j++];
 
   if (i < na)
      for(j = i; j < na; j++)
         c[k++] = a[j];
   else
      for(i = j; i < nb; i++)
         c[k++] = b[i];
   *nc = na + nb;
}
 
int main()
{
   int a[NA], b[NB], c[NC], nc;
   srand(time(NULL));
   Init(a, NA);
   Init(b, NB);
   Print(a, NA);
   Print(b, NB);
   Sort(a, NA, b, NB, c, &nc);
   Print(c, nc);
   getch();
   return 0;
}
FRATER1234
3 / 3 / 2
Регистрация: 01.10.2011
Сообщений: 224
15.10.2011, 21:36  [ТС]     Не могу разобраться с указателями #28
Thinker,
Благодарствую вам за оказаную помощь

Добавлено через 5 минут
А как понять тут функции делают?
C++
1
2
3
4
5
6
Init(a, NA);
   Init(b, NB);
   Print(a, NA);
   Print(b, NB);
   Sort(a, NA, b, NB, c, &nc);
   Print(c, nc);
ибо там функции указаны ведь
C++
1
void Sort(int *a, int na, int *b, int nb, int *c, int *nc)
C++
1
void Print(int *a, int n)
C++
1
void Init(int *a, int n)
Ведь пологике должно так быть Init(a,n) и всё также самое и с принт просто не могу понять почему так Init(a, NA); и Init(a, NB);
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.10.2011, 21:38     Не могу разобраться с указателями #29
Цитата Сообщение от FRATER1234 Посмотреть сообщение
Ведь пологике должно так быть Init(a,n) и всё также самое и с принт просто не могу понять почему так Init(a, NA); и Init(a, NB);
Это описание функций, а вызывать их можно и так Init(a, 3)
FRATER1234
3 / 3 / 2
Регистрация: 01.10.2011
Сообщений: 224
15.10.2011, 21:46  [ТС]     Не могу разобраться с указателями #30
аа вот тоесть если там будет написано кпримеру Init(a, 5); Init(b, 7); Print(a, 5); Print(b, 7) то всеравно будет правельно если я укзал те значение которые мы объявили в константах
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.10.2011, 21:48     Не могу разобраться с указателями #31
Цитата Сообщение от FRATER1234 Посмотреть сообщение
аа вот тоесть если там будет написано кпримеру Init(a, 5); Init(b, 7); Print(a, 5); Print(b, 7) то всеравно будет правельно если я укзал те значение которые мы объявили в константах
Конечно Можно указать меньшие значения, тогда обработаются части массивом
FRATER1234
3 / 3 / 2
Регистрация: 01.10.2011
Сообщений: 224
15.10.2011, 21:52  [ТС]     Не могу разобраться с указателями #32
Ага спс за разжовывание по программе и в помощи благодарствую я вот ищо такую штуку интересную нашол как
#include <algorithm>
...
// а - массив из N элементов
// b - массив из M элементов
// c - массив из N+M элементов
merge(a, a+N, b, b+N, c)
хочу попробывать сам сделать тока так )
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
15.10.2011, 21:57     Не могу разобраться с указателями #33
Цитата Сообщение от FRATER1234 Посмотреть сообщение
хочу попробывать сам сделать тока так )
успеете. пишите без STL пока.

Добавлено через 1 минуту
Thinker, у вас отсутствует возможность ЛС. у меня богатая библиотека по математике, я бы вам скинул содержание, может заинтересует что
FRATER1234
3 / 3 / 2
Регистрация: 01.10.2011
Сообщений: 224
15.10.2011, 21:57  [ТС]     Не могу разобраться с указателями #34
alkagolik,
А почему ведь онош проще как я смотрю не надо столько делать работы когда это в мещается всё в одно ведь меньше код и меньше писанины
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
15.10.2011, 22:01     Не могу разобраться с указателями #35
FRATER1234, откройте любой учебник и вы увидите что STL рассматривается после всего остального (базовых элементов). В любом случае как вы реализуете любой из алгоритмов STL на языке Си, например? Надо уметь писать эти алгоритмы самостоятельно, а научиться использовать их никогда не поздно.
aeshes
 Аватар для aeshes
437 / 200 / 13
Регистрация: 07.10.2011
Сообщений: 462
15.10.2011, 22:02     Не могу разобраться с указателями #36
FRATER1234, ну, использование таких алгоритмов как слияние и сортировка и в самом деле более оправдано, чем изобретение собственного велосипеда (разве что препод требует написать самостоятельно без использования STL или если пишите ради тренировки). А вот другие средства из STL - это уже не так просто, до их использования лучше потренироваться на чем-то попроще, руку набить, так сказать
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.10.2011, 22:05     Не могу разобраться с указателями #37
Цитата Сообщение от alkagolik Посмотреть сообщение
Thinker, у вас отсутствует возможность ЛС. у меня богатая библиотека по математике, я бы вам скинул содержание, может заинтересует что
А что такое ЛС?
aeshes
15.10.2011, 22:06
  #38

Не по теме:

Цитата Сообщение от Thinker Посмотреть сообщение
А что такое ЛС?
Это личные сообщения

Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.10.2011, 22:09     Не могу разобраться с указателями #39
А, понял, включил
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2011, 22:12     Не могу разобраться с указателями
Еще ссылки по теме:

C++ Не могу разобраться с указателями!
Как создать 2-ое дерево со значениями 1-го? Не могу разобраться с указателями C++
Разобраться с указателями и ссылками. Совсем запутался C++

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

Или воспользуйтесь поиском по форуму:
FRATER1234
3 / 3 / 2
Регистрация: 01.10.2011
Сообщений: 224
15.10.2011, 22:12  [ТС]     Не могу разобраться с указателями #40
хорошо постараюсь покачто потренироваться на более легких просто с циклами и массивами уменя беда чото наверно скорей всего то что я плохо усвоил уроки ( ну будем учиться) спс всем за помощь весьма благодарен
Thinker,
aeshes,
за разъяснение и помощь
и
alkagolik,
за подсказки в обученни )
Yandex
Объявления
15.10.2011, 22:12     Не могу разобраться с указателями
Ответ Создать тему
Опции темы

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