Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.04;
Скачать: CL | DM;

Вниз

В чём ошибка?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
15-1191594464
joke
2007-10-05 18:27
2007.11.04
Как человеку вежливо...


2-1192005087
kyn66
2007-10-10 12:31
2007.11.04
Полуошибка ???


2-1192110897
ИГОРЬ
2007-10-11 17:54
2007.11.04
Замена Yes No Cancel на Да Нет Отмена


3-1182932266
zz 5
2007-06-27 12:17
2007.11.04
Использование алиасов при Backup, FB1.5


2-1192368884
Blind Guardian
2007-10-14 17:34
2007.11.04
Странная штука с записью и чтением в и из файла