C: несколько задач - Proxy-Base Community - Анонимность и безопасность в интернете.
Бесплатные прокси. Количество:
Прокси для пользователей форума (API). Количество:
Купить доступ к прокси-листам (API). Количество:
 



Информация по хайдам / репутации

(РЕКОМЕНДУЮ) №1 >>>DDos Атака<<|>>DDoS Service<<< ДДОС СЕРВИС<<|>>Заказать DDOS
Бесплатные прокси уже в Telegram
Все инфопродукты и приватная информация бесплатно
Старый 17.01.2013, 21:01   #1 (permalink)
HTTP
 
Регистрация: 26.04.2012
Сообщений: 11
Member ID: 26979
ICQ 8900476
Skype kir55rus

Репутация: 93
Репутация: 93
Сказал(а) спасибо: 24
Поблагодарили 31 раз(а) в 5 сообщениях
Топикстартер (автор темы) По умолчанию C: несколько задач

Привет всем. Только начал учить СИ. Возникло несколько задач, прошу помочь их решить


1. Считать входные данные
int N = [1; 31]; // то есть от целое число от 1 до 31 включительно
int d[N]; // массив, в котором N элементов
scanf("%d %d %d ...", &d[0], &d[1], &d[2]...&d[N]); //то есть на выходе должен получиться массив. Количество элементов массива = N. Следует, что %d должно быть написано N раз, и то же с &d[..]

2. Преобразовать строку в массив
char s[5] = "1 3 5";

нужно из этой строки получить массив:
int n[3] = {1,3,5}

на php для этого можно использовать explode. для СИ подобного не нашел...


Заранее благодарен за ответы
user765 вне форума   Ответить с цитированием
Старый 19.01.2013, 22:13   #2 (permalink)
HTTP
 
Регистрация: 18.01.2013
Сообщений: 30
Member ID: 33597

Репутация: 69
Репутация: 69
Сказал(а) спасибо: 25
Поблагодарили 23 раз(а) в 10 сообщениях
По умолчанию Re: C: несколько задач

Если еще актуально, то попробую вспомнить C

По поводу второй задачи:

Во-первых
char s[5] = "1 3 5";
Не совсем правильно
Надо так char s[6] = "1 3 5";

Поскольку в C строки null-terminated, т.е. последним в строке БУДЕТ нулевой символ. Соответсвенно ваша строка займет 6 байт (будем считать char байтом), а у вас выделено место под 5 байт, значит можете попортить данные.

Дальше. Функция explode в PHP если не изменяет память просто извлекает данные разделенные определенным символом в массив, у вас же, насколько я понял идет извлечение и преобразование, поскольку используется массив с типом int.

Поэтому, написал код, насколько понял условие, если не то, извиняйте . Программа получает на вход строку вида "ЦИФРА ЦИФРА ЦИФРА ..." и преобразовывает в числовой массив (с ними можно проделывать все арифметические операции, в коде это показал). Работает только с цифрами (не числами, хотя все можно переделать). Проверки на доступность памяти и другие ошибки не делал.

Код:
#include <stdio.h>
#include <stdlib.h>

int *explode(char *);

void main() {
	char *str = "1 3 5 7 9 8 2 7 6 5";	/* Пусть, например, так */
	int *arr = 0;

	arr = explode(str);
	
	/* Примеры */
	printf("%d\r\n", arr[7]);
	printf("%d\r\n", arr[2]);
	printf("%d\r\n", arr[2] + arr[7]);
	printf("%d\r\n", (arr[4] + arr[6]) * arr[9]);

	free(arr);	/* Освобождаем память */

	return;
}

int *explode(char *str) {
	int len = 0;
	int *intArr = 0;
	char *cx = str;

	/* Подсчет цифр в строке */
	while (*cx) {						
		if (*cx >=48 && *cx <= 57) 
			len++;
		cx++;
	}	
	
	/* Выделяем необходимую память, вообще можно и char поскольку мы используем только цифры */
	intArr = (int *)malloc(len * sizeof(int));	
	
	while (*str) {
		if (*str >=48 && *str <= 57) {
			int a =  *str - 48;
			*intArr++ = a;
		}
		str++;
	}

	intArr -= len; /* Вернем указатель на прежнее место */
	
	return intArr;
}
Код протестил, работает
imgr8 вне форума   Ответить с цитированием
Ответ

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Вкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Диспетчер Задач ПАЛИТ Smirnof Флейм 4 03.12.2012 01:53
Несколько кейлоггеров Puch SOFT (Варезник) 0 25.08.2012 15:46
Несколько новых вопросов moden Proxy FAQ | Что такое прокси и как ими пользоваться 5 11.01.2012 03:17
АЛГЕБРА 9 класс ИТОГОВАЯ АТТЕСТАЦИЯ 2011, Решения задач по белой книжке (Шестаков-Яще dark32 Флейм 6 29.05.2011 16:01
Прячим вкладку пользователи в диспетчере задач kilativ Работа с дедиками 6 21.10.2010 10:14




DDoS Protected




Мы в твиттере, Proxy-Base.Org Twitter

Proxy-Base Community - Анонимность и безопасность в интернете.
Наши партнеры: CRC Labs, SEO-Crack.Com, Garsuk.Com, SED Team, Skladchik.com, BSS Family

Powered by vBulletin® | Булка сделана в пекарне®
Copyright © 2000 - , Jelsoft Enterprises Ltd. Перевод: zCarot
Вся информация на сайте выложена исключительно в ознакомительных целях.