Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
AnonymC
1178 / 461 / 86
Регистрация: 23.06.2009
Сообщений: 6,363
Завершенные тесты: 1
#1

как правильно дописать программу - C++

06.01.2010, 18:00. Просмотров 520. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
ifstream f;
int c=0;
int x=0;
int y=0;
string slova[100];
f.open("C:\\text.txt");
while(!f.fail()){
f>>slova[x];
++c;
cout<<slova[x]<<endl;
++x;
}
y=c;
cout<<"Введите номер слова, который вы хотите удалить: ";
int k=0;
cin>>k;
int i=0;
for(i=k+1;i<=c;i++);
{
slova[k]=slova[i+1];
c=c-1;
}
for(int i=0;i<=y ;i++)cout<<slova[i]<<endl;
программа читает текст из фалйа в котором написано Hello wordl how are u, потом выводит каждое слово с новой строки,после чего предлагает ввести номер строки чтобы удалить ее,ввожу 2 удаляет,все хорошо без ошибок...просто какой то не красивый код,в нем очень много переменных,написано не красиво,прошу улучшить ее
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2010, 18:00
Я подобрал для вас темы с готовыми решениями и ответами на вопрос как правильно дописать программу (C++):

Как дописать программу что бы она правильно считала по методу левых прямоугольников?
Как дописать программу что бы она правильно считала по методу левых...

как дописать программу
Дана точка М с координатами ( x, y), определить, принадлежит ли точка...

Как дописать программу
В одномерном массиве, состоящем из n вещественных элементов, вычислить:...

Дописать программу так, чтобы в массив вводились как целые числа так и вещественные
помогите дописать программу так чтобы в массив вводились как целые числа так и...

Как правильно написать программу с условиями
Всем доброго времени суток! В обще ситуация такая, учусь программированию и...

Как правильно разделять программу на модули
Как же всё-таки правильно разделять программу на модули? В интернете нашел 2...

5
breeve
75 / 75 / 29
Регистрация: 01.08.2009
Сообщений: 177
06.01.2010, 18:26 #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
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
using namespace std;
 
int main()
{
    vector<string> str_list;
    string str;
    ifstream read("text");
    while(!read.eof())
{
    getline(read, str, ' ');
    cout << str <<endl;
    str_list.push_back(str);
}
    cout << "Какую строку удалить?";
    int choice = 0;
    cin >> choice;
    //if(choice>(int)str_list.size())
     //cout << "Такой строки нет";
    str_list.erase(str_list.begin() + (choice-1));
    vector<string>::size_type sz=str_list.size();
    for(unsigned int i = 0; i<sz; i++)
        cout << str_list[i] <<endl;
    return 0;
}
0
AnonymC
1178 / 461 / 86
Регистрация: 23.06.2009
Сообщений: 6,363
Завершенные тесты: 1
06.01.2010, 19:13  [ТС] #3
breeve, без векторов и всякого лишнего нельзя обойтись?

Добавлено через 32 секунды
отмечу что программу я пишу чтобы науится массивам)то есть надо с массивами и без лишнего
0
rangerx
1941 / 1550 / 478
Регистрация: 31.05.2009
Сообщений: 2,913
06.01.2010, 20:22 #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
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
int main()
{
    ifstream f("C:\\text.txt");
    string slova[100];
 
    int c = 0;
    while(!f.eof())
    {
        f >> slova[c];
        cout << slova[c] << endl;
        ++c;
    }
 
    cout <<  "Введите номер слова, который вы хотите удалить: ";
    int k = 0;
    cin >> k;
 
    for(int i = k-1; i < c-1; ++i)
        slova[i] = slova[i+1];
 
    --c;
    for(int i = 0; i < c ; ++i)
          cout << slova[i] << endl;
 
    return 0;
}
0
AnonymC
1178 / 461 / 86
Регистрация: 23.06.2009
Сообщений: 6,363
Завершенные тесты: 1
06.01.2010, 21:21  [ТС] #5
Цитата Сообщение от rangerx Посмотреть сообщение
slova[i] = slova[i+1];
разве тут не
C++
1
slova[k] = slova[i+1];
0
rangerx
1941 / 1550 / 478
Регистрация: 31.05.2009
Сообщений: 2,913
06.01.2010, 23:19 #6
Так тебе нужно удалить строку, или очистить? Если второе, то всё гараздо проще
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
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main()
{
    int c = 0;
    ifstream f("file.txt");
    string slova[100];
 
    while(!f.eof())
    {
        f >> slova[c];
        cout << slova[c] << endl;
        ++c;
    }
 
    cout << "Введите номер слова, который вы хотите удалить: ";
    int k = 0;
    cin >> k;
    slova[k].clear(); // slova[k] = "";
 
    for(int i = 0; i < c ;++i) cout << slova[i] << endl;
    return 0;
}
1
06.01.2010, 23:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2010, 23:19
Привет! Вот еще темы с решениями:

Как правильно описать программу для курсовой?
Объясните пожалуйста как описать &quot;Решение поставленной задачи&quot;, с чего начать,...

дописать программу
помогите пожалуйста дописать программу,по блок-схеме углы вроде написал,но...

Дописать программу
Нужно слова в строке переставить с конца в начале #include &lt;string.h&gt;...

Дописать программу
В среде С++ реализовать консольное приложение использующее заданный фрагмент...


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

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

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