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

Задача: Необычные цифры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Помощь по лабораторке http://www.cyberforum.ru/cpp-beginners/thread652318.html
Здравствуйте! Пожалуйста, помогите мне с лабораторной работой на C++. Уже пятый день пытаюсь решить и все безрезультатно. Вот текст задачи: Лабораторная работа №1, вариант 18. Для десяти...
C++ DirectX текстуры В общем такая проблема. Есть задача натянуть несколько текстур на ландшафт(который уже сгенерировал), причем необходимо это сделать варьируя прозрачность. Сделать это надо открыв текстуру как... http://www.cyberforum.ru/cpp-beginners/thread652306.html
Как обратиться через указатель к данным, которые он адресует? C++
c++ как обратиться через указатель к данным, которые он адресует?
C++ Заполнение матрицы
Нужна помощь. Заполнить матрицу, от левого нижнего угла по диагонали: слева - вверх. -размерность матрицы должна вводиться при выполнении программы; -решение задачи должно быть оформлено в виде...
C++ Передача массива в подпрограмму http://www.cyberforum.ru/cpp-beginners/thread652284.html
задаю массив глобально r вот так вызываю подпрограмму pg(0,-1,0, r); сама подрограмма void pg(int v,int l, int t, int r) { int j;
C++ Клиент для MS SQL Server 2008 Доброго времени суток! Нам в универе дали задание, написать программу (Клиент - Сервер) для работы с БД MS SQL Server 2008. Программа ведет учет техники на комп. складе. Она должна уметь... подробнее

Показать сообщение отдельно
arreke
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 13
15.09.2012, 19:08  [ТС]
Цитата Сообщение от valeriikozlov Посмотреть сообщение
arreke, дайте ссылку на задачу.
1. На первый взгляд условие нечеткое: пишется про цифры, а пример приводят с числами.
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
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
 
int check(int n)
{  
    char str1[256], str2[246];
    char * pch;
    
    sprintf(str1, "%d", n);
    sprintf(str2, "%d", n*n);
    pch = strstr(str2, str1);
    if (pch) return 1;
    return 0;  
} 
 
int main() {  
 
  int n;
  
  do {
    scanf("%d", &n); 
    if (n==0) continue; 
    
    if (check(n)==1) printf("Yes  %d*%d=%d\n", n, n, n*n);
    else printf("No  %d*%d=%d\n", n, n, n*n);
 
  } while (n!=0);
  
  return 0;
}
Добавлено через 13 минут
Вот скрин с сайта универа, где я проверяю задачу, первый и третий пункт, зелёный, то есть скрипт выдаёт правильный результат, во втором пункте красный, то есть не правильно. http://pic.yupoo.com/908187460/CgJMdJoN/bk90o.jpg. Во втором и третьем пункте вводимые данные не показываются, поэтому не знаю что там происходит и где искать ошибку.

Добавлено через 7 минут
Цитата Сообщение от NoMasters Посмотреть сообщение
Ну и n2 лучше объявить как long.
625×625=390625
90625×90625=8212890625

когда ввожу 625 все правильно, а 90625 уже не может обработать, при умножении слишком большая цифра получается, может в этом дело?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru