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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2015, 10:43   #1
yankel
Пользователь
 
Регистрация: 13.03.2014
Сообщений: 22
По умолчанию Задача, СИ, СТРОКИ

Требуется написать программу, которая бы выводила позицию слова с указанным номером. Вот, что написано мной:
Код:
#include <stdio.h>
#include <string.h>
#include <locale.h>
 
int word_pos(char *string, int number);
 
main()
{int n;
char s[100];
setlocale(LC_ALL, "");
printf ("Введите строку\n");
fgets(s,99,stdin);
printf ("Введите номер слова\n");
scanf("%d", &n);
printf("Позиция № %d", word_pos(s, n));
return 0;
}
int word_pos(char *string, int number)
{
 char *temp;
for(temp = string, --number ;temp, number ; number--)
    temp = strchr(temp, ' ');
return (temp==string) ? strlen(string)-strlen(temp)+1 : strlen(string)-strlen(temp)+2;
}
Программа работает, но не всегда верно. Подскажите, что не так.

Последний раз редактировалось yankel; 20.12.2015 в 23:08.
yankel вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача 1-реализована.Задача 2-Найти и вывести символы 2-ой строки не совпавшие с символами 1-ой строки Leshkin Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 12.11.2013 08:57
Задача на строки (С) S111S Помощь студентам 1 24.04.2013 22:05
Задача строки D1esel Помощь студентам 28 09.04.2013 19:11
Задача на строки. Даны две строки. Определить можно ли из символов первой строки получить вторую строку.( написать подпрограммой и ANTON1994 Паскаль, Turbo Pascal, PascalABC.NET 5 09.02.2013 14:07
Задача на строки NatawaB Паскаль, Turbo Pascal, PascalABC.NET 1 10.01.2011 07:50