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

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

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

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

20.09.2009, 10:35. Просмотров 453. Ответов 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++ Снова палиндромы с++
C++ снова о массивах
C++ и снова С++
C++ Снова Pacman
C++ Снова о локализации
C++ Снова конструктор
C++ и снова змейка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 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
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 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
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
20.09.2009, 12:13  [ТС]     Снова вопросы КиР #8
R0mm, нельзя ли сделать что бы с файл читало?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2009, 12:28     Снова вопросы КиР
Еще ссылки по теме:

C++ снова pow
C++ И снова argv[]
и снова графика в C++ C++
C++ И снова потоки
C++ Снова try catch

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

Или воспользуйтесь поиском по форуму:
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");
}
Yandex
Объявления
20.09.2009, 12:28     Снова вопросы КиР
Ответ Создать тему
Опции темы

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