Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с задачами на С, Несколько задач 
:(
    Опции темы
Razi
Дата 16.11.2005, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 16.11.2005

Репутация: нет
Всего: нет



1. Ввести строку, подсчитать количество слов заданной длины.
2. Написать функцию нахождения в массиве целых чисел разности индексов максимального и минимального элементов.(тоесть разность порядкового номера большего элемента и порядкового номера меньшего элемента)
3. Ввести строку. Вывести слова, в которых каждая буква входит не менее двух раз.

Заранее спасибо!
PM MAIL   Вверх
banich
Дата 16.11.2005, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 16.11.2005

Репутация: нет
Всего: нет



Ну не знаю, задачки очень лёгкие, может сам подумаешь?

1 Просто отсчитываешь количество символов от пробела до пробела, и записываешь, если сошлось

2 Найди индексы для обоих
Код

int max=mas[0]; 
int max_index=0;
for(int i; i<n; i++)
{
     if(max < mas[i])
     {
         max=mas[i];
         max_index=i;
     }
}

потом вычти

В 3-й лучше напиши функцию проверки кол-ва одинаковых букв,
остальное почти как в 1-м

PM MAIL ICQ   Вверх
nikitao
Дата 16.11.2005, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

Репутация: 1
Всего: 26



Razi,на будущее, если вы просите помочь и пишете в ветку с языком, не просите написать программу за вас. Приводите свои наработки, спрашивайте что непонятно, но не просите за вас написать программу с нуля, дав только задание.
Если все же надо чтобы за вас, ее написали с нуля (по уважительной причине) пишите в ветку " Центр помощи ". Там пишут с нуля за спасибо smile



--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
Razi
Дата 16.11.2005, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 16.11.2005

Репутация: нет
Всего: нет



Спасибо огромное, по программам у меня есть свои наработки, только в первой, счетчик слов, считает слова, но вот выводит все до количества слов!
Код

#include <stdio.h>
#include <conio.h>
main()
{
    int c,i,r,t;
    char s[100];
    printf("Size: ");
    scanf("%d",&r);
    i=0;
    t=0;
    while((c=getchar())!=EOF||(c=getchar())!='q')
  {        
        if(c ==' '||c=='\n'||c=='\t')
        {                
            if(i == r)
            {   s[i]='\0';
                ++t;
                printf("%d ",t);
            }
            i = 0;

        }
        else
        {
            s[i] = c;
            ++i;
        }    
    }
}

Во второй, вообще, максимальный элемент найти не может!
Код

scanf("%d",&c);
    while((c=getchar())!='\n'){
        mass[i]=(char)c;
        i++;}
    z=mass[0];
    for(j=1;j!=i;j++){
        if (z<mass[j])
        {z=mass[j];
        k=j;}

А в третей вообще завал, на каком-то форуме читал (возможно даже тут) про аналогичный случай, но у меня так ничего и не получилось(наверно ручки пока не оттуда растут)
PM MAIL   Вверх
darkart
Дата 16.11.2005, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 379
Регистрация: 9.11.2005

Репутация: 2
Всего: 31



First:
Код

#include<stdio.h>
#include<string.h>
int main()
{
        const int MaxLength=100;//max длина вводимого текста
        char Text[MaxLength];
        printf("Please enter a text:\n");
        gets(Text);
        int l=strlen(Text),i=0,k=0,num=0,wl;
        printf("Please enter a word length:\n");
        scanf("%d",&wl);
        while(i<l)
        {
                while(i<l&&Text[i]==' ')i++;//все пробелы - пробрасываем
                k=0;//обнуление счетчика букв в новом слове
                while(i<l&&Text[i]!=' ')//считаем буковки
                {
                        k++;
                        i++;
                }
                if(k==wl)num++;//если длины совпадают то ув. кол-во слов
        }
        printf("Result:%d\n",num);
        return 0;        
}

Second:
Код

#include<stdio.h>
const int SIZE=5;//размерность массива
void InputArray(int Array[])
//ввод массива
{
        for(int i=0;i<SIZE;i++)
                scanf("%d",&Array[i]);
}
void PrintArray(int Array[])
//печать массива
{
        for(int i=0;i<SIZE-1;i++)
                printf("%d ",Array[i]);
        printf("%d\n",Array[SIZE-1]);
}
int FindFirstMaxIndex(int Array[])
//поиск индекса первого max элемента
{
        int max=Array[0],index=0;
        for(int i=1;i<SIZE;i++)
                if(Array[i]>max)
                {
                        max=Array[i];
                        index=i;
                }
        return index;
}
int FindFirstMinIndex(int Array[])
//поиск индекса первого min элемента
{
        int min=Array[0],index=0;
        for(int i=1;i<SIZE;i++)
                if(Array[i]<min)
                {
                        min=Array[i];
                        index=i;
                }
        return index;
}
int DifferenceIndexes(int Array[])
//функция нахождения нужной разности
{
        return FindFirstMaxIndex(Array)-FindFirstMinIndex(Array);
}
int main()
{
        int Array[SIZE];
        printf("Please enter array with %d elements:\n",SIZE);
        InputArray(Array);
        printf("Source array:\n");
        PrintArray(Array);
        printf("Result:%d\n",DifferenceIndexes(Array));
        return 0;
}

Third:
Код

#include<stdio.h>
#include<string.h>
void PrintWord(char Word[],int number)
{
        for(int i=0;i<number-1;i++)
                printf("%c",Word[i]);
        printf("%c\n",Word[number-1]);
}
int main()
{
        const int MaxLength=100;//max длина
        char Text[MaxLength],Word[MaxLength];
        printf("Please enter a text:\n");
        gets(Text);
        int l=strlen(Text),i=0,k=0,num,m;
        printf("Result:\n");
        while(i<l)
        {
                while(i<l&&Text[i]==' ')i++;
                k=0;
                while(i<l&&Text[i]!=' ')
                {
                        Word[k]=Text[i];
                        k++;
                        i++;
                }
                if(k>1)
                {
                        m=0;
                        do
                        {
                                num=0;
                                for(int n=0;n<k;n++) 
                                    if(Word[n]==Word[m])num++;
                                m++;
                        }
                        while(num>1&&m<k);
                        if(m==k)PrintWord(Word,k);
                }
        }
        return 0;        
}


Это сообщение отредактировал(а) darkart - 16.11.2005, 23:46
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1640 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.