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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2010, 11:20   #1
katena88
Пользователь
 
Аватар для katena88
 
Регистрация: 25.10.2010
Сообщений: 41
Лампочка двумерный массив

Помогите выделить из двумерного массива 10 на 10 в отдельные массивы буквы латинского алфавита заглавные и прописные.
Руки программиста должны быть прямые, а извилины кривые, но не наоборот
katena88 вне форума Ответить с цитированием
Старый 08.12.2010, 11:33   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Код:
if (isalpha(a[i][j]))
 //Пишем символ a[i][j] в массив
P.S. Точнее, так:
Код:
if (isalpha(a[i][j]))
 {
 if (isupper(a[i][j]))
  //Пишем символ a[i][j] в первый массив
 else
  //Пишем символ a[i][j] во второй массив
 }
JeyKip, не надо изобретать велосипед - функции isalpha, isupper, islower и прочие не зря в стандарте есть.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же

Последний раз редактировалось Гром; 09.12.2010 в 05:58.
Гром вне форума Ответить с цитированием
Старый 08.12.2010, 18:03   #3
JeyKip
Форумчанин
 
Регистрация: 18.09.2009
Сообщений: 133
По умолчанию

Код:
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;

void main()
{
	char LowHiReg[52] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
	char LowReg[100];
	char HighReg[100];
	int t1=0, t2=0;

	setlocale(0,"");
	srand(time(NULL));
	char mas[10][10];
	for (int i=0; i<10; i++)
		for (int j=0; j<10; j++)
		{
			mas[i][j] = LowHiReg[rand()%52];
			for (int k=0; k<26; k++)
				if (mas[i][j] == LowHiReg[k])
				{
					LowReg[t1] = mas[i][j];
					t1++;
					break;
				}
				else if (mas[i][j] == LowHiReg[k+26])
				{
					HighReg[t2] = mas[i][j];
					t2++;
					break;
				}
		}

		LowReg[t1] = '\0';
		HighReg[t2] = '\0';

	for (int i=0; i<10; i++)
	{
		for (int j=0; j<10; j++)
			cout<<mas[i][j]<<" ";
		cout<<endl;
	}

	cout<<endl<<LowReg<<endl<<HighReg<<endl;
   
	getch();
}
JeyKip вне форума Ответить с цитированием
Старый 09.12.2010, 15:39   #4
JeyKip
Форумчанин
 
Регистрация: 18.09.2009
Сообщений: 133
По умолчанию

Цитата:
Сообщение от Гром Посмотреть сообщение
JeyKip, не надо изобретать велосипед - функции isalpha, isupper, islower и прочие не зря в стандарте есть.
да я в курсе... просто когда мы только начинали учить язык на аналогичных примерах, нам нельзя было использовать стандартные функции подобного типа...думаю, это такой же случай...!!
JeyKip вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный массив qwertyuiop12 Паскаль, Turbo Pascal, PascalABC.NET 4 19.05.2010 21:42
двумерный массив! euhenia Помощь студентам 5 08.12.2009 22:49
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40
Двумерный массив Лоя Помощь студентам 10 20.04.2009 19:56
Двумерный массив... Seriy8888 Паскаль, Turbo Pascal, PascalABC.NET 1 24.12.2008 21:26