Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/22: Рейтинг темы: голосов - 22, средняя оценка - 4.91
2 / 2 / 0
Регистрация: 12.01.2011
Сообщений: 43
1

Ввести строку, вывести слово, содержащее наибольшее количество гласных букв

04.02.2011, 17:55. Показов 4187. Ответов 3
Метки нет (Все метки)

Привет Ребят,мне нужно сделать лабораторную по информатике,вот что мне надо

Ввести строку, вывести слово, содержащее наибольшее количество
гласных букв.

У меня есть код этой программы написанной на C# может кто то сможет мне перевести этот код в С или просто написать Заранее Благодарна Вам

Вот код C#

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace RuVowels
{
    class Program
    {
        static void Main(string[] args)
        {
            const string ruVowels = "АаЕеЁёИиОоУуЫыЭэЮюЯя";
            string str;
 
            Console.Write("Строка: ");
            str = Console.ReadLine();
 
            string[] words = str.Split(new Char[] { ' ', '\t', ',', '.', '!', '?' });
            int cntWords = words.Length;
            int[] counters = new int[cntWords];
            for (int i = 0; i < cntWords; ++i)
            {
                for (int j = 0; j < words[i].Length; ++j)
                    if (ruVowels.IndexOf(words[i][j]) != -1)
                        counters[i]++;
            }
            int maxVowels = counters[0];
            for (int i = 1; i < cntWords; ++i)
                if (counters[i] > maxVowels)
                    maxVowels = counters[i];
 
            Console.WriteLine("Слово(а) с наибольшим количеством гласных букв:");
            for (int i = 0; i < cntWords; ++i)
                if (counters[i] == maxVowels)
                    Console.WriteLine(words[i]);
 
            Console.ReadLine();
        }
    }
}
Добавлено через 2 часа 5 минут
Ну ребят,помогите!а то зачет завалю=( оч надо плиз........
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.02.2011, 17:55
Ответы с готовыми решениями:

Найти в тексте слово, содержащее наибольшее количество гласных
выкладываю код. задача проги-найти в тексте слово, содержащее наибольшее количество гласных, и...

Найти в строке слово, содержащее наибольшее количество заданных букв
Дана строка, содержащая текст на русском языке, и некоторая буква. Найти слово, содержащее...

Во введенной строке найти слово, содержащее наибольшее количество разных букв
Во введенной строке найти слово, содержащее наибольшее количество разных букв (слова разделяются...

Найти в текстовом файле слово, содержащее наибольшее количество повторяющихся букв
Найти в текстовом файле слово, содержащее наибольшее количество повторяющихся букв

3
Freelance
Эксперт С++
2880 / 1815 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
04.02.2011, 18:17 2
Лучший ответ Сообщение было отмечено как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#include <string.h>
 
#define GLAS_LETT "AaEeIiOoUuYy"
#define DELIM " ,.:;!?"
 
int get_cnt_lett_of_glass(const char *wrd){
    int cnt = 0, i, j;
    for(i = 0; i < strlen(wrd); ++i){
        for(j = 0; j < strlen(GLAS_LETT); ++j){
            if(wrd[i] == GLAS_LETT[j])
                ++cnt;
        }
    }
    return cnt;
}
 
 
int main(void){
    char str[BUFSIZ], tmp[BUFSIZ], *p, *p_;
    int i, j;
    printf("\n\nEnter string -> ");
    scanf("%[^\n]%*c", str);
    strcpy(tmp, str);
    p_  = strtok(tmp ,DELIM);
    for(p = strtok(str, DELIM); p; p = strtok(NULL, DELIM)){
        if(get_cnt_lett_of_glass(p) > get_cnt_lett_of_glass(p_))
            p_ = p;
    }
    printf("\n\nResult word -> %s", p_);
    return 0;
}
4
2 / 2 / 0
Регистрация: 12.01.2011
Сообщений: 43
04.02.2011, 19:30  [ТС] 3
asics, Спасибо тебе,что ты есть!Ты меня выручаешь ;-)
0
2228 / 1731 / 865
Регистрация: 21.12.2010
Сообщений: 3,074
Записей в блоге: 11
04.02.2011, 20:44 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include<algorithm>
#include<windows.h>
#include<sstream>
#include<map>
using namespace std;
 
int main(){
    string vow = "АаЕеЁёИиОоУуЫыЭэЮюЯя", temp;
    const char *p=0;
    char c[200]{'\0'};
    //char c1[200]{'\0'};
    cin.getline(c, sizeof(c));
    OemToChar(c, c);
    replace_if(c, c+sizeof(c), [](char x){return (x<(-64)||x>(-1))&&x!=-72&&x!=-88;}, ' ');
    //CharToOem(c, c1);
    stringstream ss(c);
    multimap<int, string> con;
    int q;
    while(ss>>temp&&ss.good()){
        //cout<<"temp= "<<temp<<"\n";
        q=count_if(temp.begin(), temp.end(), [&](char x){return find(vow.begin(), vow.end(), x)!=vow.end();});
        con.insert(make_pair(q, temp));
        //cout<<"temp= "<<temp<<"  "<<q<<"\n";
    }
    for(auto it=con.begin(); it!=con.end(); ++it){
        p=it->second.c_str();
        CharToOem(p, c);
        cout<<c<<"  "<<it->first<<"\n";
    }
    CharToOem("\nСлово(а) с наибольшим количеством гласных букв:\n", c);
    cout<<c;
    for(auto it=con.begin(); it!=con.end(); ++it){
        if(it->first==con.rbegin()->first){
            p=it->second.c_str();
            CharToOem(p, c);
            cout<<c<<"  "<<it->first<<"\n";
        }
    }
}
3
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.02.2011, 20:44

В заданных текстовых файлах найти слово содержащее наибольшее количество указанных букв
даны файлы содержащий текст и некоторые буквы найти слово содержанее наибольшее количество...

вывести слово, содержащее наибольшее количество гласных букв(Русских)
Ввести строку, вывести слово, содержащее наибольшее количество гласных букв..... Если можно то...

Удалить из каждой нечетной строки слово, содержащее наибольшее количество гласных букв
Удалить из каждой нечетной строки слово, содержащее наибольшее количество гласных букв.

Найти и вывести слово, содержащее наибольшее количество букв
Элементами слов могут быть любые символы. Найти и вывести слово, содержащее наибольшее количество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.