Плиз,помогите написать функцию,которая бы делала тоже самое что и dos_input_output,но только чтобы вместо ввода с клавиатуры и вывода результата на экран; матрица А и вектор В считывались бы из одного текстового файла,а результат выводился в другой текстовый файл.Спасибо.
Извините что так написал,просто я с телефона.Если я тег начинаю использовать меня потом из моей учетки выкидывает и приходиться заново входить и так без конца
Code: const char* szFileName = "MyFile"; char texttowrite[64]; // инициализируешь массив значением FILE file = fopen(szFileName, "a"); if(file != NULL) { fwrite(texttowrite, sizeof(char), strlen(texttowrite), file); fclose(file); } читать функцией fread(). Можно использовать класс ofstream из fstream.h Code: ifstream input("file.in") ofstream output("file.out") input >> output <<
qwert135 Я не вижу ifstream in в том коде, что выше. Ты привел код, который вызывал ошибку или уже что-то исправил?
Приведенный мою код без ошибок и правильно работает.Я не знаю только как сделать файловый ввод/вывод.В текстовом файле должна быть введена расширенная матрица.Из нее надо взять матрицу А и вектор В, и записать ответ в другой текстовый файл.
Продумай формат хранения информации и прочитай пост #4927. Если будут ошибки по файловым потокам, запость код, как ты их создаешь и обращаешься к ним, весь код проекта не нужен.
Да то что написано в том посте я знаю.Я другое понять не могу:вот пользователь ввел расширенную матрицу,прога должна считать из файла все столбцы кроме последнего и присвоить их матрице А;а последний столбец должен быть присвоен вектору В;и надо подсчитать кол-во строк в файле.А вот как это запрогить я уже не знаю
#include <iostream.h> #include <fstream.h> #include <new.h> int main() { int str, i, j; char ch; int **a; ifstream in("1.txt"); str = 1; if(in) { while(in.get(ch)) { if(ch == '\n') { str++; } } } a = new int*[str]; for(i=0;i < str;i++) { a = new int[str]; } in >> a[j]; in.close(); for(i=0;i < str;i++) { for(j=0;j < str;j++) { cout << a[j] << " "; } cout << "\n"; } cout << str; delete []a; delete []a; return 0; } вопрос собственно следующий: почему вместо массива находящегося в файле прога выводит на экран массив с совсем другими числами и при каждом запуске проги эти числа меняются
В следующий раз оформи код тегом [*php] или [*code](звездочки не нужны) и оставь пару комментариев, бо читать очень трудно. Теперь по делу. Мне кажется, ты напутал что-то с указателями. Ты обращаешься к памяти по неправильному адресу, по этому адресу уже что-то лежит и ты его считываешь. Если оформишь все нормально, я постараюсь разобраться лучше.
Вообщем компилятор я нашол в Убунту но стоит мне скомпилировать что-то и запустить как пишет Pemisison Denied кто знает в чём проблема
-rwxr-xr-x 1 root root 58 2010-03-03 00:49 1 -rw-r--r-- 1 root root 19059 2010-03-03 00:53 2.c -rw-r--r-- 1 root root 9592 2010-03-03 00:53 2.o -rwxr-xr-x 1 root root 19059 2010-03-03 01:07 Untitled2 drwxr-xr-x 2 root root 4096 2010-03-01 22:49 Видео drwxr-xr-x 2 root root 4096 2010-03-01 22:49 Документы drwxr-xr-x 2 root root 4096 2010-03-03 00:44 Загрузки drwxr-xr-x 2 root root 4096 2010-03-01 22:49 Картинки drwxr-xr-x 2 root root 4096 2010-03-01 22:49 Музыка drwxr-xr-x 2 root root 4096 2010-03-01 22:49 Общедоступные drwxr-xr-x 3 root root 4096 2010-03-03 01:33 Рабочий стол drwxr-xr-x 2 root root 4096 2010-03-01 22:49 Шаблоны