Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 11

Не могу найти ошибку

12.03.2013, 16:04. Показов 1173. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
textBox1.Text = "";
textBox2.Text = "";
int k = 0;
int l, i;
l = 0;
StreamReader sr = new StreamReader("text.txt");
string s = "";
string s1 = "";
while (!sr.EndOfStream)
{
s = sr.ReadLine();
textBox1.Text = s;
int n;
n = s.Length;
for (i = 0; i < n+1; i++)
{

if (!Char.IsDigit(s[i]) && s[i] != ' ' && s[i] != ',' && s[i] != '.')
{
s1 += s[i];
// k++;
}
else
{
k = s1.Length;
if (k < 5)
{
l++;
textBox2.Text = textBox2.Text + ' ' + s1;
s1 = "";
k = 0;
}else break;

// label3.Text = Convert.ToString(n);
s1="";
}
}
label3.Text = Convert.ToString(l);
}

}
}
}
текст файла i love you kate. We are going to park
а выводит i love you kate We are
Мне нужно что выводил все слова в которых не более 4 букв
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.03.2013, 16:04
Ответы с готовыми решениями:

Не могу найти ошибку
static void Main(string args) { Console.Write(&quot;Ввести размер массива: &quot;); int n =...

Не могу найти ошибку
Здравствуйте. Я начал изучать С#, у меня есть программа и она с ошибкой, но я скопировал текст точно как из книги! Подскажите где ошибка...

Не могу найти ошибку
Не получается создать объект класса дело, который должен отображаться в гридвайве ссылка на проект(вирусов нет): ...

13
 Аватар для ITL
284 / 255 / 73
Регистрация: 17.07.2012
Сообщений: 618
12.03.2013, 16:16
уберите строчку:
C#
1
else break;
И измените эту строчку:
C#
1
for (i = 0; i < n+1; i++)
на
C#
1
for (i = 0; i < n; i++)
0
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 11
12.03.2013, 16:22  [ТС]
Цитата Сообщение от ITL Посмотреть сообщение
уберите строчку:
C#
1
else break;
И измените эту строчку:
C#
1
for (i = 0; i < n+1; i++)
на
C#
1
for (i = 0; i < n; i++)
Да это лишь оптимизация кода проблемы полностью это не решила
0
 Аватар для ITL
284 / 255 / 73
Регистрация: 17.07.2012
Сообщений: 618
12.03.2013, 16:33
Цитата Сообщение от cooper30 Посмотреть сообщение
Да это лишь оптимизация кода проблемы полностью это не решила
Да только вот у меня изначальный ваш код тоже не работал, я убрал одну строчку и все заработало. Что я делаю не так? Это во-первых.
А во-вторых, если уж на то пошло , то скидывайте архив с полным кодом, а не только часть.
И в третьих это не оптимизация, у вас заложена ошибка выхода индекса за границы массива, которую я указал исправить.
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
12.03.2013, 16:37
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Programm
    {
        static void Main(string[] args)
        {
            string line = "I love you kate. We are going to park";
 
            string[] words = line.Split(new char[] {' ', ',', '.'}, StringSplitOptions.RemoveEmptyEntries);
 
            string newLine = string.Empty;
 
            foreach (var word in words)
            {
                if (word.Length <= 4)
                    newLine += " " + word;
            }
 
            Console.WriteLine(newLine);
 
            Console.ReadLine();
        }
    }
0
 Аватар для NiceGuyEddy
220 / 143 / 35
Регистрация: 25.06.2010
Сообщений: 383
12.03.2013, 16:37
Я может, конечно, чего-то не так понял, но вот вывод слов, в которых не более 4 букв. Это если без всяких доп. условий.
C#
1
2
3
4
5
6
7
8
9
10
11
12
                string[] str;
                using (StreamReader sr = new StreamReader("text.txt", true))
                {
                    str = sr.ReadToEnd().Split(' ', '.');
                    for (int i = 0; i < str.Length; i++)
                    {
                        if (str[i].Length < 5)
                        {
                            textBox2.Text += str[i] + " ";
                        }
                    }
                }

Не по теме:

Кстати, тэги для кода отличная вещь. Чуть глаза не сломал.

0
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 11
12.03.2013, 17:55  [ТС]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace Лабораторная_работа__6
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{

textBox1.Text = "";
textBox2.Text = "";
int k = 0;
int l, i;
l = 0;
StreamReader sr = new StreamReader("text.txt");
string s = "";
string s1 = "";
while (!sr.EndOfStream)
{
s = sr.ReadLine();
textBox1.Text = s;
int n;
n = s.Length;
for (i = 0; i < n; i++)
{

if (!Char.IsDigit(s[i]) && s[i] != ' ' && s[i] != ',' && s[i] != '.' && s[i] != ':' && s[i] != ';' && s[i] != '!' && s[i] != '?')
{
s1 += s[i];
// k++;
}
else
{
k = s1.Length;
if (k < 5)
{
l++;
textBox2.Text += s1 + " ";
s1 = "";
k = 0;
};

// label3.Text = Convert.ToString(n);
s1="";
}
}
if (l != 0) label3.Text = "Количество слов, содержащих не более 4 букв: " + Convert.ToString(l);
else label3.Text = "Cлов, содержащих не более 4 букв нет!!! ";
};

}

private void button2_Click(object sender, EventArgs e)
{
label3.Text = "Количество слов, содержащих не более 4 букв: ";
textBox1.Text = Convert.ToString(' ');
textBox2.Text = Convert.ToString(' ');
}

private void button3_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}
Вот полный код программы, но даже с этими исправлениями последнее слова не выводится
0
 Аватар для ITL
284 / 255 / 73
Регистрация: 17.07.2012
Сообщений: 618
12.03.2013, 18:06
Архив проекта!.....что бы контролы(кнопки и.т.д) выставлять по новой не надо было.
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
12.03.2013, 18:10
Цитата Сообщение от cooper30 Посмотреть сообщение
Вот полный код программы, но даже с этими исправлениями последнее слова не выводится
Блин!!!!!

Когда вставляете код пожалуйста выделяйте его и нажимайте на кнопку выделенную на скриншоте!!!!
Миниатюры
Не могу найти ошибку  
0
 Аватар для NiceGuyEddy
220 / 143 / 35
Регистрация: 25.06.2010
Сообщений: 383
12.03.2013, 18:54
Цитата Сообщение от cooper30 Посмотреть сообщение
Вот полный код программы, но даже с этими исправлениями последнее слова не выводится
Попробовали код, который предложили Вам LeniumSoft и я? Чем он не подходит для решения этой задачи?
0
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 11
12.03.2013, 19:04  [ТС]
Лабораторная работа №6.rar вот архив
0
 Аватар для ITL
284 / 255 / 73
Регистрация: 17.07.2012
Сообщений: 618
12.03.2013, 19:35
Конечно ваш код можно переписать в пару строчек, но если интересует использовать свой код, то измените там строчку(добавил пробел в конце) и будет все ок
C#
1
s = sr.ReadLine()+" ";
0
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 11
12.03.2013, 20:31  [ТС]
да спасибо вывод исправил но теперь уже новая ошибка выводить количество слов неверное
0
 Аватар для ITL
284 / 255 / 73
Регистрация: 17.07.2012
Сообщений: 618
12.03.2013, 21:14
Цитата Сообщение от cooper30 Посмотреть сообщение
да спасибо вывод исправил но теперь уже новая ошибка выводить количество слов неверное
Честно говоря у вас ужасный код. Вам уже пару вариантов написали, они работают куда лучше и без ошибок.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.03.2013, 21:14
Помогаю со студенческими работами здесь

Не могу найти ошибку
Описать процедуру DoubleX(A, N, X), дублирующую в целочисленном массиве A размера N элементы, равные целому числу X. Массив A и число N...

Не могу найти ошибку
Всем привет,не могу найти ошибку в коде,помогите коду встать с колен.Ошибку пометил в коде using System.IO; using System; ...

Не могу найти ошибку
День добрый) кто подскажет в чём дело? /* Эта программа демонстрирует применение переменных */ using System; // в...

Не могу найти ошибку в коде
Всем привет. Я готовился к егэ по информатике и решал задачу по программирования на шарпе. using System; namespace ConsoleApp6 { ...

массивы - не могу найти ошибку
коллеги, глаз замылился уже, помогите найти ошибку, пожалуйста. задание: Cоставьте процедуру подсчета кол-ва элементов одномерного...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru