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

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

07.12.2012, 14:23. Показов 1718. Ответов 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
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,029
Записей в блоге: 1
07.12.2012, 21:02
den4ik_fpmi, у Вас в коде целая куча ошибок. А если код еще и отформатировать, то думаю еще больше сразу же вылезет.
0
1 / 1 / 3
Регистрация: 20.10.2012
Сообщений: 166
08.12.2012, 10:07  [ТС]
а можешь подсказать как тут реализовать ввод?? с копированием одной строки в другую разобрался, теперь ввод не знаю как сделать

Добавлено через 11 часов 51 минуту
можешь исправить? мне просто его уже в понедельник сдавать
0
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,864
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
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,864
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
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,864
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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru