HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 12.06.2008, 01:56
z01b
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме:
2360904

Репутация: 1393


По умолчанию

Цитата:
Сообщение от procedure  
Mojet bit nujno "c" sdelat char?
нет, там все окей с присваивается код введенного символа.
 
Ответить с цитированием

  #2  
Старый 12.06.2008, 01:56
Delimiter
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме:
2187381

Репутация: 518
По умолчанию

нет getchar возвращает int , на случай скан-кодов со времен Dos
так уж клавиатура устроена что количество кодов которое она может выдать больше чем 255!

попробуй понять мою строку
for(i=0;(array[i]=(char )getchar())!=EOF;i++)
....
 
Ответить с цитированием

  #3  
Старый 12.06.2008, 02:05
procedure
Banned
Регистрация: 22.12.2007
Сообщений: 660
Провел на форуме:
3885269

Репутация: 1158


По умолчанию

Цитата:
i++
a est ved raznica mejdu ++i; and i++; V kingie bilo napisano chto ++i; eto increment. A ostalnoe xz potom obyasnyat*)))))))
Цитата:
(array[i]=(char )getchar())!=EOF
eto ya ponyal tak, v massiv dobavlyautsa dannie poka idet vvod i poka virajenie ne ravno EOF.

v obshem seihas poprobuu.
 
Ответить с цитированием

  #4  
Старый 12.06.2008, 03:09
klown
Новичок
Регистрация: 20.03.2008
Сообщений: 12
Провел на форуме:
112695

Репутация: 8
По умолчанию

Цитата:
Сообщение от procedure  
a est ved raznica mejdu ++i; and i++; .
ну это стандартно, что ++i сперва инкрементируется а потом используется а i++ сперва используется а потом инкрементируется..

Последний раз редактировалось klown; 12.06.2008 в 03:19..
 
Ответить с цитированием

  #5  
Старый 12.06.2008, 02:07
procedure
Banned
Регистрация: 22.12.2007
Сообщений: 660
Провел на форуме:
3885269

Репутация: 1158


По умолчанию

t.e. etu stroku nujno ispolzovat vmesto while?
 
Ответить с цитированием

  #6  
Старый 12.06.2008, 02:15
Delimiter
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме:
2187381

Репутация: 518
По умолчанию

i++ и ++i
отличаются тем когда должно быть увеличение i
i++ после текущей ситуации
++i до текущей ситуации

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

for(i=0;(array[i]=(char )getchar())!=EOF;i++)
{
switch(array[i])
{
case '\t':
case '1':
case '2':
case '3':
case '4':
case '5': i--; //фильтруются все символы от 1 до 5 и табуляции
} // за счет смещения текущего положения счетчика цикла
}
array[i]=0; //все строки в С должны завершаться нулем
printf("%s",array) // при указании массива без индексов берется его адрес

Последний раз редактировалось Delimiter; 12.06.2008 в 02:18..
 
Ответить с цитированием

  #7  
Старый 12.06.2008, 02:16
procedure
Banned
Регистрация: 22.12.2007
Сообщений: 660
Провел на форуме:
3885269

Репутация: 1158


По умолчанию

Код:
#include <stdio.h>

main()
{
	int c, nl, t, space, n, i, l;
	char array[100];
	nl = c = t = space = n = 0;
	
	
	for (i = 0; i < 100; ++i) {
		array[i] = 0;
	}
	
	i = 0;
	for(i=0;(array[i]=(char )getchar())!=EOF;i++) {
		if (array[i] == '\n') {
			
			printf("\nSymbol: ");
			
			for (l = 0; l < i; ++l) {
				printf("%d ", array[l]);
			}
			printf("\nTab: %d\nSpace: %d\nNumber: %d\n", t, space, n);
			break;
		}
		else if (c == '\t') {
			++t;
		}
		else if (c == ' ') {
			++space;
		}
		else if (c >= '0' && c <= '9') {
			++n;
		}
	}
}
ya perepisal kod nemonogo podrugomu, On vse ravno vidaet takoi resultat:
Цитата:
[root@procedure /tmp/programming]# cc cpstring.c
cpstring.c:62:4: warning: no newline at end of file
[root@procedure /tmp/programming]# /tmp/programming/a.out
sadfg

Symbol: 115 97 100 102 103
Tab: 0
Space: 0
Number: 0
[root@procedure /tmp/programming]#
 
Ответить с цитированием

  #8  
Старый 12.06.2008, 02:21
z01b
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме:
2360904

Репутация: 1393


По умолчанию

>>
ya perepisal kod nemonogo podrugomu, On vse ravno vidaet takoi resultat

ну дык, а какой тебе результат нужен, если у тебя нету знака табуляции, новой строки и т.д.?

Последний раз редактировалось z01b; 12.06.2008 в 22:56..
 
Ответить с цитированием

  #9  
Старый 12.06.2008, 02:23
procedure
Banned
Регистрация: 22.12.2007
Сообщений: 660
Провел на форуме:
3885269

Репутация: 1158


По умолчанию

ya ehe ot seba dobavil case '\n': break; chtob is programmi vihodit bilo mojno, t.e. iz cikla.
no on chto to ne vihodit....sori ya swith prosto ehe ne prohodil...
 
Ответить с цитированием

  #10  
Старый 12.06.2008, 02:29
Delimiter
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме:
2187381

Репутация: 518
По умолчанию

в цикле for //// ты должен считать

а уж по окончании выдавать результаты , а ты при первом же нахождении
кода "возврата строки" пытаешься напечатать!

Код:
t=space=n=0;
for(i=0;(array[i]=(char )getchar())!=EOF;i++)
{
   if(array[i]=='\t')
      t++; 
   if(array[i]>='0' && array[i]<='9')
      n++;
   if(array[i]==' ')
      space++;
}
array[i]=0; //все строки в С должны завершаться нулем
printf("Symbol:%s\r\n",array); // при указании массива без индексов берется его адрес
printf("Tab:%d\r\n",t);
printf("Space:%d\r\n",space);
printf("Number:%d\r\n",n);

Последний раз редактировалось Delimiter; 12.06.2008 в 02:40..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часто задаваемые вопросы по MySQL Серый PHP 5 28.12.2006 18:26
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ