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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2010, 17:46   #1
kseshenka
Пользователь
 
Регистрация: 16.10.2010
Сообщений: 12
Вопрос одномерные массивы в С++

мне поставили задачу, написать программу которая выводит одномерный массив, количество элементов в котором вводит пользователь. Как я могу это осуществить корректно, если я при описании обязана задать количестов элементов.
и еще, мне говорили что-то про оператор "new"
но я не могу до конца понять, немного каким образом его использовать.
Помгите пожалуста.
kseshenka вне форума Ответить с цитированием
Старый 27.10.2010, 17:53   #2
Onekey
Пользователь
 
Регистрация: 07.08.2010
Сообщений: 48
По умолчанию

эм. в Delphi я бы сделал так

var
a:array of integer;
b,i:integer;
begin
b:=inttostr(Edit1.Text);
SetLength(a,b);
for i:=0 to length(a) do
Memo1.Limes.Add:=a[i];
end;


Ну а ж в C++ по анологии думаю ( хотя хз, в Си не работал)

Последний раз редактировалось Onekey; 27.10.2010 в 17:56.
Onekey вне форума Ответить с цитированием
Старый 27.10.2010, 19:54   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,770
По умолчанию

Цитата:
и еще, мне говорили что-то про оператор "new"
Правильно вам говорите. Гуглите и читайте.
p51x вне форума Ответить с цитированием
Старый 27.10.2010, 20:22   #4
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

Код:
void Parser(char *s, double *m, int _N) {
  int i = 0, j = 0, h = 0;
  char tmp[10];
  do {
    if (s[i] == ' ') {
      strncpy(tmp, s + j, i - j);
      tmp[i - j] = '\0';
      m[h++] = atof(tmp);
      j = i + 1;
    }
    i++;
  } while (s[i] != '\0');
  strncpy(tmp, s + j, i - j);
  tmp[i - j] = '\0';
  m[h] = atof(tmp);
}

int main() {
  double *matr;
  printf("Enter dimension matrix:\n");
  scanf("%u", &N);
  matr = new double [N];
  printf("Fill matrix nums in string with space:\n");
  gets(tmp);
  Parser(tmp, matr, N);
  printf"\n\n");
  for (int i = 0; i < N; i++) {
    printf("%4.3f ", matr[i]);
  }
  
  _flushall();
  getchar();
  return 1;
}
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]
RUSt88 вне форума Ответить с цитированием
Старый 28.10.2010, 00:19   #5
__Demon__
Пользователь
 
Аватар для __Demon__
 
Регистрация: 13.08.2009
Сообщений: 37
По умолчанию

Пример:
Код:
#include <iostream>
#include <stdlib.h>

int main()
{
	// Динамическое выделение памяти под
	// массив размером 10 элементов
	int *a = new int[10];

	// Освобождение динамической памяти
	delete [] a;

	return 0;
}
__Demon__ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
одномерные массивы Crazy123 Помощь студентам 0 04.05.2010 13:53
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12
Одномерные массивы spiritknight Microsoft Office Excel 8 18.12.2009 15:53
Одномерные массивы hohol90 Помощь студентам 4 30.11.2009 17:12
Одномерные массивы Repz1992 Помощь студентам 1 10.11.2009 18:05