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

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

Войти
Регистрация
Восстановить пароль
 
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1156 / 438 / 21
Регистрация: 23.06.2009
Сообщений: 6,216
Завершенные тесты: 1
#1

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

06.01.2010, 18:00. Просмотров 455. Ответов 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 удаляет,все хорошо без ошибок...просто какой то не красивый код,в нем очень много переменных,написано не красиво,прошу улучшить ее
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2010, 18:00     как правильно дописать программу
Посмотрите здесь:

C++ Обьясните где ошибка , и как правильно писать программу!
Дописать программу на С++ C++
C++ дописать программу
C++ Дописать программу
C++ Дописать программу так, чтобы в массив вводились как целые числа так и вещественные
C++ Как правильно описать программу для курсовой?
Дописать программу C++
как дописать программу C++
C++ Как дописать программу
Как правильно передать несколько данных в программу из функции? C++
C++ Как правильно написать программу с условиями
C++ Как правильно разделять программу на модули

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
breeve
 Аватар для breeve
73 / 73 / 14
Регистрация: 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;
}
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1156 / 438 / 21
Регистрация: 23.06.2009
Сообщений: 6,216
Завершенные тесты: 1
06.01.2010, 19:13  [ТС]     как правильно дописать программу #3
breeve, без векторов и всякого лишнего нельзя обойтись?

Добавлено через 32 секунды
отмечу что программу я пишу чтобы науится массивам)то есть надо с массивами и без лишнего
rangerx
1920 / 1529 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
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;
}
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1156 / 438 / 21
Регистрация: 23.06.2009
Сообщений: 6,216
Завершенные тесты: 1
06.01.2010, 21:21  [ТС]     как правильно дописать программу #5
Цитата Сообщение от rangerx Посмотреть сообщение
slova[i] = slova[i+1];
разве тут не
C++
1
slova[k] = slova[i+1];
rangerx
1920 / 1529 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
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;
}
Yandex
Объявления
06.01.2010, 23:19     как правильно дописать программу
Ответ Создать тему
Опции темы

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