Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166

найти ошибку в коде

07.12.2012, 14:23. Показов 1704. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана непустая последовательность слов (не более 50), в каждом слове не более восьми символов. Слова разделены пробелом, за последним словом точка. Найти те слова, которые отличаются от последнего слова и длина слов максимальная.



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
#include<string.h>
#include<locale.h>
#include<conio.h>
void main()
{setlocale(LC_CTYPE,"Russian");
int i,b,n,p,z;
char A[51][9], X[50][9];
printf_s("введите количество слов\n");
scanf_s("%d",&n);
for(i=0;i<n;i++)
{scanf_s("%s", &A[i]);}
for(i=0,b=0,p=0;i<n;i++)
{if (strcmp(A[i],A[n])!=0)
{z=strlen(A[i]);
if (z>p) {p=z;b=0;X[b]=A[i];b++;}
else {if (z==p) X[b]=A[i];b++;}}}
for(i=0;i<n;i++)
{printf_s("%s",&X[i]);}}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.12.2012, 14:23
Ответы с готовыми решениями:

Найти сумму целых отрицательных чисел удовлетворяющих условию (найти и исправить ошибку в коде)
#include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; int main() { int y = 0; for(int i = -21; i &lt; -99; i+=3) ...

Найти ошибку в коде
Помогите пж. найти ошибку в коде,он почему то последний символ не считывает. #include &lt;iostream&gt; #include &lt;fstream&gt; using...

Найти ошибку в коде
Всем привет! Есть программа, но она некорректно работает, помогите найти ошибку. При вписывании, например: в первую строчку:...

19
CEO SOVAZ Corp.
 Аватар для sovaz1997
386 / 232 / 51
Регистрация: 17.12.2011
Сообщений: 822
Записей в блоге: 1
07.12.2012, 15:52
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<stdio.h>
#include<string.h>
#include<locale.h>
#include<conio.h>
 
void main() {
    setlocale(LC_CTYPE,"Russian");
 
    int i, b, n, p, z;
 
    char A[51][9], X[50][9];
    printf_s("введите количество слов\n");
 
    scanf_s("%d",&n);
 
    for(i = 0; i < n; i++){
        scanf_s("%s", &A[i]);
    }
 
    for(i = 0, b = 0, p = 0; i < n; i++) {
        if (strcmp(A[i], A[n])!=0) {
            z = strlen(A[i]);
            if (z > p) {
                p = z;
                b = 0;
                X[b] = A[i];
                b++;
            }
 
            else {
                if (z == p) {
                    X[b] = A[i];
                    b++;
                }
            }
        }
    }
 
    for(i = 0; i < n; i++) {
        printf_s("%s",&X[i]);
    }
}
P.S. Можешь прокомментировать, что и как происходит в этом приличном коде?
0
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166
07.12.2012, 15:55  [ТС]
По сути программа должна искать слова отличные от последнего слова и чтобы длинна слова была максимальна
0
CEO SOVAZ Corp.
 Аватар для sovaz1997
386 / 232 / 51
Регистрация: 17.12.2011
Сообщений: 822
Записей в блоге: 1
07.12.2012, 15:57
Еще раз. Ты можешь прокомментировать сам код. Мне не понятно i, b, n, p, z.

P.S. Переменные нужно называть понятным нам всем языком.
0
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166
07.12.2012, 16:03  [ТС]
i-это строки
b-строки массива куда записывается результат
n- количество слов
p-количество символов в слове
z-переменная значение которой присваивается мощность очередного слова
0
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166
07.12.2012, 16:05  [ТС]
еще вылазит такая ошибка
Миниатюры
найти ошибку в коде  
0
CEO SOVAZ Corp.
 Аватар для sovaz1997
386 / 232 / 51
Регистрация: 17.12.2011
Сообщений: 822
Записей в блоге: 1
07.12.2012, 16:11
У меня то же самое. Попробую найти.

Добавлено через 2 минуты
Вообще, я программирую на C++. Поэтому мне сложно разобраться в этом коде без комментариев. Жду комментированный код.....
0
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166
07.12.2012, 20:50  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<stdio.h>
#include<string.h>
#include<locale.h>
#include<conio.h>
void main()
{setlocale(LC_CTYPE,"Russian");
int i,b,n,p,z;//i-количество строк, т.е. слов; b-количество слов, т.е. строк в результирующем массиве;
//n-количество слов; p-количество символов в слове; z-переменная для определения количества элементов в слове
char A[51][9], X[50][9];//массив А со словами, Х массив с результатом
printf_s("введите количество слов\n");
scanf_s("%d",&n);
//ввод массива А
for(i=0;i<n;i++)
{scanf_s("%s", &A[i]);}
//цикл для просмотра всех слов
for(i=0,b=0,p=0;i<n;i++)
{if (strcmp(A[i],A[n])!=0)//лексикографическое сравнение i-го слова с последним словом
{z=strlen(A[i]);//вычисление количества элементов в слове
if (z>p) {p=z;b=0;X[b]=A[i];b++;}//поверка является ли p максимальной мощностью слова, если нет то присвоить максисмальной мощности
//значение мощности i-го слова и запись этого слова в результат
else {if (z==p) X[b]=A[i];b++;}}}// если максимальная мощность равна мощности i-го слова то записываем результат
for(i=0;i<n;i++)//выдаем результат
{printf_s("%s",&X[i]);}}
0
CEO SOVAZ Corp.
 Аватар для sovaz1997
386 / 232 / 51
Регистрация: 17.12.2011
Сообщений: 822
Записей в блоге: 1
07.12.2012, 21:02
Вырезано
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
07.12.2012, 21:02
den4ik_fpmi, у Вас в коде целая куча ошибок. А если код еще и отформатировать, то думаю еще больше сразу же вылезет.
0
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166
08.12.2012, 10:07  [ТС]
а можешь подсказать как тут реализовать ввод?? с копированием одной строки в другую разобрался, теперь ввод не знаю как сделать

Добавлено через 11 часов 51 минуту
можешь исправить? мне просто его уже в понедельник сдавать
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
08.12.2012, 10:21
Цитата Сообщение от den4ik_fpmi Посмотреть сообщение
strcmp(A[i],A[n])!=0)//лексикографическое сравнение i-го слова с последним словом
A[n] какое слово лежит????
если учесть что
Цитата Сообщение от den4ik_fpmi Посмотреть сообщение
for(i=0;i<n;i++)
{scanf_s("%s", &A[i]);}
последнее введенное слово лежит в A[n-1]
а если n =51 то вообще выход за границы массива
0
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166
08.12.2012, 10:28  [ТС]
а можно ли так организовать ввод как сделал я, просто когда я ввожу n, то у меня получается я ввожу количество символов а не количество слов
0
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166
09.12.2012, 11:01  [ТС]
Croessmah, можешь исправить ошибки?? мне в понедельник уже сдавать а че делать не знаю
0
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166
09.12.2012, 15:22  [ТС]
Вот код, вроде все уже нормально, а при вводе выдает какую то неведомую фигню (смотри скрин)

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
#include<string.h>
#include<locale.h>
#include<conio.h>
void main()
{setlocale(LC_CTYPE,"Russian");
int i=0,b,n,p,z,j;
char A[50][9], X[49][9];
printf_s("введите количество слов\n");
scanf_s("%d",&n);
printf("введите последовательность из %d слов\n",n);
while(i<n)
{scanf_s("%s", &A[i]);
i++;}
for(b=0,p=0;i<n;i++)
{if (strcmp(A[i],A[n-1])!=0)
z=strlen(A[i]);
if (z>p) {p=z;b=0;strcpy_s(X[b],A[i]);b++;}
else {if (z==p) strcpy_s(X[b],A[i]);b++;}}
for(b=0;b<n;b++)
{printf_s("%s",X[b]);}
_getch();}
Миниатюры
найти ошибку в коде   найти ошибку в коде  
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
09.12.2012, 15:32
Цитата Сообщение от den4ik_fpmi Посмотреть сообщение
i++;}
for(b=0,p=0;i<n;i++)
вот здесь в цикле i будет равна n следовательно в цикл не войдем
0
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166
09.12.2012, 15:34  [ТС]
ValeryS, нужно обнулить i перед циклом?
0
Модератор
Эксперт по электронике
8978 / 6744 / 921
Регистрация: 14.02.2011
Сообщений: 23,854
09.12.2012, 15:36
Цитата Сообщение от den4ik_fpmi Посмотреть сообщение
ValeryS, нужно обнулить i перед циклом?
разумеется
0
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166
09.12.2012, 15:36  [ТС]
ValeryS, сделал, все равно то же самое
0
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166
10.12.2012, 13:56  [ТС]
kura007, чет ты не в тему написал, создай отдельную тему

Добавлено через 22 часа 12 минут
Тема закрыта, нашел решение, выложу поди пригодиться кому
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
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<locale.h>
void main()
{setlocale(LC_CTYPE,"Russian");
int i,b,n,p,z;
char A[50][9], X[50][9],k;
printf("введи последовательность слов\n");
k='1';
for(n=0;(k!='.');n++)
{scanf("%[^ .]",&A[n]);
 k=getchar();}
p=strlen(A[0]);
for(i=0,b=0;i<n;i++)
{z=strlen(A[i]);
 if (strcmp(A[i],A[n-1])!=0)
 {if (z>p) 
 {p=z;
  b=0;
  strcpy(X[b],A[i]);b++;}
 else 
 {if (p==z) {strcpy(X[b],A[i]);
  b++;}}}}
if (b==0) printf("таких слов нет\n");
else
 printf("слово(-а) максимальной длинны и отличные от последнего\n");
 for(i=0;i<b;i++)
{printf("%s ",X[i]);}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.12.2012, 13:56
Помогаю со студенческими работами здесь

Найти ошибку в коде
#include &lt;iostream&gt; //Подключаем библиотеки #include &lt;iomanip&gt; #include &lt;windows.h&gt; #include &lt;fstream&gt; # include...

Найти ошибку в коде
помогите пожалуйста, не могу найти проблему, из-за этого дальше учить С++ не могу // my5.cpp: определяет точку входа для консольного...

Найти ошибку в коде
Не вижу ошибку, кофе видимо плох) #include &lt;stdio.h&gt; #include &lt;math.h&gt; int main () { float pi=3.14151926; int...

Найти ошибку в коде
Доброго времени суток, программисты. У меня возникла проблема, в которой я не могу разобраться, а именно: #include &quot;stdafx.h&quot; ...

Найти ошибку в коде
#include &quot;stdafx.h&quot; #include &lt;math.h&gt; #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main() { int...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru