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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2011, 19:48   #1
Veronik@
Пользователь
 
Регистрация: 24.10.2010
Сообщений: 27
Сообщение стеки

Добрый вечер!!

у меня такое задание.... Создать два стека для символов. Максимальный размер стеков вводится с экрана. Создать функции для ввода и вывода элементов стека. Вводить символы с экрана. Прописные буквы преобразуются в строчные и попадают в первый стек, строчные преобразуются в прописные и попадают во второй, остальные символы пропускаются.

первую часть задания я могу сделать..но написать условие для преобразования у меня не получается...
помогите пожалуйста..

вот мой код:
Код:
#include "conio.h"
#include "stdio.h"
#include "stdafx.h"
struct stack{
char c[10];
stack *next;
};
int main(){
stack *top,*p1;
int n;

top=0;
printf("Size of stack: ");
scanf("%d",&n);
for(;n;n--){
p1=new stack;
scanf("%s",&p1->c);
p1->next=top;
top=p1;
}

printf("Elements:\n");
p1=top;
while(p1){
printf("%s ",p1->c);
p1=p1->next;
}


delete(p1);
delete(top);
return 0;
}

Последний раз редактировалось Stilet; 20.05.2011 в 21:08.
Veronik@ вне форума Ответить с цитированием
Старый 20.05.2011, 21:33   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Предлагаю свое видение данной ситуации:
Код:
// Стек.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include "conio.h"
#include <stdlib.h>
#include <ctype.h>
#include <locale>

struct stack{
	char Symbol;
	stack *prev;
};



stack* InSymbol(char c,stack* esp){stack *s=new stack; s->prev=esp;s->Symbol=c; return s;}

int _tmain(int argc, _TCHAR* argv[])
{
	
stack *top1=0,*p1=0,*top2=0,*p2=0;
int n;
printf("Size of stack: ");scanf("%d",&n);
for(;n;n--){ char c;
	c=getch();printf("%c",c);
	if(islower(c))	top2=InSymbol(toupper(c),top2); else top1=InSymbol(tolower(c),top1);
	if(!p1) {p1=top1;};if(!p2) {p2=top2;};
}

printf("\nElements:\n");
for(;top1;top1=top1->prev)	printf("%c ",top1->Symbol);printf("\n");
for(;top2;top2=top2->prev)	printf("%c ",top2->Symbol);

p1=top1;while(p1){p1=top1->prev;	delete top1;};
p2=top2;while(p2){p2=top2->prev;	delete top2;};

printf("\n");
system("pause");
	return 0;
}
VS2010Beta.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стеки в Си Edemchik Помощь студентам 1 01.05.2011 21:51
стеки ANGELO4EK Паскаль, Turbo Pascal, PascalABC.NET 1 16.03.2011 08:20
Стеки на С++ innaa639 Помощь студентам 2 14.10.2010 10:05
Стеки в Си n4sfe Помощь студентам 0 28.11.2009 13:49
Стеки olli Общие вопросы C/C++ 7 13.11.2009 15:27