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

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

Войти
Регистрация
Восстановить пароль
 
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,235
Завершенные тесты: 1
#1

Снова вопросы КиР - C++

20.09.2009, 10:35. Просмотров 464. Ответов 8
Метки нет (Все метки)

существует код:
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
#include "windows.h"
#include "stdio.h"
#include "math.h"
#include "stdlib.h"
#include <conio.h>
#include <iostream>
#include "time.h"
#include <ctype.h>
using namespace std;
 
#define maxline 1000
char save[maxline];
int max;
 
int copy()
{
    int i; 
    extern char line[], save[];
    i=0;
    while((save[i]=line[i])!='\0')
        ++i;
}
int getline()
{
    int c, i;
    extern char line[];
    for(i=0; i<maxline-1 && (c=getchar())!=EOF && c!='\n'; ++i)
        line[i]=c;
    ++i;
    line[i]='\0';
    return(i);
}
 
int main()
{
    int len;
    extern int max;
    extern char save[];
    max=0;
    while((len=getline())>0) 
    if(len>max)
    {
        max=len;
    copy();
    }
    if(max>0)
        printf("%s", save);
    
    system("pause");
}
выдает ошибку
Error 1 error C2872: 'max' : ambiguous symbol c:\documents and settings\ag\my documents\visual studio 2008\projects\proba\proba\code.cpp 46 proba
=======================
2-ой вопрос:
Там в книге дается упражнение.Reverse(c) это функция которая пишет строчку в обратном направлении,надо использовать его в проге,но эта фунция в каком классе находится????
я в своем коде что сверху,все классы которые знал добавил..
помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2009, 10:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Снова вопросы КиР (C++):

Как сделать чтобы таймер дойдя до 0 стартовал снова и снова? - C++
Здравствуйте :) Как сделать чтобы таймер дойдя до 0 стартовал снова и снова? TimerSec = 59; TimerMin = 6; for(int i = TimerSec;...

и снова С++ - C++
помогите записать програмку которая сможет написать минимальное количество простых присваиваний, содержащих по одному умножению (без...

Снова конструктор - C++
в книге написан пример NoD(std::istream &amp;is) { is &gt;&gt; *this; } а по заданию надо его еще сделать по умолчанию std::cin при...

и снова змейка - C++
у меня огромная просьба,задали на выходные написать змейку на С++ в Visual Sudio 2010, но очень много ограничений в плане библиотек,поэтому...

Снова палиндромы с++ - C++
итак есть условие задачи с++ &quot;По N, M найти сумму тех чисел из, которые являются палиндромами. &quot; вот решение набросал #include...

И снова argv[] - C++
Всем привет! Сегодня столкнулась вот c такой вот непонятностью: int _tmain(int argc, char *argv) { cout&lt;&lt;argv; }

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BOR1K
14 / 14 / 4
Регистрация: 19.09.2009
Сообщений: 289
20.09.2009, 10:59 #2
Почему в функциях не указанны параметры?
R0mm
Псевдо программист
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
20.09.2009, 11:09 #3
Цитата Сообщение от МедведЪ Посмотреть сообщение
Reverse(c)
Наверняка эту функцию ты должен описать сам, либо она описана авторами учебника. Смотри исходники к книге.

Добавлено через 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
 
#define maxline 1000
 
char save[maxline];
char line[maxline];
int max;
 
void copy()
{
    int i;
    extern char line[], save[];
    i=0;
    while((save[i]=line[i])!='\0')
    ++i;
}
 
int getline(){
    int c, i;
    extern char line[];
    for(i=0; i<maxline-1 && (c=getchar())!=EOF && c!='\n'; ++i)
    line[i]=c;
    ++i;
    line[i]='\0';
    return(i);
}
 
int main(){
    int len;
    extern int max;
    extern char save[];
    max=0;
    while((len=getline())>0)
        if(len>max){
            max=len;
            copy();
        }
    if(max>0)
        printf("%s", save); 
    system("pause");
}
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,235
Завершенные тесты: 1
20.09.2009, 11:37  [ТС] #4
Цитата Сообщение от R0mm Посмотреть сообщение
Наверняка эту функцию ты должен описать сам, либо она описана авторами учебника. Смотри исходники к книге.
в книге написано:
функция reverse(c); выводит трочку в обратном направлении,используйте его в вашей программе
Добавлено через 2 минуты
Цитата Сообщение от BOR1K Посмотреть сообщение
Почему в функциях не указанны параметры?
потому что эту книгу не я написал
R0mm
Псевдо программист
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
20.09.2009, 11:55 #5
C++
1
2
3
4
5
6
7
void Reverse ( char s[ ] ){
     char Ch;
     int  i, j;
     for (i=0, j=strlen(s) - 1; i<j; i++, j--){
            Ch = s[i]; s[i] = s[j]; s[j] = Ch; 
     }
}
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,235
Завершенные тесты: 1
20.09.2009, 12:09  [ТС] #6
R0mm, прокомментируй пож

Добавлено через 1 минуту
R0mm, не работает твой код,ничего не выводится

Добавлено через 8 минут
C++
1
2
3
4
5
6
7
8
9
10
int getline(){
    FILE *f=fopen("c:\\test.txt", "r");
        int c, i;
        extern char line[];
        for(i=0; i<maxline-1 && (c=getc(f))!=EOF && c!='\n'; ++i)
        line[i]=c;
        ++i;
        line[i]='\0';
        return(i);
}
немного переделал прогу,добавил чтобы из файла читала,в компиляторе ошибок не выдает,но открывается окно
debug assertion failed
и там еще че то пишет,скрин сделать?
R0mm
Псевдо программист
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
20.09.2009, 12:12 #7
Цитата Сообщение от МедведЪ Посмотреть сообщение
не работает твой код,ничего не выводится
это не мой код %) я просто исправил ошибку.

Ну а вот отлаженный код %)
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
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
 
#define maxline 1000
 
char save[maxline];
char line[maxline];
int max;
 
void copy()
{
        int i;
        extern char line[], save[];
        i=0;
        while((save[i]=line[i])!='\0')
        ++i;
}
 
int getline(){
        int c, i;
        extern char line[];
        for(i=0; i<maxline-1 && (c=getchar())!=EOF && c!='\n'; ++i)
        line[i]=c;
        ++i;
        line[i]='\0';
        return(i);
}
 
int main(){
        int len;
        extern int max;
        extern char save[];
        max=0;
        while((len=getline())>1)
                if(len>max){
                        max=len;
                        copy();
                }
        if(max>0)
                printf("%s\n", save); 
        system("pause");
}
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,235
Завершенные тесты: 1
20.09.2009, 12:13  [ТС] #8
R0mm, нельзя ли сделать что бы с файл читало?
R0mm
Псевдо программист
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
20.09.2009, 12:28 #9
Учимся думать сами
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
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
 
#define maxline 1000
 
char save[maxline];
char line[maxline];
int max;
 
void copy()
{
        int i;
        extern char line[], save[];
        i=0;
        while((save[i]=line[i])!='\0')
        ++i;
}
 
int getline(FILE *f){
        int c, i;
        extern char line[];
        for(i=0; i<maxline-1 && (c=getc(f))!=EOF && c!='\n'; ++i)
        line[i]=c;
        ++i;
        line[i]='\0';
        return(i);
}
 
int main(){
        int len;
        extern int max;
        extern char save[];
        FILE *f = fopen("D:/a.txt", "r");
        if (f==NULL) return -1;
        max=0;
        while((len=getline(f))>1)
                if(len>max){
                        max=len;
                        copy();
                }
        if(max>0)
                printf("%s\n", save); 
        system("pause");
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2009, 12:28
Привет! Вот еще темы с ответами:

Снова Pacman - C++
Доброго времени суток, господа! Прошу помочь советом начинающему. Суть проблемы: в pacman'е собственного изготовления все вроде бы...

Снова о локализации - C++
Ранее было много рецептов относитьельно локализации консоли. Выведя, одну строку в поток на русском можно было, но после этого ввод в cin...

и снова графика в C++ - C++
Постройте график функции y = 3x2 -7 на интервале . Обозначьте оси координат, нарисуйте координатную сетку, укажите цены делений и пределы...

снова pow - C++
Вроде всё ясно, но!! Edit1-&gt;Text=FloatToStr(pow(0,0)); пишет единицу как положено, но при этом вылазит pow domain error..Какого?! ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.09.2009, 12:28
Ответ Создать тему
Опции темы

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