William Minerva
-
Postagens
6 -
Registro em
-
Última visita
-
Dias Ganhos
2
Tipo de Conteúdo
Fóruns
Treinamentos
Notícias
Artigos
Contribuindo
Profissões
Materiais de estudo
Pesquisa
Downloads
Loja
Eventos
Blogs
Galeria
Posts postados por William Minerva
-
-
20 horas atrás, Fernando Mercês disse:
Opa, na verdade basta uma estrutura (struct) com as coordenadas cartesianas e um código que converta, que você já tem. ?
Algo assim:
struct coord { float x; float y; };
Aí você declara assim:
struct coord c;
Após declarar, você acessa os membros da uma struct com o operador . (ponto). Por exemplo, para colocar valores nos membros:
c.x = 9.1; c.y = 3.4;
Você vai precisar adaptar isso na sua chamada à scanf().
Depois de ter os valores preenchidos na sua struct declarada, é só converter, acessando da mesma maneira e imprimir os resultados. Se já souber usar ponteiros, pode fazer uma função que receba a struct e substitua os valores, ou que receba duas structs (uma com as coordenadas cartesianas e a outra vazia, para preencher as coodernadas polares). Mas se ainda não trabalhou com ponteiros, ou não é exigido pelo exercício, pode fazer na main() mesmo.
Um abraço e boa sorte!
Aah entendi, muito obrigado.
- 1
-
Oi gente, bom dia, tudo bem? Eu preciso fazer um programa que leia uma frase e que em seguida cada letra do texto seja substituída por outra fazendo uma troca de 3 posições. Por exemplo: a letra A vira letra D, a letra B vira letra E e assim por diante. O problema é que o programa que eu construí ela lê apenas uma palavra mas não lê o resto que eu escrevo. Por exemplo: quando eu escrevo a palavra "CACHORRO CANSADO" o programa lê apenas a palavra "CACHORRO" e me retorna "FDFKRUUR" mas não lê a palavra "CANSADO", o programa considera apenas a primeira palavra que eu escrevo, por que isso está acontecendo? Como posso resolver esse problema?
Eu escrevi o programa da seguinte forma:
#include <stdio.h>
#include <string.h>void cifrar( char * saida, const char * entrada, int chave )
{
int i = 0;
int tam = strlen(entrada);for( i = 0; i <= tam; i++ )
{
if( (entrada[i] >= 'a') && (entrada[i] <= 'z') )
{
saida[i] = (((entrada[i] - 'a') + chave) % 26) + 'a';
}
else if( (entrada[i] >= 'A') && (entrada[i] <= 'Z') )
{
saida[i] = (((entrada[i] - 'A') + chave) % 26) + 'A';
}
else
{
saida[i] = entrada[i];
}}
}
void decifrar( char * saida, const char * entrada, int chave )
{
int ch = 0;
int i = 0;
int tam = strlen(entrada);for( i = 0; i <= tam; i++ )
{
if( (entrada[i] >= 'a') && (entrada[i] <= 'z') )
{
ch = (entrada[i] - 'a') - chave;
if( ch < 0 ) ch += 26;
saida[i] = ch + 'a';
}
else if( (entrada[i] >= 'A') && (entrada[i] <= 'Z') )
{
ch = (entrada[i] - 'A') - chave;
if( ch < 0 ) ch += 26;
saida[i] = ch + 'A';
}
else
{
saida[i] = entrada[i];
}}
}int main( int argc, char * argv[] )
{
char original[100];scanf("%s", original);
char cifrado[100];
cifrar( cifrado, original, 3 );
printf("%s", cifrado);
return 0;
-
Oi gente, tudo bem? Eu estou praticando um exercício de programação que pede para fazer um programa que converta coordenadas polares para coordenadas cartesianas, e então eu fiz da seguinte forma:
#include <stdio.h>
#include <string.h>
#include <math.h>int main() {
float r, a;
float x, y;
scanf("%f %f", &r, &a);
x = r * cos(a);
y = r * sin(a);
printf("%.2f %.2f", x, y);
return 0;}
Mas o problema é que eu queria escrever esse programa em forma de estruturas (struct), ou seja, criar um TAD para o ponto cartesiano com os campos x e y e um outro TAD para o ponto polar com os campos r e a. Eu estou tentando e não estou conseguindo, como eu faço? Se alguém puder me ajudar ou dar alguma dica eu ficaria agradecido.
- 1
-
Eu escrevi o seguinte programa:
#include <stdio.h>
#include <stlib.h>int main()
{
int i, j, det;
int matriz[3][3];
for(i=0; i<3; i++) {
for(j=0; j<3; j++) {
scanf("%d", &matriz[i][j]);
}
}
det = (matriz[0][0]*matriz[1][1]*matriz[2][2]) + (matriz[0][1]*matriz[1][2]*matriz[2][0]) + (matriz[0][2]*matriz[1][0]*matriz[2][1])
- ((matriz[0][1]*matriz[1][0]*matriz[2][2]) + (matriz[0][0]*matriz[1][2]*matriz[2][1]) + (matriz[0][2]*matriz[1][1]*matriz[2][0]));
printf("%d", det);
return 0;
}Mas como eu posso ler as matrizes utilizando os comandos while e do-while?
-
Construa um programa que calcule o determinante de uma matriz 3x3 usando Regra de Sarrus. (Usando arranjo bidimensional para para representar os dados e um laço duplo para fazer a leitura da matriz).
Problema com espaço na Cifra de César
em C/C++
Postado
Descobri a solução para o problema, para remover a limitação do scanf() para leitura de espaços, basta apenas usar "scanf(" %[^\n]", s);"