Форум: "Прочее";
Текущий архив: 2007.11.04;
Скачать: [xml.tar.bz2];
ВнизВ чём ошибка? Найти похожие ветки
← →
cber (2007-10-01 22:12) [0](Си)
Нужно найти в строке второе вхождение заданного символа:#include "stdio.h"
#include "stdlib.h"
int main(int argc, char *argv[])
{
if (argc < 3) return 0;
char ch = *argv[1];
char *p;
int j = 0;
int i = 1;
for (p = argv[2]; *p != " "; p++)
{
i++;
if (*p == ch)
{
if (j == 1) break;
j++;
}
}
printf("Position - ");
printf("%d", i);
return 0;
}
← →
Вася Правильный (2007-10-01 22:21) [1]зацикливается?
← →
cber (2007-10-01 22:23) [2]for (p = argv[2]; *p != " \n "; p++)
← →
cber (2007-10-01 22:25) [3]опять ошибься:
for (p = argv[2]; *p != " \0 "; p++)
← →
palva © (2007-10-01 22:27) [4]А если второго вхождения символа нет, то что напечатает?
По-моему, неверный результат напечатает.
← →
Галинка © (2007-10-01 22:32) [5]ну а *p++ кто будет делать? Он же кроме первого символа, больше ничего и не сравнивает.
типа:int IndexOf(const char *src, char chr){
int i=0;
while(*src++){
if(*src == chr) break;
else i++;
}
if(*src != "\n" ||*src != "\0") return i;
else retur -1;
}
← →
cber (2007-10-01 22:40) [6]Всем спасибо, прошу меня извенить сам же ответил на свой вопрос в [2]..
← →
Zeqfreed © (2007-10-01 22:43) [7]
char *nthChar(char *str, char c, unsigned int skip)
{
if (c == 0 || *str == 0) return 0;
char *p = strchr(str, c);
if (skip)
return charPos(++p, --skip);
else
return p;
}
Вот как-то так. Проверять лень :)
← →
Zeqfreed © (2007-10-01 22:45) [8]> Zeqfreed © (01.10.07 22:43) [7]
Ай. Плохой из меня синтаксический анализатор вышел бы.char *nthChar(char *str, char c, unsigned int skip)
{
if (c == 0 || *str == 0) return 0;
char *p = strchr(str, c);
if (skip)
return nthChar(++p, c, --skip);
else
return p;
}
← →
homm © (2007-10-01 22:45) [9]> [0] cber (01.10.07 22:12)
> int main(int argc, char *argv[])
> {
> if (argc < 3) return 0;
***
> return 0;
> }
Надо же, не программа, а один сплошной комментарий :)
← →
Галинка © (2007-10-01 23:15) [10]int IndexOf(const char *src, char chr){
int i=0;
int IsFirst = 1;
do{
if (*src == chr) IsFirst--;
i++;
}
}while(*src++ != chr && IsFirst < 1)
i++;
if(*src != "\n" ||*src != "\0") return i;
else retur -1;
}
← →
1EDBD18E (2007-10-07 22:12) [11]От рук с повернутыми вниз ладонями опускались на тормансиан волны оцепеняющей
силы. Повинуясь монотонному напеву, Эвиза и Родис опустили руки, прижав их к бокам и
отставив ладони. Медленно и согласованно они начали вращаться, диковато и повелительно
глядя из-под насупленных бровей на зрителей. Они крутились, торжествующе поднимая руки.
Посыпались удары таинственных инструментов, созвучные добавила: замерли. Сжатые рты
обеих женщин приоткрылись, показав идеальные зубы, их сияющие глаза смеялись
победоносно. Они торжественно запели протяжный древний иранский гимн: «Хмельная и
влюбленная, луной озарена, в шелках полурасстегнутых и с чашею вина… Лихой задор в глазах
ее, тоска в изгибе губ!» Гром инструментов рассыпался дробно и насмешливо, заставив
зрителей затаить дыхание. Неподвижные тела из черного и зеленого металла вновь ожили. Не
сдвигаясь с места, они отвечали музыке переливами всех поразительно послушных и сильных
мышц. Как вода под порывом ветра, оживали внезапно и мимолетно руки и плечи, живот и
бедра. Эти короткие вспышки слились в один непрерывный поток, превративший тела Эвизы и
Родис в нечто неуловимое и мучительно притягательное. Музыка оборвалась.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.11.04;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.038 c