Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/48: Рейтинг темы: голосов - 48, средняя оценка - 4.63
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
1

что то вроде программки,которая проверяет Hosts и лечит

29.10.2009, 19:14. Показов 9295. Ответов 99
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void main (){
 
int c=0;
FILE *f=fopen("C:\WINDOWS\system32\drivers\etc\hosts", "a");
 
while((c=getc(f))!=EOF){
 
    if(c!="127.0.0.1 localhost"){
        cout<<"File hosts is infected";
f = fopen("C:\WINDOWS\system32\drivers\etc\hosts", "w");
fputs("127.0.0.1 localhost", f);
    }
}
 
fclose(f);
 
}
это мой код,вот на этом месте
if(c!="127.0.0.1 localhost")
я на этом месте не знаю как поступить
надо написать код,ктороый если находит другие строки кроме заводских строк-должен удалять их...как сделать?

Добавлено через 4 минуты
вопрос некорректно задал
в файле есть некий текст,определить,если кроме этого текста есть и другие слова,то удалить весь текст и добавить
127.0.0.1 loaclhost
это мой алгоритмн
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2009, 19:14
Ответы с готовыми решениями:

Напишите программу, которая проверяет что строка состоит из чисел и букв вперемешку, используя только эти две команды
На вход какая-то строка, гарантируется что она содержит только буквы и/или цифры (без всяких &quot;-&quot;,...

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

Защитник видновс вечно что то лечит. Диск очень греется (до 100Мб/с) 100% загрузка
Вот такое уже 7 дней._. Диск буквально горит Что он ищет? Что там он так удаляет долго, что...

Перепишите, пжл, 3 программки в 3 программки в CSS
1файл &lt;html&gt; &lt;head&gt; &lt;title&gt;Laba_2&lt;/title&gt; &lt;/head&gt; &lt;body bgcolor=grey WIDTH=&quot;50%&quot; height=50%&gt;...

99
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
03.11.2009, 14:48 61
Author24 — интернет-сервис помощи студентам
МедведЪ, функция fgets удобна для считывания данных построчно. Т.к. она возвращает указатель на прочитанную строку, или NULL, можно читать файл примерно так:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <stdlib.h>
 
int main(){
    char buf[BUFSIZ];
    FILE *f;
 
    if ( (f = fopen("my_file.txt", "r") == NULL )
        exit(1);
 
    while ( fgets(buf, BUFSIZ, f) ){
        /* в buf прочитанная строка из файла с завершающим '\n' */
    }
    
    fclose(f);
    exit(0);
}
0
Эксперт С++
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
03.11.2009, 19:53 62
Цитата Сообщение от МедведЪ Посмотреть сообщение
3.Если удалось то каким то невооброзимым образом сравниваем строки из файла с типом чар
МедведЪ, как ты будешь сравнивать строки, если будешь считывать по символу из файла (getc'м)?
Тебе нужно сравнивать не строки, а символы. Что тебе мешает сравнить два символа?
C++
1
2
3
4
if(ch1 == ch2)
  // равны
else
  // не равны
Вот и читай по символу из файла и сравнивай с соответсвующим символом строки.
У тебя нет строк - у тебя есть символы! Сравнивай символы.
Что такое строка? Массив символов. Что тебе мешает обратится к i-му символу строки? Ничего.
Считал первый символ из файла - сравнил с первым символом из твоей строки, считал второй - сравнил со вторым, считал третий - сравнил с третьим и т.д.
Жду код.
0
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
03.11.2009, 23:35 63
Все обсуждения записи скрытого текста в файл здесь Запись скрытого текста в файл
2
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
04.11.2009, 00:41  [ТС] 64
Цитата Сообщение от M128K145 Посмотреть сообщение
Все обсуждения записи скрытого текста в файл здесь Запись скрытого текста в файл
слава богу,на земле есть справедливость!
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
МедведЪ, как ты будешь сравнивать строки, если будешь считывать по символу из файла (getc'м)?
Тебе нужно сравнивать не строки, а символы. Что тебе мешает сравнить два символа?Код C++
1
2
3
4
if(ch1 == ch2)
// равны
else
// не равны
Вот и читай по символу из файла и сравнивай с соответсвующим символом строки.
У тебя нет строк - у тебя есть символы! Сравнивай символы.
Что такое строка? Массив символов. Что тебе мешает обратится к i-му символу строки? Ничего.
Считал первый символ из файла - сравнил с первым символом из твоей строки, считал второй - сравнил со вторым, считал третий - сравнил с третьим и т.д.
Жду код.

CyBOSSeR, я вроде если не ошибаюсь в самом начале так и сделал...дай подскажку,надо тут юзать fgets?

Добавлено через 1 минуту
C++
1
2
3
4
fgets(f, 200, char);
//c=getc(f)
if(c==char)//
else //
так ?
0
Эксперт С++
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
04.11.2009, 12:21 65
МедведЪ, Нет не надо использовать fgets, только getc. Этого для решения достаточно.
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
#include<iostream>
#include<locale.h>
#include<stdio.h>
 
int main()
{
  setlocale(LC_ALL, "Russian");
 
  char*  = "# (C) Корпорация Майкрософт (Microsoft Corp.), 1993-1999\n
#\n
# Это образец файла HOSTS, используемый Microsoft TCP/IP для Windows.\n
#\n
# Этот файл содержит сопоставления IP-адресов именам узлов.\n
# Каждый элемент должен располагаться в отдельной строке. IP-адрес должен\n
# находиться в первом столбце, за ним должно следовать соответствующее имя.\n
# IP-адрес и имя узла должны разделяться хотя бы одним пробелом.\n
#\n
# Кроме того, в некоторых строках могут быть вставлены комментарии \n
# (такие, как эта строка), они должны следовать за именем узла и отделяться\n
# от него символом '#'.\n
#\n
# Например:\n
#\n
#      102.54.94.97     rhino.acme.com          # исходный сервер\n
#       38.25.63.10     x.acme.com              # узел клиента x\n
\n
127.0.0.1       localhost";
 
  FILE* hosts = fopen("C:\\Windows\\System32\\drivers\\etc\\hosts", "r");
 
  if(!hosts){
    std::cout << "Не удалось открыть файл hosts" << std::endl;
    return 0;
  }
 
  // Очередной символ считанный из файла
  char ch;
  // Индекс очередного символа строки standart_hosts
  int n = 0;
 
  while((ch = getc(hosts)) != EOF){
    // Здесь ты сравниваешь ch с очередным символом строки standart_hosts
    // Если не эквивалентны выводишь сообщение и перезписываешь файл
  }
 
  std::cout << "Файл hosts не модифицирован" << std::endl;
  
  return 0;
}
Просто допиши этот исходник.
1
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
04.11.2009, 13:41  [ТС] 66
CyBOSSeR, а к чему тут индекс?Оо
разве не так
if(ch==host)//
?
0
Эксперт С++
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
04.11.2009, 14:45 67
Цитата Сообщение от МедведЪ Посмотреть сообщение
CyBOSSeR, а к чему тут индекс?Оо
разве не так
if(ch==host)//
?
ch - это символ (char), host - указатель на файл (FILE*).
У них совершенно разный тип. Как ты себе представляешь сравнение стола с лимоном? Я - плохо. А вот стол со столом, или лимон с лимоном сравнить можно.
Тебе нужно сравнивать символы - char с char.
Индекс нужен для того, чтобы обратится к определенному символу строки. Предположим мне нужен пятый символ строки. Как его получить?
C++
1
2
char* str = "abcdef";
ch = a[4] // ch == 'e'
Вот и все, ничего сложного.
Еще раз повторяю : считал первый символ - сравнил с первым символом строки hosts_standart, считал второй - сравнил со вторым, считал третий - сравнил с третьим и т.д.
Или вот еще тебе пример:
Распечатать через пробел все символы строки "Test string";
C++
1
2
3
4
5
char* str = "Test string";
int i;
 
for(i = 0; i < strlen(str); ++i)  // strlen возвращает количество символов в строке
  cout << str[i] << " ";
Теперь понимаешь, зачем нужен индекс?
1
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
04.11.2009, 17:01  [ТС] 68
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
if(ch==host)//
для меня тут hosts это тип чар
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Теперь понимаешь, зачем нужен индекс?
да да спасибо

Добавлено через 50 минут
у меня как то не арвильно работает цикл вот
код

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
#include <windows.h>
#include <string.h>
#include <string>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream> 
#include<locale.h>
#include<stdio.h>
 
int main()
{
  setlocale(LC_ALL, "Russian");
 
  char* str = "# (C) Корпорация Майкрософт (Microsoft Corp.), 1993-1999\n#\n# Это образец файла HOSTS, используемый Microsoft TCP/IP для Windows.\n#\n# Этот файл содержит сопоставления IP-адресов именам узлов.\n# Каждый элемент должен располагаться в отдельной строке. IP-адрес должен\n# находиться в первом столбце, за ним должно следовать соответствующее имя.\n# IP-адрес и имя узла должны разделяться хотя бы одним пробелом.\n#\n# Кроме того, в некоторых строках могут быть вставлены комментарии \n# (такие, как эта строка), они должны следовать за именем узла и отделяться\n# от него символом '#'.\n#\n# Например:\n#\n#      102.54.94.97     rhino.acme.com          # исходный сервер\n#       38.25.63.10     x.acme.com              # узел клиента x\n\n127.0.0.1       localhost";
 
 
  FILE* hosts = fopen("C:\\Windows\\System32\\drivers\\etc\\hosts", "r");
 
  if(!hosts){
    perror("Не удалось открыть файл hosts");
    return 0;
  }
 
  // Очередной символ считанный из файла
  char ch;
  // Индекс очередного символа строки standart_hosts
  int n = 0;
 
  while((ch = getc(hosts)) != EOF){
    // Здесь ты сравниваешь ch с очередным символом строки standart_hosts
    // Если не эквивалентны выводишь сообщение и перезписываешь файл
 
      
      
      
 
 
while( n < strlen(str)){
n++;    
if(ch==str[n]){
 
std::cout<<"OK";
 
 
}
else std::cout<<"no";
 
}
 
 
 
}
 
 
 
 
 
 
  system("pause");
  return 0;
}

просто выводится много раз ОК и no,пробовал и с break

Добавлено через 8 минут
C++
1
2
3
4
5
6
7
8
9
10
11
while( n < strlen(str)){
    n++;}   
 
if(ch==str[n]){
 
std::cout<<"OK";
 
break;
}
else std::cout<<"no";
break;
вот немножко поменял,теперь по одному разу выводится...но выводится NO,для проверки подключил файл где только буква а,а в условии тоже поменял на а,но все говорит что не совподают...что не так?
0
Эксперт С++
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
04.11.2009, 19:13 69
Дело в этом цикле
C++
1
2
3
while(n < strlen(str)){
  n++;
}
"Пока n меньше длины строки увеличиваем значение n". В итоге значение n после выхода из цикла будет равно strlen(str), и n будет указывать на символ окончания строки, т.е '0'.
Для чего тебе это?
По моему дело в том, что ты не понимаешь как работает getc.
Допиши ниже представленную программу, которая должна выводить содержание файла с помощью getс.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
 
int main()
{
  FILE* file = fopen("file.txt", "r");
 
  if(!file){
    printf("File not open\n");
    return 0;
  }
 
  char ch;
 
  // Сюда вставь код, который будет считывать по символу из файла
  // и выводить их на экран
  // 
  // Использую ТОЛЬКО две функции
  // getc - для считывания очередного символа
  // printf - для вывода символа на экран
 
  return 0;
}
После этого мы немного изменим твой исходник и сравнение будет работать.
1
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
04.11.2009, 19:20  [ТС] 70
C++
1
2
ch=getc(f);
printf(ch);
так?

Добавлено через 1 минуту
CyBOSSeR, я еще поменял код вот:
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
#include <windows.h>
#include <string.h>
#include <string>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream> 
#include<locale.h>
#include<stdio.h> 
int main()
{
  setlocale(LC_ALL, "Russian"); 
 char* str = "# (C) Корпорация Майкрософт (Microsoft Corp.), 1993-1999\n#\n# Это образец файла HOSTS, используемый Microsoft TCP/IP для Windows.\n#\n# Этот файл содержит сопоставления IP-адресов именам узлов.\n# Каждый элемент должен располагаться в отдельной строке. IP-адрес должен\n# находиться в первом столбце, за ним должно следовать соответствующее имя.\n# IP-адрес и имя узла должны разделяться хотя бы одним пробелом.\n#\n# Кроме того, в некоторых строках могут быть вставлены комментарии \n# (такие, как эта строка), они должны следовать за именем узла и отделяться\n# от него символом '#'.\n#\n# Например:\n#\n#      102.54.94.97     rhino.acme.com          # исходный сервер\n#       38.25.63.10     x.acme.com              # узел клиента x\n\n127.0.0.1       localhost";
  FILE* hosts = fopen("C:\\Windows\\System32\\drivers\\etc\\hosts", "r"); 
  if(!hosts){
    perror("Не удалось открыть файл hosts");
    return 0;
  } 
 char ch;
  int n = 0;
 int a=0;
ch=getc(hosts);
     a=strlen(str);
if(ch==str[a]){
std::cout<<"OK\n";
}
else if(ch!=str[a]) std::cout<<"no\n"; 
  fclose(hosts);
  system("pause");
  return 0;
}
на сколькооценишь переделку

Добавлено через 28 секунд
я вообщеудалил while
0
Эксперт С++
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
04.11.2009, 19:39 71
Цитата Сообщение от МедведЪ Посмотреть сообщение
C++
1
2
ch=getc(f);
printf(ch);
так?
Не угадал
Ты просто считал ОДИН символ из файла и вывел его на экран. А надо вывести все содержание файла. getc считывает ОДИН символ, ОДИН, и только ОДИН. При этом переводит указатель файла на следующий символ. Если достигнут конец файла возвращает EOF
Содержание файла:
1234
Код:
C++
1
2
3
4
5
6
7
char ch;
// file - указатель на файл полученный после fopen
ch = getc(file); // ch == 1
ch = getc(file); // ch == 2
ch = getc(file); // ch == 3
ch = getc(file); // ch == 4
ch = getc(file); // ch == EOF
Перепиши свой код. Вот этот:
Цитата Сообщение от МедведЪ Посмотреть сообщение
C++
1
2
ch=getc(f);
printf(ch);
Уясни для себя что делает getc, иначе двигаться дальше не получится.

Добавлено через 2 минуты
Цитата Сообщение от МедведЪ Посмотреть сообщение
я вообщеудалил while
Без while никак.
0
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
04.11.2009, 20:08  [ТС] 72
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Без while никак.
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Уясни для себя что делает getc, иначе двигаться дальше не получится.
а я вообще думал что getc выводит все содержание.....ну теперь как?

Добавлено через 16 минут
поменял снова вот:
C++
1
2
3
4
5
6
7
8
9
  while((ch = getc(hosts)) != EOF){   
      if(ch==str[a]){
std::cout<<"OK\n";
break;
}
      else if(ch!=str[a]) {std::cout<<"no\n";
      break;
      }
  }
но все равно ошибку находит

Добавлено через 16 секунд
точнее ошибок нет то пишет NO
0
Эксперт С++
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
04.11.2009, 20:10 73
Цитата Сообщение от МедведЪ Посмотреть сообщение
а я вообще думал что getc выводит все содержание.....ну теперь как?
Я так и понял. getc просто возвращает очередной символ и все.
Посмотри на ее прототип:
C++
1
char getc(FILE* file)
Функция принимает указатель на файл (тип FILE*), а возвращает символ (тип char). Что такое char? Символ, ОДИН символ. Как в него можно запихнуть все содержание файла? Это невозможно.
Вернемся к задаче с выводом содержания файла.
Нам надо вывести все содержание файла на консоль. Для этого мы должны последовательно считать все символы из файла и вывести их. Продолжать мы это должны пока getc не вернет EOF. Т.е. считали с помощью getc символ, проверили что это не EOF, вывели, считали следующий, проверили, вывели и т.д.
Все просто.
Немного измени код, связанный с задачей вывода содержания файла на консоль.
Вот этот:
C++
1
2
ch=getc(f);
printf(ch);
Подсказка: надо использовать while.
0
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
04.11.2009, 20:13  [ТС] 74
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Перепиши код, связанный с задачей вывода содержания файла на консоль.
Подсказка: надо использовать while.
да это легко у меня просто гемор с проверкой символа...щас напишу
C++
1
2
3
int c=0;
FILE *f=fopen("text.txt", "r");
while((c=getc(f))!=EOF)cout<<c;
вот
0
Эксперт С++
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
04.11.2009, 20:23 75
Я тобой горжусь
Что конкретно тебе непонятно с проверкой?
0
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
04.11.2009, 20:25  [ТС] 76
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Я тобой горжусь
до до дооо ахаха спасибо учитьэл
вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
     a=strlen(str);
  while((ch = getc(hosts)) != EOF){
 
      
      if(ch==str[a]){
 
std::cout<<"OK\n";
 
break;
}
      else if(ch!=str[a]) {std::cout<<"no\n";
      break;
      }
 
 
  }
все равно говоорит что типа не совподают
0
Эксперт С++
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
04.11.2009, 20:47 77
C++
1
a=strlen(str);
Опять же: проговори про себя что делает этот код.
"Присваиваем a значение равное длине строки str"
Т.е. если str = "abcd" получается, что a = 4, a str[a] = '\0'. Ты в курсе, что строки заканчиваются нулевым символом, т.е. строка "abc" на самом деле является строкой "abc\0"?
Символ '\0' означает конец строки. Это очень удобно - встретил в строке символ '\0' - значит она закончилась. Все функции, работающие со строками пользуются этим. Например strlen.
Как работает strlen? Очень просто:
C++
1
2
3
4
5
6
7
8
9
int strlen(const char* str)
{
  int lenght = 0;
  
  while(str[lenght] != '\0')
    lenght++;
 
  return lenght;
}
Ты должен сравнивать ПЕРВЫЙ считанный символ с ПЕРВЫМ символом строки str, ВТОРОЙ со ВТОРЫМ, ТРЕТИЙ с ТРЕТИМ и т.д.
А как ты сравниваешь: ПЕРВЫЙ с ПОСЛЕДНИМ (нулевым), ПЕРВЫЙ с ПОСЛЕДНИМ (нулевым), ПЕРВЫЙ с ПОСЛЕДНИМ (нулевым) и т.д.

Индекс n, о котором я тебе говорил нужен именно для того чтобы переходит к следующему символу строки str.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
char* str = "abcd";
char ch;
int n = 0;
 
ch = str[n]; // n == 0, ch == a
n = n + 1;
 
ch = str[n]; // n == 1, ch == b
n = n + 1;
 
ch = str[n]; // n == 2, ch == c
n = n + 1;
 
ch = str[n]; // n == 3, ch == d
n = n + 1;
 
ch = str[n]; // n == 4, ch == '\0'
n = n + 1;
Понял для чего нужен индекс?
0
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
04.11.2009, 21:06  [ТС] 78
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Понял для чего нужен индекс?
аааа как я понял он как бы указывает функциям на первые потом вторые символы да?так а теперь как в моем коде его юзать
0
Эксперт С++
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
04.11.2009, 21:13 79
Ученик... Индекса истину познать сам должен ты... Вся информация нужная есть у тебя... Разбуди силу великую в себе...
0
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
04.11.2009, 21:20  [ТС] 80
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Разбуди силу великую в себе...
да какая великая сила если немогу сраавнивать чар с чаром...дай подскажку не доходит никак

Добавлено через 2 минуты
CyBOSSeR, хмм смотри у меня так
ch==str[a]
вот иподумал что если и ch-у приписать индекс,то получится 1 и 1, 2 и2но у меня ошибка у меня там указатель стоит,щас попробую переделать
0
04.11.2009, 21:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.11.2009, 21:20
Помогаю со студенческими работами здесь

C:\Windows\system32\drivers\etc\hosts нет файла Hosts
1) Была активация на пакет adobe, она слетела - пошел искать хост что б посмотреть как так он...

Функция, которая проверяет нажата ли клавиша?
Здравствуйте всем. Функция принимающая строку в качестве аргумента. Должна проверить нажата ли...

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

Функция, которая проверяет соседние элементы
Дан массив a Функция, которая проверяет, что в каждой строке есть 2 соседних элемента, сумма...


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

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru