Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
BabyGluk
26 / 26 / 4
Регистрация: 10.04.2013
Сообщений: 167
#1

Массив: Удалить строку, в котором есть слово, имеющее наибольшее количество разных букв. - C++

12.05.2013, 00:01. Просмотров 635. Ответов 2
Метки нет (Все метки)

Задание: дан двумерный массив строк, удалить рядок в котором есть слово которое имеет наибольшее количество разных букв.
по порядку.
нашел на форуме код двумерного массива строк
C++
1
2
3
4
5
6
char* arrsym[2][20];
 for(int i = 0; i < 2; i++)
    gets( (char*)&arrsym[i]);
   cout << "cout" << std::endl;
   for(int i = 0; i < 2; i++)
      cout << (char*)&arrsym[i] << endl;
но что то он меня смущает. [i] отвечает не за символ, а за целый рядок, и я хз как тут разбивать его на слова.
как можно еще сделать такой масив?

Добавлено через 54 минуты
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
41
42
#include"stdafx.h"
#include <conio.h>
#include <iostream> 
#include <string>
using namespace std;
const int n=3;
int main()
{   setlocale(0,"");
    string mas[n][n];
    char mass[100];
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
        cout<<"Рядок = "<<i<<""<<" Столбец = " <<j<<endl;
        getline(cin,mas[i][j]);
        }
 
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
        mas[i][j]=mas[i][j];
        cout<<mas[i][j]<<" ";
        }
        cout<<endl;
    }
    int a(0);
     for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
        if ((mas[i][j]==" ")&&(mas[i+1][j]!=" ")) a++;
        if (mas[0][0]!=" ") a++;
        }
        
    }
     
    getch();
    return 0;
}
как разбить слово на буквы??
елемент mas[i][j] = слову..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2013, 00:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив: Удалить строку, в котором есть слово, имеющее наибольшее количество разных букв. (C++):

Найти слово, в котором наибольшее количество разных букв - C++
Используя указание, написать программу, которая среди нескольких слов находит такое, в котором наибольшее количество разных букв

Файлы. С файла нужно удалить слово, в котором самое большое количество РАЗНЫХ букв - C++
С файла нужно удалить слово, в котором самое большое количество РАЗНЫХ букв. То есть со слов &quot;aab&quot; и &quot;abc&quot; нужно удалить &quot;abc&quot;. Помогите, а...

Ввести строку, вывести слово, содержащее наибольшее количество гласных букв - C++
Привет Ребят,мне нужно сделать лабораторную по информатике,вот что мне надо Ввести строку, вывести слово, содержащее наибольшее...

Удалить ту строку в котором есть слово "нет" - C++
Есть строки и нужно удалить ту строку в котором есть слово &quot;нет&quot;. Все остальные должны оставаться без изменений.

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

Дана строка, в котором есть слово "да" или слово "нет". Если в нем есть слово "нет", то удалить его - C++
Дана строка, в котором есть слово &quot;да&quot; или слово &quot;нет&quot;. Если в нем есть слово &quot;нет&quot;, то удалить его или получить строку в слова &quot;да&quot; и...

2
zitxbit
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
12.05.2013, 09:36 #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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
#define N 5
 
int main(int argc, char* argv[])
{
    char* arrsym[N] = { 0 };
 
    for (int s = 0; s < N; s++)
    {
        arrsym[s] = new char[256];
        printf("Enter string %d: ",s); 
        gets_s((char*)arrsym[s],256);
    }
 
    printf("\n");
 
    int min = 256, min_i = 0;
    for (int i = 0; i < N; i++)
    {
        char str[256] = "\0"; 
        strcpy_s(str, 256, arrsym[i]);
        
        char* word = strtok(str," ");
        while (word != NULL)
        {
            int count = 0;
            for (int k = 0; word[k] != '\0'; k++)
                for (int r = k+1; word[r] != '\0'; r++)
                    if (word[r] == word[k]) count++;
 
            if (count < min) { min = count; min_i = i; }
 
            word = strtok(NULL," ");
        }
    }
 
    for (int t = min_i; t < N; t++)
        arrsym[t] = arrsym[t+1];
 
    for (int q = 0; q < N-1; q++)
        printf("%s\n", arrsym[q]);
 
    _getch();
 
    return 0;
}
2
Миниатюры
Массив: Удалить строку, в котором есть слово, имеющее наибольшее количество разных букв.  
BabyGluk
26 / 26 / 4
Регистрация: 10.04.2013
Сообщений: 167
12.05.2013, 11:52  [ТС] #3
Спасибо) буду сейчас сидеть ковырять что к чему =)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2013, 11:52
Привет! Вот еще темы с ответами:

В заданном предложении найти слово, имеющее наибольшее число вхождений - C++
Среди слов заданного предложения, которые не является сериями, найти такое, которое имеет наибольшее число вхождений в предложение. P.S....

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

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

Найти строку матрицы, в которой наибольшее количество разных чисел, и отсортировать её по убыванию - C++
В двумерном массиве найти строку в которой наибольшее количество разных чисел и отсортировать её за спаданием.


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

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

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