IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

3 страниц V < 1 2 3 >  
 Ответить  Открыть новую тему 
> Вопрос по выполнению кода
Account
сообщение 9.07.2009 0:19
Сообщение #21


Бывалый
***

Группа: Пользователи
Сообщений: 212
Пол: Мужской

Репутация: -  0  +


ДА это понятно уж кем, больше интересует направленность и в какой стране)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Account
сообщение 9.07.2009 17:31
Сообщение #22


Бывалый
***

Группа: Пользователи
Сообщений: 212
Пол: Мужской

Репутация: -  0  +


volvo, вот хотел сделать так что бы перед тем вначале вводился номер способо нахождения 1 или 2 и уже отсюда плясать по считыванию данный толи из например data.txt или data1.txt
пытылся делать вот так

int m; //<---какраз номер метода
(cin>>m).get();

if (m==1) then ifstream infile("data.txt"); else ifstream infile("data1.txt");


Но тогда он в дальнейшем начинает ругаться на строчки считывания, ту же
 infile.getline(s,255);

Я так понимаю потому что компилятор не может определить из какого файла читать, пытался даже делачть переменную типа string, хранившую от выбора имя того или иного файла но тогда начинается проблема с записью ifstream infile(s) , описания данной функции с ее параметрами не нашел, поэтому просто решил вот поэксперементировать, что посоветуешь?

И еще как пользоваться справкой, хемпом в CodeBlock ?

Сообщение отредактировано: Account - 9.07.2009 17:32
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 9.07.2009 18:02
Сообщение #23


Гость






Цитата
просто решил вот поэксперементировать, что посоветуешь?
Это не функция, а класс + конструктор. Вот тут описание его методов: http://www.cplusplus.com/reference/iostream/ifstream/

Совершенно не обязательно сразу и описывать infile и открывать его. Можно разделить эти 2 операции:
    int m;
(cin>>m).get();

ifstream infile;
if(m == 1) {
infile.open("data.txt");
}
else {
infile.open("data1.txt");
}

smile.gif Экспериментируй дальше...
 К началу страницы 
+ Ответить 
Account
сообщение 9.07.2009 19:01
Сообщение #24


Бывалый
***

Группа: Пользователи
Сообщений: 212
Пол: Мужской

Репутация: -  0  +


А заместо хелпа и справки в CodeBlock, ссылка приведенная выше;)smile.gif
Спасибо!

Для себя то можно поэксперементировавть, а серьезно уже заниматься поздно)))

Сообщение отредактировано: Account - 9.07.2009 19:11
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Account
сообщение 11.07.2009 21:13
Сообщение #25


Бывалый
***

Группа: Пользователи
Сообщений: 212
Пол: Мужской

Репутация: -  0  +


Блин не догоняю вчем дело, есть вот такая матрица чисел, содержатся они в файле slu.txt
нужно каждый элемет строки разделить на элемент данной строки, который находится на главной диагонали
(у меня данный диагональный элемент еще и умножается на -1), далее диагональные элементы обнуляются.
Вроде должно работать но почемуто делет деление толькоэлементов до главной диагонали

#include <stdio.h>
#include <iostream.h>
#include <stdlib.h>
#include <math.h>
#include <fstream>

using namespace std;

int main()
{ double mas [3][6];char s[255];
system("cls");

ifstream infile("slu.txt");
infile.getline(s,255);
for (int i=0;i<3;i++)
{
infile>>mas [i][0]>>mas [i][1]>>mas [i][2]>>mas [i][3];
cout<<mas [i][0]<<" "<<mas [i][1]<<" "<<mas [i][2]<<" "<<mas [i][3]<<"\n";
mas[i][4]=mas [i][3];
}

cout<<"------------------------------------\n";
for(int i=0;i<3;i++) { for(int j=0;j<4;j++) mas[i][j]/= (-1*mas[i][i]);

mas[i][i]=0;
cout<<mas [i][0]<<" "<<mas [i][1]<<" "<<mas [i][2]<<" "<<mas [i][3]<<"\n";

};




getchar();
cout<<"Good Luck!\n";
cout<<"Bay! Bay! \n";

return 0;
}


Прилага скрин, матрица до и после.




Добавлено через 6 мин.
Все ДОГНАЛ))))


Эскизы прикрепленных изображений
Прикрепленное изображение

Прикрепленные файлы
Прикрепленный файл  slu.txt ( 62 байт ) Кол-во скачиваний: 158
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 11.07.2009 21:28
Сообщение #26


Гость






Цитата
но почемуто делет деление толькоэлементов до главной диагонали
Оно делит и после, но согласись, делить на 1 - смысла особого нет... Ты ж не проверяешь, и если i = j тоже делишь на mas[ i ][ i ]... А этого делать не надо.
 К началу страницы 
+ Ответить 
Account
сообщение 13.07.2009 21:10
Сообщение #27


Бывалый
***

Группа: Пользователи
Сообщений: 212
Пол: Мужской

Репутация: -  0  +


volvo, а объекты класса vector это что то типа массивов я так понимаю, и вот посмотрел http://www.cplusplus.com/ , я так понимаю они не совсем относятся к С++, а больше к С#?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
-Volvo-
сообщение 13.07.2009 21:22
Сообщение #28


Гость






Цитата
я так понимаю они не совсем относятся к С++, а больше к С#?
С чего бы это? Открой Стандарт С++ и посмотри, куда относятся vector-ы и все остальные контейнеры... Это вообще-то STL (Standard Template Library), C++ ная библиотека.
 К началу страницы 
+ Ответить 
Account
сообщение 13.07.2009 21:25
Сообщение #29


Бывалый
***

Группа: Пользователи
Сообщений: 212
Пол: Мужской

Репутация: -  0  +


Понятно, спасибо, постараюсь больше глупых вопросов не задавать)))

Сообщение отредактировано: Account - 13.07.2009 21:26
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
sheka
сообщение 17.07.2009 9:43
Сообщение #30


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Почему
int m;
(cin>>m).get();
не воспринимает нажатия на Enter, в то же время при нажатии на любую букву - работает?
если int меняю на char - то же самое.

как можна сделать ожидание нажатия на Enter без ввода других символов?

Сообщение отредактировано: sheka - 17.07.2009 9:45
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.07.2009 9:59
Сообщение #31


Гость






Что значит "не воспринимает"? Что по-твоему должно происходить?
 К началу страницы 
+ Ответить 
sheka
сообщение 17.07.2009 10:05
Сообщение #32


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


char m;
(cin>>m).get();
enter - это, ведь, char? а его за char не принимает.
хочу сделать подобное ReadLn;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.07.2009 10:11
Сообщение #33


Гость






Блин... Когда ж вы задавать вопросы научитесь? Какое подобное? Чему подобное? ReadLn РАЗНЫЙ БЫВАЕТ!!! Какой именно тебя интересует? Тот, который ждет ТОЛЬКО нажатия на Enter? Или тот, который читает значение и потом ждет нажатия на Enter? Как ты хочешь чтобы себя вела программа? Что ты вводишь (с точностью до клавиши), и что НЕПРАВИЛЬНОГО происходит по-твоему?

Это я что, догадаться обо всем вышеперечисленном должен? Извини я не телепат. Нужна помощь - как минимум поставь вопрос корректно.
 К началу страницы 
+ Ответить 
sheka
сообщение 17.07.2009 10:22
Сообщение #34


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


если я правильно понял, тот, который читает значение и потом ждет нажатия на Enter - это вышеприведенный пример.
мне нужен тот, который ждет ТОЛЬКО нажатия на Enter.
 begin
writeln(' vot takoi ');
readln;
end.


так как Enter в ASCII имеет номер #13, почему (cin>>с)/*вот здесь не происходит присваивания с:=#13*/.get();

Сообщение отредактировано: sheka - 17.07.2009 10:34
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Account
сообщение 17.07.2009 21:12
Сообщение #35


Бывалый
***

Группа: Пользователи
Сообщений: 212
Пол: Мужской

Репутация: -  0  +



volvo, а по работе в IDE QT разбираешься?

Сообщение отредактировано: Account - 17.07.2009 22:10
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.07.2009 22:07
Сообщение #36


Гость






QT-шный интерфейс делали как-то, но не на С++ совсем. А почему здесь? Если есть вопросы по QT - надо в отдельную тему.
 К началу страницы 
+ Ответить 
Account
сообщение 17.07.2009 22:21
Сообщение #37


Бывалый
***

Группа: Пользователи
Сообщений: 212
Пол: Мужской

Репутация: -  0  +


Окей, ветку создам позже, а вот вопрос есть по поводу CodeBlock, создаю файл, пишу допустим прогу, ахочу выполнть пошагово, а отладчик отключен(
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.07.2009 22:35
Сообщение #38


Гость






1) project -> build options убедись, что генерируется отладочная информация (produce debugging symbols отмечено)
2) settings -> compiler and debugger -> debugger settings -> убедись, что дебаггер НЕ отключен.
3) поставь breakpoint в начало программы и нажми F8 ...
 К началу страницы 
+ Ответить 
Account
сообщение 17.07.2009 22:48
Сообщение #39


Бывалый
***

Группа: Пользователи
Сообщений: 212
Пол: Мужской

Репутация: -  0  +


Понял когда создаешь просто файл ресурсов он почемуто не включается, а когда проект, то активет, только не пойму, ставлю breakpoint перед объявление главной функции
Код
int main()
, пролетает ее, и пошагово почемуто не активно(

Ну и для sheka

#include <iostream>
#include <conio.h>

int main()
{
getch();
return 0;
}


а если создашь переменную типа char и присвоешь ей значение возвращаемое функцией getch(), то получишь свой код Enter (0Dh) )

Сообщение отредактировано: Account - 17.07.2009 22:57
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.07.2009 23:31
Сообщение #40


Гость






Цитата
ставлю breakpoint перед объявление главной функции
И чего ты хочешь от дебаггера? Выполнение программы начинается с main(), в любом случае должен получить что-то вроде:
Прикрепленное изображение
(т.е., дебаггер начнет работу с самого начала main). Содержимое вкладки Debugger - в студию.

Если не получается - попробуй создать чистый проект, в нем - самую простую тестовую. программу, и запусти ее... Если и в новом проекте не выходит - то попробуй обновить на последнюю "ночную сборку" у меня nightly build от 21 июня 2009.
 К началу страницы 
+ Ответить 

3 страниц V < 1 2 3 >
 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 11.12.2025 19:49
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"