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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2011, 15:03   #1
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию С++ динамические строки

друзья мои... прошу о помощи...
вот собственно задание...
Массив из M строк по N символов каждая. Необходимо вывести только те строки, которые являются палиндромами, т.е. читаются одинаково слева направо и справа налево. При проверке строки необходимо определять ее длину с помощью функции strlen() (#include )

Код:
#include <iostream>
#include <conio.h>
#include <cstring>

int main(){
	int m,n,flag;
	printf("Vvedite M: ");
	scanf(" %d", &m);
	printf("Vvedite N: ");
	scanf(" %d", &n);
  char **a = new char *[m];
  for (int i = 0; i < m; i++)
	  a[i] = new char [n];
  for(int i = 0; i < m; ++i) // тут а[0] не записывается 
  { gets(a[i]); 
  } 
/*  for(int i = 0; i < m; ++i)  // здесь a[0] не выводится, и не потому что в коментах))) причина невиденья a[0] не известна мне...
  { printf("\n stroka %d: %s",i,a[i]);	 
  }
*/ 
  for (int i = 0; i < m; i++)
  {  flag = 0;
	for (int j = 0; j < strlen(a[i])%2; j++)
	{
		if (a[i][j] == a[i][strlen(a[i])-j-1])	
			flag++;
		if (flag == strlen(a[i])%2)
			printf("\n stroka %d: %s",i,a[i]);
	}
  }

  for (int i = 0; i < m; i++) free(a[i]);
		free(a);
 getch();
 return 0;
}
проблема в том, что не записывает и не выводит строку a[0] через цикл... но если полностью в ручную... то все в порядке...
P.S. вручную
Код:
strcpy(a[0],"lol");
printf("\n stroka 0 %s ",a[0]);
но если кто сделает функции то буду весьма благодарен...

сами функции...
Первая функция получает размерность массива, создает динамический массив и возвращает указатель на начало созданного массива.
Вторая – получает адрес массива и его размерность и решает одну из ниже перечисленных задач.
Третья функция получает адрес массива и его размерность и освобождает память, занятую массивом.
Размерность вводится с клавиатуры в функции main() и передается в первую функцию. Значения элементов вводятся с клавиатуры в первой функции.
пишу код не только за печеньки

Последний раз редактировалось VIK_aka_TOR; 08.11.2011 в 15:05. Причина: склероз)))
VIK_aka_TOR вне форума Ответить с цитированием
Старый 08.11.2011, 16:10   #2
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

А не проще ли отказаться от массивов char и использовать тип string? И, соответственно, взять "плюсовые" методы ввода/вывода, раз уж так?
Кстати, первая строчка не считывается именно из-за использования gets() после scanf(). Конец строки (\n), остающийся в буфере ввода после scanf() воспринимается gets() как пустая строка.
Можно, конечно, этот конец строки считать из буфера дополнительным gets(), но, по-моему, лучше переделать...
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 10.11.2011, 02:10   #3
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

благодарю за разъяснения...
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамические строки. проблема находа количества буквосочетания. Ykanakataka Паскаль, Turbo Pascal, PascalABC.NET 14 11.09.2011 22:26
Delphi 7; Динамические переменные + вектор + строки. iReqyz Помощь студентам 2 29.03.2011 11:21
Динамические структуры!!!! Oooooleg Помощь студентам 4 22.05.2009 14:15
Динамические масивы на с++ Olya90 Помощь студентам 5 21.04.2009 11:37
динамические строки SeregaPIF Общие вопросы C/C++ 1 19.11.2007 08:20