Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C (СИ) Из двусвязного списка в односвязный Помогите пожалуйста переделать программу из двусвязного списка в односвязный (если не сложно) z.h #ifndef z_H_ #define z_H_ #include <conio.h> #include <locale.h> #include <stdio.h> #include <stdlib.h> #include <string.h> https://www.cyberforum.ru/ c-beginners/ thread1203652.html Переписать в массив Y элементы массива X c нечетными номерами, исправить ошибки в коде C (СИ)
Здравствуйте. Из целочисленного массива X(N), N≤20, сгенерированного случайным образом, пере-писать в массив Y элементы массива X c нечетными номерами, а в массив Z – элемен-ты массива X, значения которых кратны 5. Код есть, только он выводит каким то образом число большое, скрин ниже, посмотрите что не так, и если можно подправьте. #include <stdio.h> #include <stdlib.h> #include <conio.h>...
C (СИ) Сформировать стек L из элементов, которые входят одновременно в стеки L1 и L2 в порядке их появления Помогите, пожалуйста: Сформировать стек L из элементов, которые входят одновременно в стеки L1 и L2 в порядке их появления. https://www.cyberforum.ru/ c-beginners/ thread1203584.html C (СИ) Составьте программу упорядочения элементов по возрастанию во втором столбце матрицы A[N,K] составьте программу упорядочения элементов по возрастанию во втором столбце матрицы A https://www.cyberforum.ru/ c-beginners/ thread1203552.html
Найти наименьший элемент верхнего треугольника матрицы, находящегося над главной диагональю C (СИ)
Найти наименьший элемент верхнего треугольника матрицы, находящегося над главной диагональю. Удалить столбец, содержащий найденный элемент.
C (СИ) Сгруппировать нулевые элементы в конце массива, используя любой метод сортировки https://www.cyberforum.ru/ c-beginners/ thread1203503.html
дан массив неотрицательных чисел из 30 элементов.Сгруппировать нулевые элементы в конце массива,используя любой метод сортировки.Данные массива считать из текстового файла
C (СИ) Записать формулу на языке СИ i3+3in2+n https://www.cyberforum.ru/ c-beginners/ thread1203500.html C (СИ) Найти в каждом массиве максимальный элемент и его индекс
Даны два массива A и B,состоящие из 10 и 20 элементов соответственно. Найти в каждом массиве максимальный элемент и его индекс. Поменять местами максимальный элемент массива A с максимальным элементом массива B. Поиск максимального элемента оформить в виде подпрограммы
C (СИ) Вывести данные в виде таблицы https://www.cyberforum.ru/ c-beginners/ thread1203467.html
Задание:Разработать программу, вводит фактические данные из таблицы, предоставленной в Вашем варианте индивидуального задания и выводит на экран таблицу, подобную той, что находится в индивидуальном задании (включая заголовок и примечания). #іnclude <stdіo.h> іnt maіn(voіd) { char name1, name2, name3; unsіgned short tolsh1, tolsh2, tolsh3; float ves1, ves2, ves3;
C (СИ) Массив объединений: написать программу удаления информации о маршрутном такси с указанным номером https://www.cyberforum.ru/ c-beginners/ thread1203419.html
Помогите, пожалуйста! Задание с массивом объединений: Написать программу удаления информации о маршрутном такси с указанным номером.
C (СИ) Не могу разобраться с указателями в связанном списке
struct horse { char name; int age; char color; struct horse *next; }*first=NULL,*previes=NULL,*current=NULL ;Помогите разобраться с указателями в связанном списке,как прочитать вот эту строчку кода,чего-то я совсем запутался ?! previes->next=current;Где в конце концов окажется адрес указателя current, (*previes).next=current ? Добавлено через 1 час 25 минут
C (СИ) Удаление кольцевого списка - никак не удаляется head https://www.cyberforum.ru/ c-beginners/ thread1203193.html
Здравствуйте. Не получается удалить кольцевой список полностью. Никак не удаляется head. В итоге на выводе я вижу 2 символа, а не сообщение о том,что список пустой.MAKENULL отвечает за удаление всего списка.Не подскажите что не так?((#include <stdlib.h> #include <stdio.h> #include <string.h> #include <math.h> //УПОРЯДОЧЕННЫЙ СПИСОК typedef char atom;//обзовем char атомом struct List{ ...
0 / 0 / 0
Регистрация: 09.06.2014
Сообщений: 1
0

Чтение из файла - C (СИ) - Ответ 6295341

09.06.2014, 16:27. Показов 618. Ответов 0
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Есть следующий код, в котором производится чтение целых чисел из txt-файлов (CreateStack), операции с составленными из чисел стеками и вывод стеков (OutputStack). Требуется изменить код так, чтоб работа велась не с целыми числами, а с символами. Помогите, пожалуйста. Исходная задача сформулирована так: "Из двух стеков с целыми числами создать новый стек из элементов первого стека, которых нет во втором стеке."


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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <windows.h>  // SetConsoleOutputCP, SetConsoleCP
#include <stdio.h>    //printf , fgets
#include <conio.h>    // getch
#include <string.h>   // strcpy, strncmp, strchr
//---------------------------------------------------------------------------
 
struct TElem {  // моделирование стека на основе односвязного списка
    int Info;
    TElem *Next;  // или struct TElem *Next; здесь и далее
};
//-----------------------прототипы-------------------------------------------
TElem* PushStack(TElem *St, int Info); // добавить элемент в стек
int PopStack(TElem **PSt);  //извлечь элемент из стека
//----------первая часть: создание стека из текстового файла
TElem* CreateStack(char*);
//----------вторая часть: вывод стека на экран ------
void OutputStack(TElem *St);
//----------третья часть: решение задачи -------------
TElem* Decide(TElem **St1, TElem **St2, TElem *St3);
//----------четвертая часть: освобождение памяти -----
void FreeStack(TElem *St);
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
    TElem *StackTop1=NULL, *StackTop2=NULL, *StackTop3=NULL;
    char ch;
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
 
    do{
 
    printf("\nN - создать новый стек; V - вывод; D - решение; F - освободить; \
E - конец.\nВаш выбор?");
    ch=getchar();   fflush(stdin);
    ch=toupper(ch);
    switch (ch) {
//----------первая часть: создание стека из текстового
      case 'N': if (StackTop1) {
                    printf("Error: сначала надо освободить память!"); break;
                }
                StackTop1 = CreateStack(argv[1]);
                StackTop2 = CreateStack(argv[2]);
                printf("Press any key to continue");
                getch();
                break;
//----------вторая часть: вывод стеков на экран ------
      case 'V': printf("Первый стек:\n"); OutputStack(StackTop1);
                printf("Второй стек:\n"); OutputStack(StackTop2);
                printf("Третий стек:\n"); OutputStack(StackTop3);
                break;
//----------третья часть: решение задачи -------------
      case 'D': StackTop3 = Decide(&StackTop1, &StackTop2, StackTop3);
                break;
//----------четвертая часть: освобождение памяти -----
      case 'F': FreeStack(StackTop1);
                FreeStack(StackTop2);
                FreeStack(StackTop3);
                StackTop1 = StackTop2 = StackTop3 = 0;
                printf("Вся память под стеки особождена\n");
                break;
//-----------------------выход------------------------
      case 'E': return 0;
    default:
      printf("Нет такой команды\nPress any key");
      getch();
    }
 
    } while (ch!='E');
 
    return 0;
}
//---------------------------------------------------------------------------
TElem* PushStack(TElem *St, int Info){ // добавить элемент в стек
    TElem *Elem= new TElem;
    Elem->Info = Info;
    Elem->Next = St;
    return Elem; // Адрес новой вершины
}
int PopStack(TElem **PSt){ //извлечь элемент из стека
    TElem *Elem = *PSt;
    int Info = Elem->Info;
    *PSt = Elem->Next;
    delete Elem;
    return Info;
}
 
 
//----------первая часть: создание стека из текстового
TElem* CreateStack(char* name){
    FILE* ft;
    ft = fopen(name, "r");
    if (ft == 0) {
        printf("Не открыт файл %s\n",name);
        return 0;
    }
    int i;
    int k, kol;
    kol = 0;
    TElem* Elem = 0;
    while(1){
        k = fscanf(ft,"%d",&i);
        if (k != 1) break;
        Elem = PushStack(Elem, i);
        kol++;
    }
    printf(" Создан стек из %d элементов \n",kol);
    fclose(ft);
    return Elem;
}
//----------вторая часть: вывод стека на экран ------
void OutputStack(TElem *St){
    while (St){
        printf("%d\n", St->Info);
        St = St->Next;
    }
    printf("Press any key to continue\n");
    getch();
    return;
}
//----------третья часть: решение задачи -------------
TElem* Decide(TElem **pSt1, TElem **pSt2, TElem *St3){
    FreeStack(St3);
    int i, j, fl, kol = 0;
    TElem *St4 = 0;
    TElem *St5 = 0;
    while (*pSt1){
        //i = (*St1).Info
        i = PopStack(pSt1);
        St4 = PushStack(St4, i);
        fl = 0;
        while (*pSt2){
            j = PopStack(pSt2);
            St5 = PushStack(St5, j);
            if (i == j){
                fl = 1;
                break;
            }
        }
        while (St5){
            j = PopStack(&St5);
            *pSt2 = PushStack(*pSt2, j);
        }
        if (fl == 0){
            St3 = PushStack(St3, i);
            kol++;
        }
 
    }
    while (St4){
        j = PopStack(&St4);
        *pSt1 = PushStack(*pSt1, j);
    }
    printf(" Создан стек из %d элементов\n", kol);
    printf("Press any key to continue");
    getch();
    return St3;  // новый адрес через результат функции вернется
}
//----------четвертая часть: освобождение памяти -----
void FreeStack(TElem *St){
    while (St){
        PopStack(&St);
    }
    return;
}
//---------------------------------------------------------------------------


Вернуться к обсуждению:
Чтение из файла C (СИ)
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.06.2014, 16:27
Готовые ответы и решения:

Чтение чисел из файла. Чтение после конца потока невозможно
Товарищи, помогите. В Pascal'e я не силен, так что не бейте меня ногами, но есть задача: написать...

Как заменить чтение строки из консоли на чтение текстового файла?
основное задание: найти частоту суффикса (например, &quot;ing&quot;) в текстовом документе. в...

Чтение файла, чтение названия папки где находится файл, запись данных на PHP
Допустим у нас есть структура с папками типа Large -&gt; Vehicles -&gt; Firetruck_0 В этой папке лежит...

Чтение заголовка PCX файла и чтение растровых данных PCX файла
Привет форумчане! Столкнулся с такой проблемой. Нужно считать заголовок PCX файла и растровые...

0
09.06.2014, 16:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2014, 16:27
Помогаю со студенческими работами здесь

Чтение файла CSV и чтение из Table View
Здравствуйте, задача считать столбцы и строки excel в TextEdit. Прошу помощи в реализиции. ...

Чтение бинарного файла - чтение первых 9 байт
Есть код, который читает первые 9 байт бинарного файла(заголовок записи) void...

Переделать в коде чтение из файла в чтение с клавиатуры
Переделайте что бы текст считывался с клавиатуры, а не с файла! Буду благодарен за помощь! //файл...

Чтение из файла. Повторное чтение файла
Добрый день. Необходимо реализовать в программе функцию повторного чтения данных из файла, в случае...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru