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

Неполное чтение из файла в массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Умножение двоичных чисел . Посмотрите пожалуйста http://www.cyberforum.ru/cpp-beginners/thread678900.html
Вот у меня такая проблема . Не получается никак умножить (умножать нужно дополнительные коды): Знайти добуток D=A*(-B) А=25, В=20 Апк=011001 Впк=010100 -Апк=111001 -Впк=110100 -Азк=100110 -Взк=101011 -Адк=100111 -Вдк=101100
C++ Получить наибольшее целое k, при котором 4k < m пожалуйста напишите задачи Дано целое число m > 1. Получить наибольшее целое k, при котором 4k < m. http://www.cyberforum.ru/cpp-beginners/thread678897.html
C++ Задача про Обработку числовых последовательностей
Добрый вечер! :cry: Слезно прошу помощи в решение задачи с++, просто больше мне не к кому обратится. В универе програмирование всего 1 неделю и уже лабы пошли, а на лекции на тему Обработка числовых последовательностей, толком преподаватель ничего и не объяснил (хотя мы ему не однократно говорили об этом). Помогите решить задачу: "Пусть имеется последовательность произвольных целых...
C++ Распаковка файла
Здравствуйте! Столкнулся с проблемой в распаковке екзешного файла с помощью огромного количества распаковщиков. Пишет сообщение Microsoft Visual C++ 4.0 Overlay и что не может распаковать этот файл. Может кто-то сталкивался с этой проблемой и что можете посоветовать? Заранее спасибо.
C++ Определить, является ли введенная буква русского алфавита согласной http://www.cyberforum.ru/cpp-beginners/thread678875.html
Помогите пожалуйста написать программу в С++ по данным заданиям: 1)Для приготовления компота из персиков берут сахар, персики и воду в пропорции 1:1:3. Сколько кг каждого продукта надо взять, чтобы сварить Р кг компота? 2)Определить, является ли введенная буква русского алфавита согласной. 3)Найти наибольшее и наименьшее значение функции y = 3x2 + 5x – 7, если на заданном интервале x...
C++ Вычисление значений выражений написать программу чтобы она решала эти примеры! Пример 1: \int_{0}^{5} x \sqrt{2x+1} dx, \ h=1.0 Пример 2: x {e}^{2x} - 4 подробнее

Показать сообщение отдельно
Punktir
0 / 0 / 0
Регистрация: 01.12.2009
Сообщений: 35
23.10.2012, 23:24  [ТС]     Неполное чтение из файла в массив
Цитата Сообщение от Байт Посмотреть сообщение
Punktir, Мой совет. Читай строку как символьную и сам ее разбирай. Сам понимай где знаки операций, где числа, где пробелы. Дело в том, что "cin>>" как и scanf - штуки очень себе на уме. ИМХО, легче самому раздраконить строку, чем вникать в их логику.
Хотя выбор, как всегда - за тобой.
Суть проги как раз в присвоении приоритета операции / и *, в ручном переопределении новых значений ячеек массива после того как выполнится какое-либо из этих двух действий. И проблема как раз в том, что в попытке выдернуть вначале числа в 1 массив, а во 2 массив эти знаки ни к чему не привели,а когда char, то тупо мне все выражение запихивает в массив, откуда потом сложно выдергивать по-знаково в одно, численно в другое.

Суть вся вот в чем(без последующей записи в другой файл):

C++ (Qt)
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
33
34
35
36
37
 fstream calc;
    double z=0;
    char mas[5];
    char ch[10];
    int x;
    calc.open ("calc.in",ios::in);
    for (int i=0;i<9;i++)
        {
        calc  >>ch[i];
 
        }
 
        do {
          for (int i=0; i<9; i++)
           {
              if(mas[i]=='*')
                {
                ch[0]=1;
                ch[1]*=ch[2];
                ch[2]=ch[3];
                ch[3]=ch[4];
                ch[4]=0;
 
                    }cout<<ch[1];
                  if (mas[i]=='/')
                        {
                    ch[0]=1;
                    ch[1]=ch[1]*ch[2]/ch[3];
                    ch[2]=ch[3];
                    ch[3]=0;
                        }
                            if (mas[i]=='+')
                                ch[0]+=ch[1]+ch[2];
 
                                }
                                     }
                      while (calc>>x);
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru